Login | thai-learning | Privacy Policy | About Us |

Thai Learning | ทฤษฎี IS ขั้นสูง | เว็บไทย | สารสนเทศวิทยานิพนธ์ | หนังสือรามคำแหงทั้งหมด | เกี่ยวกับผู้จัดทำ | บทกลอน |
วิชาที่เรียน 1/2555
   เมนูหลักวิชาเรียน 1/2555
   การโปรแกรมเว็บสารสนเทศ ฯ
   การโปรแกรมงานภูมิศาสตร์ ฯ
   โปรแกรมสำหรับงานสารสนเทศ
   อินเตอร์เน็ตและการบริการ สารสนเทศบนเว็บ
   บรรยากาศ เทอม 1-2555
โปรแกรมที่ผมพัฒนาครับ
   เมนูหลักโปรแกรมที่ผมพัฒนา
   ถอดรหัสผ่าน M$-Access
   ระบบการเข้าเรียนและให้คะแนน
   การทำงานของ Adder Logic
   ปรับระดับเสียงโวลุ่ม ด้วย CLI
   เกมส์เลื่อนภาพแสนสนุก vb6
บทความที่ผมเขียนครับ
   เมนูบทความ
   ภาษาซีสำหรับผู้เริ่มต้น
   ไมโครคอนโทรเลอร์เบื้องต้น
   ไมโครคอนโทรลเลอร์จำลอง
   การกำเนิดกระแสไฟฟ้าอย่างง่าย
   ควบคุมแรงดัน 0-220 โวลท์
   Graphics LCD ด้วย CCSC
   การออกแบบ PCB ด้วย Orcad
   การออกแบบ PCB ด้วย Protel
   ไพธอนส่งเมล์ด้วย GPRS
   ไพธอนควบคุม LCD ผ่าน LPT
   ควบคุม LPT ด้วย Labview
   อิมเมจโปรเซสซิ่ง ตอน 1/3
   อิมเมจโปรเซสซิ่ง ตอน 2/3
   อิมเมจโปรเซสซิ่ง ตอน 3/3
   ภาษาซีบนลินุกซ์สมองกลฝังตัว
   การใช้งาน MinGW เบื้องต้น
   ภาษาซี ARM-LPC2368
   ออกแบบ FPGA ด้วย Schematic
   ออกแบบ FPGA ด้วยภาษา VHDL
   ออกแบบ PCB เทคนิค Dryfilm
   เขียนโปรแกรม Python GUI
   การติดตั้ง NumPy 1.6.1
   เขียนไพธอนถอดรหัส MDB
   วิชวลเบสิค ควบคุมกล้อง
   สังเคราะห์ภาพกราฟิก pov-ray
   อิมพอร์ท MySQL ด้วย BigDump
   ติดตั้ง postgresql และ phppgadmin บน centos linux
   การใช้งานเธรดด้วยภาษา PHP
   การสังเคราะห์สีให้ไวยากรณ์ภาษา
   การสร้าง Search Engine
   เขียนไพธอน Client/Server
   การสร้างพาทิชั่นที่ใหญ่กว่า 3TB บนลินุกซ์ (Ubuntu)
   การรันสคริปต์ CGI ด้วยภาษาไพธอน
   การใช้งานคำสั่ง DD บน Ubuntu - Linux
   การใช้งาน Raspberry Pi
   การเอ็กซีคิวส์ + การจัดเรียงแอพฯในลินุกซ์
   X11 ด้วย Xming และ Putty
   TITAN5 บน Ubuntu - Linux
   รหัสจังหวัดทั่วโลก + เรดาร์
   การควบคุมเว็บบราวเซอร์ผ่าน SELENIUM ด้วยภาษาไพธอน
โปรแกรมภาษา
   เมนู VB-Classic
   ฟังก์ชั่น Visual Basic
   คำสั่ง Visual Basic
   ตัวแปรภาษาไพธอน (ขั้นสูง)
   โมดูลต่าง ๆ ภายในภาษาไพธอน
ข่าวสารไอที
   กูเกิ้ลเปิดตัว Tablet 7 นิ้ว
   อินเดีย IIT เปิดตัว Tablet
   RaspBerry PI สมองกลฝังตัว
   คอมพิวเตอร์จิ๋ว
บริการสารสนเทศ
   ไทยเว็บ 2012
   เว็บไทย
   ฐานข้อมูล วิทยานิพนธ์
   รวมคำศัพท์ภาษาไทย
   เคยฟังมั้ย - เพลงมาร์ช มมส
   ประวัติศาสตร์ชาติไทย หลวงปู่ฤาษีลิงดำ
   เพลงน้อมใจปล่อยวาง 1
   เพลงน้อมใจปล่อยวาง 2
   เพลงน้อมใจปล่อยวาง 3
เกี่ยวกับเรา
   เกี่ยวกับผู้ก่อตั้ง
   บทกลอนที่ผมแต่งครับ..
   แลกลิงค์กับเรา ที่นี่
   รายละเอียดแม่ข่าย
   ดาต้าเซนเตอร์ (Data Center)
   เงื่อนไขการใช้งาน

  
 

บทความเรื่อง : อิมเมจโปรเซสซิ่งสำหรับผู้เริ่มต้น (ตอน II )
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม


ในตอนแรกผมเองเข้าใจว่าจะเีขียนบทความนี้ให้จบเลย พอเอาเข้าจริง ๆ กลับใช้เวลาเยอะกว่าที่คิดไว้มาก ดังนั้น คงต้องติดตามตอนต่อ ๆ ไปแล้วล่ะครับ จากที่เคยกล่าวเอาไว้ว่าการประมวลผลภาพ (Image Processing) แบ่งลักษณะการประมวลผลเป็น 3 ลักษณะคือ
• ประมวลผลทีละจุดสี (Pixel Processing)
• ประมวลผลเป็นพื้นที่รอบ ๆ จุดสีหนึ่ง ๆ (Area Processing)
• ประมวลผลเป็นลักษณะของกลุ่มภาพ (Morphology Processing)
วันนี้จะกล่าวถึงหัวข้อแรก และจะยังขาดอีกสองสามเรื่อง คือการทำ Area และ Morphology Processing สำหรับผู้ที่กำลังอ่านบทความตอนนี้ ท่านควรศึกษาความรู้พื้นฐานเรื่อง อิมเมจโปรเซสซิ่งสำหรับผู้เริ่มต้น เสียก่อนซึ่งได้อธิบายถึงเครื่องมือและสิ่งพื้นฐานที่ท่านต้องทราบในเบื้องต้น สำหรับตอนนี้เรามาต่อกันในรายละเอียดของอิมเมจโปรเซสซิ่ง โดยมีรายละเอียดดังต่อไปนี้

ประมวลผลทีละจุดสี (Pixel Processing)
การประมวลผลทีละจุดพิกเซล หรือจุดสีเป็นวิธีการที่เราได้อธิบายไปแล้วในบทความ อิมเมจโปรเซสซิ่งสำหรับผู้เริ่มต้น ในตอนที่แล้ว แต่สำหรับวันนี้จะนำท่านศึกษาเทคนิคการใช้งานส่วนอื่น ๆ ที่เกี่ยวข้องกัน โดยประกอบด้วยเรื่อง
• การปรับความเข้มของภาพ (Intensity Transformation หรือ Luminance Transformation)
• การสลับสีของภาพ (Invert Color หรือ Negative Film)
• การแก้ไขพิเซลด้วยค่าแกมม่า (Gamma Correction Transformation)

การปรับความเข้มของภาพ (Intensity Transformation หรือ Luminance Transformation)
ในหัวข้อการปรับความเข้มของภาพเราใช้สมการคณิตศาสตร์ดังภาพต่อไปนี้


หรือ


วิธีการนี้เรียกว่าการเฉลี่ยค่าสีทั้งสามสี คือสีแดง สีเขียว และสีน้ำเงินให้มีค่าเท่า ๆ กัน ขอให้ท่านพิจารณาตัวอย่างต่อไปนี้

ภาพต้นฉบับ : wat_ta_shung.bmp (วัดท่าซุง จังหวัดอุทัยธานี)

ตัวอย่าง การปรับความเข้มของภาพ (Intensity Transformation หรือ
Luminance Transformation)
import Image
def gen(im):
          im_output = Image.new("L",(im.size[0],im.size[1]))
          for i in range(im.size[0]):
                   for j in range(im.size[1]):
                             tmp = im.getpixel((i,j))
                             m = 0.299*tmp[0] + 0.587*tmp[1]+0.114*tmp[2]
                             im_output.putpixel((i,j),m)
          return im_output
im = Image.open("c:\temp\wat_ta_shung.bmp")
m = gen(im)
m.save("c:\\temp\\output01.bmp")

ผลลัพธ์จากการทำ Luminance Transformation : output01.bmp
(วัดท่าซุง จังหวัดอุทัยธานี)
ตัวอย่างด้านบนเป็นการเฉลี่ยค่าสีของแต่ละพิกเซลให้เท่า ๆ กัน โดยภาพผลลัพธ์จะอยู่ในรูปของภาพชนิด Luminance กล่าวคือแต่ละจุดภาพจะมีค่าอยู่ในช่วง 0-255 เท่านั้น และจะมีค่าสีเพียงค่าเดียว ในตัวอย่างด้านบนนี้เราสร้างภาพชนิด Luminance ด้วยคำสั่ง Image.new("L",(im.size[0],im.size[1])) ซึ่่งค่า L ย่อจาก Luminance ภาพที่ผ่านกระบวนการ Intensity Transformation หรือ Luminance Transformation แล้วสามารถแสดงได้ดังภาพ output01.bmp ดังภาพด้านบน

การสลับสีของภาพ (Invert Color)
ในการกลับค่าสีนั้น ใช้สมการคณิตศาสตร์ดังภาพต่อไปนี้

เมื่อ r แทน ภาพต้นฉบับ
     s แทน ภาพภายหลังผ่านกระบวนการทำ Invert Color

ขอให้ท่านพิจารณาตัวอย่างการเขียนโปรแกรมต่อไปนี้

ภาพต้นฉบับ : wat_ta_shung2.bmp (วัดท่าซุง จังหวัดอุทัยธานี)

ตัวอย่าง การสลับสีของภาพ (Invert Color)
import Image
im = Image.open("c:\\temp\\wat_ta_shung2.bmp")
def gen(im):
          for i in range(im.size[0]):
                   for j in range(im.size[1]):
                             tmp = im.getpixel((i,j))
                             tmp = list(tmp)
                             tmp[0] = 256-1 - tmp[0]
                             tmp[1] = 256-1 - tmp[1]
                             tmp[2] = 256-1 - tmp[2]
                             tmp = tuple(tmp)
                             im.putpixel((i,j),tmp)
          return im
im = Image.open("c:\\temp\\wat_ta_shung02.bmp")
m = gen(im)
m.save("c:\\temp\\output02.bmp")

ผลลัพธ์ของการการสลับสีของภาพแสดงได้ดังภาพต่อไปนี้

ผลลัพธ์จากการสลับสีของภาพ
จากตัวอย่างด้านบนนี้ ท่านจะพบว่า พื้นที่ใดที่มืดจะกลับกลายเป็นสว่างขึ้นมา ส่วนพื้นที่สว่างจะเปลี่ยนเป็นมืดแทน

การแก้ไขพิเซลด้วยค่าแกมม่า (Gamma Correction Transformation)
การปรับแก้ไขแบบนี้เป็นการชดเชยค่า Gamma หรือ Gamma Correction Transoformtion) ขอให้ท่านพิจารณาสมการคณิตศาสตร์ของ Gamma Correction ดังภาพต่อไปนี้ื

เมื่อ r แทน ภาพต้นฉบับ
     s แทน ภาพภายหลังผ่านกระบวนการทำ Gamma หรือ Gamma Correction Transoformtion)

ถ้า ค่า Gamma อยู่ในช่วง 0 ถึง 1 การแปลงแบบนี้มีลักษณะเส้นโค้งแบบเอ็กซ์โปแนนเชียล (Exponential)
    ค่า Gamma มีค่า 1 ภาพภายหลังการผ่านการทำ Invert Color จะไม่เปลี่ยนแปลง ยังคงรักษารูปฟอร์มเดิมไว้ได้
    ค่า Gamma มีคามากกว่า 1 ลักษณะเส้นโค้งจะเป็นแบบล็อการิทึม

ขอให้ท่านพิจารณาตัวอย่างการเขียนโปรแกรมสำหรับ Gamma หรือ Gamma Correction Transoformtion) ต่อไปนี้

ภาพต้นฉบับ : phoo_ya.bmp (ท่านปู่-ท่านย่า)

ตัวอย่าง การแก้ไขพิเซลด้วยค่าแกมม่า
(Gamma Correction Transformation)
import Image
def gen(im,Gamma):
          for i in range(im.size[0]):
                   for j in range(im.size[1]):
                             tmp = im.getpixel((i,j))
                             tmp = list(tmp)
                             tmp[0] = int(pow(tmp[0]/255.0,Gamma) * 255)
                             tmp[1] = int(pow(tmp[1]/255.0,Gamma) * 255)
                             tmp[2] = int(pow(tmp[2]/255.0,Gamma) * 255)
                             tmp = tuple(tmp)
                             im.putpixel((i,j),tmp)
          return im
im = Image.open("c:\\temp\\phoo_ya.bmp")
m = gen(im,0.32)
m.save("c:\\temp\\output03_1.bmp")

im = Image.open("c:\\temp\\phoo_ya.bmp")
m = gen(im,0.63)
m.save("c:\\temp\\output03_2.bmp")

ผลลัพธ์จากการทำ
Gamma Correction :
กำหนด Gamma = 0.32
ผลลัพธ์จากการทำ
Gamma Correction :
กำหนด Gamma = 0.63
จากภาพด้านบนนี้ ท่านโปรดอย่าสงสัยว่าทำไมค่า Gamma ต้องมีค่าเป็น 0.32 หรือ 0.63 เพราะค่าดังกล่าวเป็นค่า Gamma ที่ท่านสามารถกำหนดได้ด้วยตนเอง ยิ่งกำหนดค่ามากขึ้นเข้าใกล้หนึ่งเพียงเท่าใด ภาพจะยิ่งคงสภาพเหมือนต้นฉบับเพียงนั้น !!


การกระทำทางลอจิกพื้นฐาน เช่น AND, OR และ Exclusive OR (XOR)
ในการทำงานบนพื้นฐาน AND, OR และ Exclusive OR (XOR) นั้น ท่านต้องเข้าใจว่าเรากำลังพิจารณาพิกเซลสองพิกเซล เพื่อมากระทำด้วยลอจิกที่ได้กล่าวไป โดยพิจารณาว่า ที่ตำแหน่งพิกเซลปัจจุบัน ให้ท่านเลื่อนไปทางขวาหนึ่งพิกเซล โดยเราจะเรียกพิกเซลที่อยู่ติดกับเราทางขวามือว่า พิกเซล B และเรียกพิกเซลที่ตำแหน่งปัจจุบันว่า พิกเซล A เมื่อเรากระทำการลอจิกเสร็จเรียบร้อยแล้ว ผลลัพธ์จะนำไปเก็บไว้ในส่วนภาพหลังการประมวลผลด้วยวิธีดังกล่าวนี้ ในตำแหน่งที่สอดคล้องกับพิกัด A ท่านจะพบว่าวิธีการนี้เมื่อเลื่อนพิกเซล A ไปด้านขวามือสุด เราจะไม่พบพิกเซล B เพราะมันเป็นขอบเขตความกว้างของภาพแล้ว ดังนั้น นักโปรแกรมเมอร์สามารถเลื่อนพิกเซล A ไปถึงความกว้างของภาพ - 1 หรืออาจจะไปเอาพิกเซลในแถวถัดไปได้ ตามความต้องการของท่าน

พิจารณา A อยู่ที่ตำแหน่ง (0,0) พิจารณา A อยู่ที่ตำแหน่ง (1,0) พิจารณา A อยู่ที่ตำแหน่ง (2,0) พิจารณา A อยู่ที่ตำแหน่ง (5,3)

ขอให้พิจารณาตัวอย่างการทำลอจิก AND, OR และ Exclusive Or ดังต่อไปนี้

ภาพต้นฉบับ : sarerigata.bmp (พระบรมสารีริกธาตุ พระพุทธเจ้า ณ วัดท่าซุง)
ก่อนจะกล่าวเรื่องอิมเมจโปรเซสซิ่งต่อไป ตอนนี้ผมได้เลือกเอาภาพพระสารีริกธานเป็นภาพตัวอย่างในการทำอิมเมจโปรเซสซิ่ง ถึงตอนนี้ ผมอยากเล่าอะไรบางอย่างให้ฟังเกี่ยวกับพระสารีริกธาตุ สักเล็กน้อย เมื่อก่อนนั้นผมเข้าใจว่าเป็นเรื่องเหลวไหล หลอกเด็กกันอย่างแน่แท้ ความเชื่อโง่ ๆ อย่างนั้นเป็นอยู่มาสามสิบกว่าปี ทั้งพ่อแม่ผมเองก็ไม่เชื่อ ว่ากระดูกพระพุทธเจ้าจะปรากฎได้อย่างไรกัน หลอกเด็กแหง๋ ๆ สรุปแล้วนั่นคือความไม่รู้ อวิชชามันบังตัวเองอยู่นาน ตอนนี้ถึงมาเข้าใจแล้วว่าพระบรมสารีริกธาตุจะปรากฎเฉพาะต่อผู้รักษาศีลและประพฤติทานบารมีอยู่เป็นประจำ เอาล่ะเพื่อน ๆ ทั้งหลาย ถ้าไม่เชื่อว่ามีจริงก็ต้องพิสูจน์ ทำอย่างไรนั่นหรือ ก็ให้เพื่อน ๆ น้อง ๆ รักษาศีลห้าให้บริสุทธิ์ สำหรับคนที่มีสามีภรรยาแล้วก็ อย่าไปมีบ้านเล็กบ้านน้อย ถวายสังฆทานเป็นปกติ (ค่า Default ของการถวายสังฆทาน = 4 ครั้งต่อเดือน หรือสัปดาห์ละหนึ่งครั้ง) เอาล่ะเลือกภาพนี้มาเพื่อนำมาเป็นเกร็ดความรู้ เล่าให้ฟังกันนะครับ เข้าเรื่องการประมวลผลภาพกันต่อไป

ขอให้ท่านพิจารณาการเขียนโปรแกรมด้านอิมเมจโปรเซสซิ่งสำหรับกระทำลอจิก AND ต่อไปนี้
ตัวอย่าง การกระทำทางลอจิก AND
import Image
def MyLogic_AND(im):
          im_output = Image.new("RGB" ,(im.size[0],im.size[1]))
          for i in range(im.size[0]-1):
                   for j in range(im.size[1]-1):
                             A = im.getpixel((i,j))
                             B = im.getpixel((i+1,j))
                             A = list(A)
                             B = list(B)
                             tmp = [0,0,0]
                             tmp[0] = A[0] & B[0]
                             tmp[1] = A[1] & B[1]
                             tmp[2] = A[2] & B[2]
                             tmp = tuple(tmp)
                             iim_output.putpixel((i,j),tmp)
          return im_output

ขอให้ท่านพิจารณาการเขียนโปรแกรมด้านอิมเมจโปรเซสซิ่งสำหรับกระทำลอจิก OR ต่อไปนี้
ตัวอย่าง การกระทำทางลอจิก OR
import Image
def MyLogic_OR(im):
          im_output = Image.new("RGB" ,(im.size[0],im.size[1]))
          for i in range(im.size[0]-1):
                   for j in range(im.size[1]-1):
                             A = im.getpixel((i,j))
                             B = im.getpixel((i+1,j))
                             A = list(A)
                             B = list(B)
                             tmp = [0,0,0]
                             tmp[0] = A[0] & B[0]
                             tmp[1] = A[1] & B[1]
                             tmp[2] = A[2] & B[2]
                             tmp = tuple(tmp)
                             iim_output.putpixel((i,j),tmp)
          return im_output

ขอให้ท่านพิจารณาการเขียนโปรแกรมด้านอิมเมจโปรเซสซิ่งสำหรับกระทำลอจิก XOR ต่อไปนี้
ตัวอย่าง การกระทำทางลอจิก Exclusive OR (XOR)
import Image
def MyLogic_XOR(im):
          im_output = Image.new("RGB" ,(im.size[0],im.size[1]))
          for i in range(im.size[0]-1):
                   for j in range(im.size[1]-1):
                             A = im.getpixel((i,j))
                             B = im.getpixel((i+1,j))
                             A = list(A)
                             B = list(B)
                             tmp = [0,0,0]
                             tmp[0] = A[0] | B[0]
                             tmp[1] = A[1] | B[1]
                             tmp[2] = A[2] | B[2]
                             tmp = tuple(tmp)
                             iim_output.putpixel((i,j),tmp)
          return im_output

การเรียกใช้ฟังก์ชั่นต่าง ๆ ที่ได้สร้างขึ้นสามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง การเรียกใช้ฟังก์ชั่น MyLogic_AND(), MyLogic_OR และ MyLogic_XOR()
im = Image.open("c:\\temp\\phoo_ya.bmp")
m = MyLogic_AND(im,0.32)
m.save("c:\\temp\\output03_1.bmp")

m = MyLogic_OR(im,0.63)
m.save("c:\\temp\\output03_2.bmp")

m = MyLogic_XOR(im,0.63)
m.save("c:\\temp\\output03_2.bmp")

ผลลัพธ์จากการเรียกฟังก์ชั่น
MyLogic_AND()
ผลลัพธ์จากการเรียกฟังก์ชั่น
MyLogic_OR()
ผลลัพธ์จากการเรียกฟังก์ชั่น
MyLogic_XOR()

ทดสอบกระบวนการ AND, OR และ XOR ด้วยภาพเจ้าพระยาโกษาปาน และขุนหลวงชุมพร
ผมนำภาพของบุคคลสำคัญทั้งสองมาเป็นภาพต้นฉบับในการทำลอจิก AND และ OR นี้เพราะอยากให้เพื่อน ๆ น้อง ๆ ชาวไทย เคารพและภูมิใจในความเป็นคนไทย เรามีประวัติศาสตร์ที่ที่ยิ่งใหญ่ เรามีพระบรมศาสนาที่ยิ่งใหญ่ เรามีพระมหากษัตริย์ที่ปรารถนาโพธิญาณ เรามีพระศรีอาริยเมตไตย ในเบื้องหน้า.. นี่ผมพูดอะไรไปไกลมาก เอาเป็นว่ากลับมาเข้าเรื่องของเรากันต่อครับ !!

ภาพต้นฉบับ : prayakosa_pan_khunluang_chumpon.bmp
(รูปปั้นเจ้าพระยาโกษาปาน และขุนหลวงชุมพร ณ วัดท่าซุง จ.อุทัยธานี)
- เจ้าพระยาโกษาปาน
- ขุนหลวงชุมพร

ตัวอย่าง การกระทำทางลอจิกพื้นฐาน เช่น AND และ OR
im = Image.open("c:\\temp\\prayakosa_pan_khunluang_chumpon.bmp")
m = MyLogic_AND(im)
im = Image.open("c:\\temp\\prayakosa_pan_khunluang_chumpon.bmp")

im = Image.open("c:\\temp\\prayakosa_pan_khunluang_chumpon.bmp")
m = MyLogic_OR(im)
m.save("c:\\temp\\or.bmp")

im = Image.open("c:\\temp\\prayakosa_pan_khunluang_chumpon.bmp")
m = MyLogic_XOR(im)
m.save("c:\\temp\\xor.bmp")

ผลลัพธ์จากการเรียกฟังก์ชั่น
MyLogic_AND()
ผลลัพธ์จากการเรียกฟังก์ชั่น
MyLogic_OR()

ท่านจะพบว่า แม้เราจะใช้ภาพต้นฉบับอย่างไรก็ตาม เมื่อนำมาผ่านกระบวนการเดียวกันจะให้ผลลัพธ์ในลักษณะเดียวกัน จะต่างกันเพียงลักษณะรูปร่างของภาพแต่ละแหล่งเท่านั้น เอาเป็นว่าบทความนี้ขอยุติด้วยประการเท่านี้ ในโอกาสหน้าจะพาท่านไปศึกษาการหัวข้อถัดไป คือ การประมวลผลเป็นพื้นที่รอบ ๆ จุดสีหนึ่ง ๆ (Area Processing) และการประมวลผลในลักษณะของกลุ่มภาพ (Morphology Processing) ในหัวข้อดังกล่าว ท่านจะได้พบคำศัพท์ใหม่ ๆ เช่น Convolution, Low Pass, High Pass เป็นต้น นอกจากนั้น บทความครั้งต่อไปจะกล่าวถึง การตรวจหาขอบเขตของวัตถุภายในภาพอีกด้วย สำหรับวันนี้ขอยุติการเขียนบทความไว้เพียงเท่านี้ ขอความสวัสดีมีแด่เพื่อน ๆ น้อง ๆ ที่รักทุกท่าน สวัสดี !!

แหล่งอ้างอิง
- อิมเมจโปรเซสซิ่งสำหรับผู้เริ่มต้น
- คู่มือการเขียนโปรแกรมวินโดวส์ขั้นสูงด้วย Visual C++
- คู่มือไพธอน http://www.python.org
- คู่มือการใช้งาน PIL (Python Image Library)
- สมการคณิตศาสตร์ โดย MathCAD 5.0
- แต่งภาพต่าง ๆ โดย Photoshop
- กล้อง Canon
- วัดท่าซุง (วัดจันทราราม) จังหวัดอุทัยธานี พระราชพรหมยาน (หลวงปู่ฤาษีลิงดำ)







All trademarks and trade names are the property of their respective owners and used here for identification purposes only.
Privacy Policy | Terms of service | Report a Policy Violation (0.0066 sec)