ในยุคดิจิทัลที่เรามีภาพถ่ายและวิดีโอเป็นสื่อสำคัญในการสื่อสารและแบ่งปันประสบการณ์ การเข้าใจการจัดการและปรับแต่งภาพเป็นทักษะที่มีคุณค่า OpenCV หรือ Open Source Computer Vision Library เป็นหนึ่งในเครื่องมือที่ได้รับความนิยมในการประมวลผลภาพคอมพิวเตอร์ เนื่องจากมีฟังก์ชันหลากหลายและปรับใช้ได้ง่าย บทความนี้จะพาคุณไปทำความรู้จักกับการการจัดการและปรับแต่งภาพโดยเฉพาะการปรับค่าความสว่างและความคมชัดโดยใช้ OpenCV
OpenCV เป็นไลบรารีที่พัฒนาขึ้นเพื่อการประมวลผลภาพและวิดีโอ มีการสนับสนุนภาษาโปรแกรมหลักอย่างเช่น C++, Python และ Java ฟังก์ชันที่ OpenCV รองรับมีตั้งแต่การจับภาพ การวิเคราะห์และเข้าใจภาพ ไปจนถึงการจัดการวัตถุภายในภาพ
ความสว่าง
ความสว่างหรือ Brightness เป็นตัวกำหนดว่าสีของภาพนั้นสว่างหรือมืดเพียงใด การปรับความสว่างที่เหมาะสมสามารถสร้างภาพที่ดูน่าสนใจและมีความชัดเจนเพิ่มขึ้น
ความคมชัด
ความคมชัดหรือ Contrast คือการวัดค่าความแตกต่างระหว่างส่วนที่มืดและสว่างในภาพ การปรับความคมชัดจะช่วยให้รายละเอียดในภาพชัดเจนและโดดเด่นขึ้น
การติดตั้ง OpenCV
เริ่มต้นเราควรติดตั้งไลบรารี OpenCV พร้อมๆ กับ Python คุณสามารถติดตั้ง OpenCV ผ่าน pip ได้ง่ายๆ ด้วยคำสั่ง:
pip install opencv-python
การอ่านและแสดงภาพ
ก่อนที่เราจะทำการปรับแต่งความสว่างและความคมชัด เราจำเป็นต้องสามารถอ่านและแสดงภาพได้ก่อน:
import cv2
# อ่านภาพ
image = cv2.imread('example.jpg')
# แสดงภาพ
cv2.imshow('Original Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
การปรับความสว่าง
การปรับความสว่างของภาพสามารถทำได้โดยการเพิ่มหรือลดค่าพิกเซลในระดับเท่ากันตลอดทั้งภาพ ตัวอย่างโค้ด:
def adjust_brightness(image, value):
# value เป็นจำนวนที่ต้องการเพิ่มหรือลดความสว่าง (-255 ถึง 255)
brightness_adjusted = cv2.convertScaleAbs(image, alpha=1, beta=value)
return brightness_adjusted
bright_image = adjust_brightness(image, 50)
cv2.imshow('Bright Image', bright_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
การปรับความคมชัด
การปรับความคมชัดทำได้โดยการเปลี่ยนเส้น Gradient ของสีในภาพ การใช้ฟังก์ชัน `convertScaleAbs` ช่วยให้ทำการปรับความคมชัดได้ง่าย:
def adjust_contrast(image, alpha):
# alpha คือค่าความคมชัด (ค่ามากกว่า 1 เพิ่มความคมชัด, น้อยกว่า 1 ลดความคมชัด)
contrast_adjusted = cv2.convertScaleAbs(image, alpha=alpha, beta=0)
return contrast_adjusted
contrast_image = adjust_contrast(image, 1.5)
cv2.imshow('Contrast Image', contrast_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
การปรับค่าความสว่างและความคมชัดของภาพถือเป็นส่วนสำคัญในการสร้างภาพที่มีคุณภาพและเหมาะสมกับการใช้งานต่างๆ การศึกษาเรื่องการประมวลผลภาพด้วย OpenCV ไม่เพียงแต่ช่วยให้คุณสามารถสร้างแอปพลิเคชันที่มีประสิทธิภาพเท่านั้น แต่ยังเป็นการพัฒนาทักษะในด้านการเขียนโปรแกรมที่หลากหลาย ใครก็ตามที่สนใจเรื่องการประมวลผลภาพอาจพิจารณาศึกษาต่อเชิงลึกกับ EPT ซึ่งเป็นโรงเรียนที่เชี่ยวชาญด้านการสอนการเขียนโปรแกรมและเทคโนโลยีคอมพิวเตอร์อื่นๆ ที่สามารถต่อยอดทักษะเหล่านี้ได้
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM