Page 156 - python
P. 156
130
บทที่ 11
การเขียนโปรแกรมภาษาไพธอนในงานประมวลผลภาพ
แนวคิด
ิ
ิ
คอมพวเตอรกราฟก (Computer Graphic) คือ การสรางภาพจากการไมมีสิ่งของอยูจริงเกดจาก
การคํานวณดวยคุณสมบัติของผิวและการตกกระทบแสงดวยการคํานวณ ไดแก โปรแกรม Maya,
Sketchup, 3dmax ฯลฯ อมเมจโปรเซสซิ่ง (Image Processing) ทํางานตรงขามกบคอมพิวเตอรกราฟก
ิ
ั
ิ
คือ นําภาพที่มีอยูแลวมาผานการประมวลผลบางอยางเพื่อใหเกดเปนภาพใหม เชน ภาพที่มีความชัด
เพมขน ภาพเบลอ หรอการคํานวณหาเสนขอบภายในภาพ ฯลฯ ไดแก โปรแกรม Photoshop เปนตน
้
ึ
ื
่
ิ
ี่
ในบทนี้จะนําเสนอเนื้อหาเกยวกบ พกเซลบนจอภาพคอมพวเตอร (Pixel) โมเดลภาพแบบ RGB
ั
ิ
ิ
(Red Green Blue) การเขียนจุด เสนตรงและวงกลม (Output primitive) การบวกและลบคาสี การแยก
ี
ื่
และรวมสี RGB การกลับสีภาพ (Invert Color) การเขยนโปรแกรมเพอปรับคาแกมมาของภาพ การ
ื้
ระบายพนที่ภายในภาพ การกลับภาพซายขวา/บนลาง คอนโวลูชั่นและเคอรเนล (Convolution และ
Kernel) การตรวจจับใบหนาดวย Haar Cascade การตรวจจับใบหนาดวย MediaPipe การตรวจจับ
ุ
ใบหนาขนาดเล็กดวย Tinyface การตรวจจับวัตถดวย Yolo3 การตรวจจับวัตถุดวย MediaPipe การ
ตรวจจับอิริยาบทและการตรวจจับแลนดมารคของใบหนา
วัตถุประสงค
1. อธิบายการวาดจุดเสนตรงและวงกลมดวย OpenCV ได
2. อธิบายการดําเนินการเกี่ยวกับบิต การรวมสี แยกสี ปรับแกมมาและกลับภาพดวย OpenCV ได
3. อธิบายการทํางานของคอนโวลูชั่นและเคอรเนลได
4. อธิบายการตรวจจับใบหนาดวย Haar Cascade และ Tinyface ได
5. อธิบายการตรวจจับวัตถุดวย Yolo3 ได
ิ
11.1 พกเซลบนจอภาพคอมพิวเตอร (Pixel)
่
ํ
ี
บนหนาจอคอมพวเตอรประกอบดวยสหลัก 3 สี คอ RGB (Red, Geen, Blue) เมือนากลองขยาย
ิ
ื
ิ
ิ
มาทําการขยายหนาจอคอมพวเตอร 1,000 เทาและสงลงไปบริเวณสีขาวบนหนาจอคอมพวเตอรแสดง
ผลลัพธ ดังนี้
ภาพประกอบที่ 11.1 แสดงการเรียงตัวของพิกเซลบนจอภาพคอมพิวเตอร