Monday, February 18, 2013

การอ่านภาพและแสดงผลภาพ

มาดูความง่ายของ Python+OpenCV ในการการอ่านภาพและแสดงผลภาพกันครับ


สมมติว่าเรามีไฟล์รูป lena.jpg ที่เดียวกับโค้ดของเราครับ

ก่อนอื่น ถ้าเราใช้ PyScripter เพื่อเขียนโค้ด Python เราอาจจะกำหนดให้ตัว IDE นี้รู้จักโค้ดของ OpenCV โดยกำหนดดังนี้

เลือกเมนู Tools / Options / IDE Options ... แล้วพิมพ์เพิ่มตรง Special packages ว่า ",cv2" ดังรูป

จากนั้นก็เขียนโค้ดแบบนี้ได้เลยครับ
#import OpenCV
import cv2

#Read image file
img = cv2.imread("lena.jpg",cv2.CV_LOAD_IMAGE_UNCHANGED)

#Check if image is loaded
if img==None:
    print "Image is not loaded."
else:
    #create window for output
    cv2.namedWindow("Image Output")
    #show image in this window
    cv2.imshow("Image Output",img)
    #wait for user to press any key
    cv2.waitKey();
    #close all windows
    cv2.destroyAllWindows();

หมายเหตุ
คำสั่ง cv2.imread สามารถกำหนดรูปแบบการอ่านรูปได้ 3 แบบคือ

  • CV_LOAD_IMAGE_UNCHANGED (น้อยกว่า 0) อ่านรูปตามต้นฉบับ รวมถึง alpha channel ด้วยถ้ามี
  • CV_LOAD_IMAGE_GRAYSCALE (0) อ่านรูปให้เป็นสีเทา
  • CV_LOAD_IMAGE_COLOR (มากกว่า 0) อ่านรูปให้เป็น RGB format

6 comments: