Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีแสดงภาพด้วย OpenCV (cv2) ใน Python

OpenCV (cv2) เป็นไลบรารีประมวลผลภาพยอดนิยมใน Python การแสดงภาพพื้นฐานทำได้ด้วย cv2.imread() โหลดภาพ cv2.imshow() แสดงในหน้าต่าง cv2.waitKey() รอปุ่มกด และ cv2.destroyAllWindows() ปิดหน้าต่าง

ขั้นตอนการทำงาน

  1. นำเข้า cv2
  2. โหลดภาพด้วย cv2.imread("filename", flags):
    • cv2.IMREAD_COLOR - สี (ค่าเริ่มต้น)
    • cv2.IMREAD_GRAYSCALE - ขาวดำ
    • cv2.IMREAD_UNCHANGED - รวม Alpha channel
  3. แสดงภาพด้วย cv2.imshow("window_name", image)
  4. รอการกดปุ่มด้วย cv2.waitKey(0) (0 = รอไม่มีเวลา)
  5. ปิดหน้าต่างทั้งหมดด้วย cv2.destroyAllWindows()

ตัวอย่างโค้ด

import cv2

img = cv2.imread("baseball.png", cv2.IMREAD_COLOR)
cv2.imshow("baseball", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

ฟังก์ชันเพิ่มเติมที่มีประโยชน์

ฟังก์ชันคำอธิบาย
cv2.imwrite("out.jpg", img)บันทึกภาพ
cv2.resize(img, (w, h))ปรับขนาดภาพ
cv2.cvtColor(img, cv2.COLOR_BGR2RGB)แปลง BGR→RGB (สำหรับ Matplotlib)
img.shapeขนาดภาพ (height, width, channels)
img.dtypeชนิดข้อมูล (มักเป็น uint8)

การใช้กับ Matplotlib


import cv2
import matplotlib.pyplot as plt

img = cv2.imread("image.jpg")
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img_rgb)
plt.axis('off')
plt.show()

ข้อควรระวัง

  • OpenCV ใช้ลำดับช่องสี BGR (ไม่ใช่ RGB)
  • waitKey(1) ในลูปสำหรับวิดีโอ/Real-time
  • ใน Jupyter Notebook ใช้ cv2_imshow จาก google.colab.patches แทน
  • Headless server ต้องใช้ cv2.imwrite แทน imshow

การประยุกต์ใช้

พื้นฐานของ Computer Vision: การตรวจจับวัตถุ การรู้จักใบหน้า การประมวลผลวิดีโอ Augmented Reality และการวิเคราะห์ภาพทางการแพทย์