Pixel and Color
Pixel
พิกเซล (Pixel) เป็นส่วนประกอบสำคัญของรูปภาพ ทุกภาพประกอบด้วยชุดพิกเซล โดยปกติพิกเซลถือเป็น "สี" หรือ "ความเข้ม" ของแสงที่ปรากฏในสถานที่ที่กำหนดในภาพ ถ้าคิดว่ารูปภาพเป็นตารางสี่เหลี่ยมจัตุรัสแต่ละช่องในตารางจะมีพิกเซลเดียว
พิกเซลส่วนใหญ่แสดงเป็นสองลักษณะ คือ ระดับสีเทา (Gray scale) และสี (RGB) ในภาพระดับสีเทาแต่ละพิกเซลมีค่าระหว่าง 0 ถึง 255 โดยที่ค่า 0 จะตรงกับ "ดำ" และ 255 เป็น "สีขาว"

ภาพสี (RGB) ในหนึ่งพิเซลจะประกอบไปด้วย 3 ค่า คือ สีแดง (Red) สีเขียว (Green) และสีน้ำเงิน (Blue) โดยทั้งสามค่าจะมีค่าความเข้มอยู่ในช่วง 0 ถึง 255 เช่นเดียวกับภาพระดีบสีเทา สามารถเขียยนให้อยู่ในรูป tuple ได้ดังนี้ (R,G,B)
หากเปรียบเทียบภาพเป็นตาราง จุดพิกัดเริ่มต้น (0,0) ของภาพจะอยู่ที่มุมซ้ายบน และจุดพิกัดสุดท้าย (x,y) ของภาพจะอยู่ที่มุมล่างขวาของภาพ ซึ่งจุดพิกัดสุดท้ายจะมีขนาดเท่ากับขนาดของภาพเสมอ ดังภาพตัวอย่างต่อไปนี้
Example:
import cv2
import imutils
image = cv2.imread("path/your/image.jpg")
image = imutils.resize(image,width=400)
(h, w) = image.shape[:2]
(b, g, r) = image[0, 0]
print("Pixel at (0, 0) - Red: {r}, Green: {g}, Blue: {b}".format(r=r, g=g, b=b))
image[0, 0] = (0, 0, 255)
(b, g, r) = image[0, 0]
print("Pixel at (0, 0) - Red: {r}, Green: {g}, Blue: {b}".format(r=r, g=g, b=b))
cv2.imshow("Original", image)
cv2.waitKey(0)
บรรทัดที่ 1-2 : การเรียกใช้ไลบารี่ที่เกี่ยวข้อง
บรรทัดที่ 6 : รับตัวแปรขนาดลำดับที่ 0 และลำดับที่ 1 ของภาพ โดยที่ขนาดของภาพจะถูกเก็บในลักษณะอาร์เรย์ ซึ่งจะเรียงจาก ความสูง (h) ความกว้าง (w) และช่องสีของภาพ (3 สี) ตามลำดับ
บรรทัดที่ 8 รับตัวแปรค่าสีที่ตำแหนงเริ่มต้น (0,0) ของภาพ โดยค่าสีของภาพจะถูกเก็บในลักษณะอาร์เรย์ ซึ่งจะเรียงจาก สีน้ำเงิน (Blue) สีเขียว (Green) และสีแดง (Red) ตามลำดับ

Conversion Color
การแปลงภาพจากพื้นที่สีหนึ่งไปยังอีกที่หนึ่ง
$ cv2.cvtColor(image, flag)
Parameter:
image => ภาพที่ต้องการนำมาใช้งาน
flag => กำหนดประเภทของการแปลง
Example:
import cv2
import imutils
image = cv2.imread("path/your/image.jpg")
image = imutils.resize(image,width = 400)
cv2.imshow("Original",image)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray Scale",gray)
cv2.waitKey(0)

Last updated
Was this helpful?