Skip to content

จับภาพจากกล้องหรือเว็บแคมส์ด้วย PyGame ใน Python 3

  ในการจับภาพจากกล้องหรือเว็บแคมส์ใน Python นั้น จะมีโมดูลที่ชื่อว่า OpenCV แต่ตอนนี้เวชั่นเสถียนยังไม่รองรับ Python 3 ดังนั้นผมจึงได้ไปค้นข้อมูลต่าง ๆ จนพบว่า เราสามารถจับภาพจากกล้องเว็บแคมส์ด้วย PyGame ใน Python 3 ได้ครับ

ในบรรดาโมดูลที่ทำงานเกี่ยวข้องกับกล้องหรือเว็บแคมส์ใน Python นั้น ผมได้ค้นแล้วได้ข้อมูลตามนี้

เวชั่น Python   2.7  3.2  3.3  3.4  LINUX  WIN32
-------------------------------------------------------
OpenCV        YES   *    *    *   YES  YES
PyGame        YES  YES  YES  YES  YES    YES
SimpleCV      YES   -    -    -   YES  YES
VideoCapture YES   -    -    -    -     YES

* คือ เวชั่น beta
จะเห็นได้ว่าโมดูลที่รองรับใน Python 3 มีแค่ไม่กี่โมดูล ในบทความนี้ขอเลือกโมดูล PyGame ครับ
โมดูล PyGame เป็นโมดูลด้านการสร้างเกม แต่เราก็สามารถนำมาใช้งานอย่างอื่นได้เหมือนกัน

การติดตั้งโมดูล PyGame ใน Python 3

สำหรับบน Linux ใช้คำสั่ง

pip install hg+https://bitbucket.org/pygame/pygame

สำหรับบน Windows ให้โหลดไฟล์ติดตั้งจาก http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame
หรือจะโหลดโค้ดมาติดตั้งเองได้จาก https://bitbucket.org/pygame/pygame

ลงมือจับภาพจากกล้องหรือเว็บแคมส์ด้วย PyGame ใน Python 3

ในโมดูล  PyGame จะมีโมดูลย่อยติดมาด้วยที่ชื่อว่า pygame.camera เป็นโมดูลเกี่ยวกับกล้อง เช่น การจับภาพ และอื่น ๆ เมื่อจับภาพได้แล้ว เราต้องมีการบันทึกภาพที่ได้จับภาพต้องมีการเรียกใช้ pygame.image.save เพื่อบันทึกไฟล์รูปภาพ มาลงมือเขียนโปรแกรมกันเลยครับ

import pygame
import pygame.camera

pygame.camera.init()
cam = pygame.camera.Camera(0,(640,480)) # กว้าง 640 pix, ยาว 480 pix
cam.start()
img = cam.get_image()
pygame.image.save(img,"filename.jpg")

เมื่อเรียกใช้โปรแกรมที่เขียนนี้จะพบว่าจะได้ไฟล์ filename.jpg เปิดเข้าไปจะเป็นภาพที่มาจากกล้องหรือเว็บแคมส์จากคอมของคุณ

ศึกษารายละอียดการใช้งาน  pygame.camera เพิ่มเติมได้ที่ http://www.pygame.org/docs/ref/camera.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories GUITags

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

1 thought on “จับภาพจากกล้องหรือเว็บแคมส์ด้วย PyGame ใน Python 3

  1. ิBenz

    - ชอบบทความพี่มากเลยมันทำให้คนที่กำลังเริ่มต้นศึกษาอย่างผมทำได้ง่ายขึ้น
    แจ่มคับ ตอนนี้ผมกำลังจะทำเครื่องตรวจจับ PCB ว่ามีอุปกรณ์ชิ้นไหนที่มันหายไปบ้าง
    ถ้ายังไงก็ขอคำแนะนำหน่อยคับ ขอบคุณล่วงหน้าคับ

    Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *