Skip to content

เริ่มต้น OpenCV 3 กับ Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปแนะนำการใช้งาน OpenCV กับ Python 3 กันครับ

เมื่อไม่กี่วันนี้ (4/6/2015) ทาง OpenCV ได้ปล่อย OpenCV 3.0 ออกมา โดยได้เพิ่มการสนับสนุน Python เวชั่น 3 ทั้งบน Windows , Mac OS และลินุกซ์ออกมาแล้วครับ อ่านรายละเอียดได้ที่ http://opencv.org/opencv-3-0.html

วิธีการติดตั้ง OpenCV 3 กับ Python 2
สำหรับผู้ใช้งาน Python 2.7 บน Windows สามารถเข้าไปโหลดไฟล์ติดตั้ง OpenCV มาจาก http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download แล้วทำการแตกไฟล์

จะได้โฟลเลอร์ opencv แล้วเข้าไปที่ opencv\build\python\2.7 เลือกรุ่นให้ตรงกับ Python

แล้วทำการก็อปไฟล์ cv2.pyd ไปไว้ที่ C:\Python27\Lib\site-packages\
แล้วเปิด Python IDLE ลอง

import cv2

เข้ามาครับ

วิธีการติดตั้ง OpenCV 3 กับ Python 3
เริ่มต้น OpenCV 3 กับ Python สำหรับผู้ใช้งาน Python 3.4 บน Windows สามารถโหลดไฟล์ whl มาติดตั้งได้จาก http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv ครับ เลือกเวชั่นให้ตรงกับรุ่นของ Python เช่น ผมใช้ Python 3.4 64 bit ผมเลยโหลดไฟล์ opencv_python-3.0.0-cp34-none-win_amd64.whl มาครับ
เปิดคอมมาไลน์เข้าไปยังโฟลเลอร์ที่เก็บไฟล์ whl ที่โหลดมา แล้วใช้คำสั่งติดตั้ง

pip install ไฟล์.whl

หรือใช้คำสั่ง
pip install opencv-python
สำหรับผู้ใช้ Debian/Ubuntu สามารถอ่านวิธีติดตั้งได้จากบทความ ติดตั้ง OpenCV ใน Python 3 บน Debian/Ubuntu
สำหรับผู้ใช้งาน Mac OS สามารถอ่านวิธีติดตั้งได้จากเว็บ http://www.mobileway.net/2015/02/14/install-opencv-for-python-on-mac-os-x/ ครับ

ลองเล่น OpenCV 3 กับ Python

เมื่อทำการติดตั้งเสร็จแล้วเราไปลองเขียนโปรแกรมโชว์เว็บแคมด้วย OpenCV 3 + Python กันครับ

import cv2

def show_webcam(mirror=False):
  cam = cv2.VideoCapture(0)
  while True:
    ret_val, img = cam.read()
    if mirror: 
        img = cv2.flip(img, 1)
    cv2.imshow('my webcam', img)
    if cv2.waitKey(1) == 27: 
        break  # กด esc เพื่อออก
    cv2.destroyAllWindows()

show_webcam(mirror=True)

ผลลัพธ์

เริ่มต้น OpenCV 3 กับ Python

อ่านเอกสารการใช้งาน OpenCV 3 + Python ได้ที่ https://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_tutorials.html และ http://opencvpython.blogspot.com/
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

Published on Categories ไม่มีหมวดหมู่Tags

About wannaphong

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

15 thoughts on “เริ่มต้น OpenCV 3 กับ Python

  1. ans

    ผมลองแล้วเป็นอย่างนี้ แก้ยังไงดีครับ

    >>> import cv2
    RuntimeError: module compiled against API version a but this version of numpy is 9
    Traceback (most recent call last):
    File "", line 1, in
    import cv2
    ImportError: numpy.core.multiarray failed to import
    >>>

    Reply
  2. ans

    ถามครับ ลองแล้วได้อย่างนี้แก้ไขยังไงครับ

    >>> import cv2
    RuntimeError: module compiled against API version a but this version of numpy is 9
    Traceback (most recent call last):
    File "", line 1, in
    import cv2
    ImportError: numpy.core.multiarray failed to import
    >>>

    Reply
  3. Panuwat

    สอบถามครับ
    import cv2
    cv2.__version__
    '3.0.0'
    แต่ใช้อันนี้ไม่ได้
    recognizer=cv2.createLBPHFaceRecognizer()
    AttributeError: 'module' object has no attribute 'createLBPHFaceRecognizer'

    Reply
    1. wannaphong

      OpenCV มีการปรับเปลี่ยน API ครับ
      ใช้

      recognizer=cv2.face.createLBPHFaceRecognizer()

      แทนครับ
      ขอบคุณครับ

      Reply
      1. Panuwat

        import cv2
        recognizer=cv2.face.createLBPHFaceRecognizer()
        File "", line 1, in
        recognizer=cv2.face.createLBPHFaceRecognizer()
        AttributeError: 'module' object has no attribute 'face'

        ต้องinstall contrid ก่อนไหมครับ ถ้าต้องลงก่อนต้องลงแบบไหนครับ

        Reply
          1. Panuwat

            ตอนนี้ก็ใช้ pip install opencv-python3.2.0 แล้วครับ แต่ก็ยัง เป็นแบบนี้อยู่
            recognizer=cv2.face.createLBPHFaceRecognizer()
            AttributeError: 'module' object has no attribute 'face'

  4. Panuwat

    ขอบคุณครับ ตอนนี้เปลี่ยนเป็น install opencv2.4 แทน แล้วก็ใช้
    recognizer=cv2.createLBPHFaceRecognizer() ได้แล้วครับ

    Reply
  5. alongkorn

    runแล้ว error -->
    OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /io/opencv/modules/highgui/src/window.cpp, line 325
    Traceback (most recent call last):
    File "cv.py", line 14, in
    show_webcam(mirror=True)
    File "cv.py", line 9, in show_webcam
    cv2.imshow('my webcam', img)
    cv2.error: /io/opencv/modules/highgui/src/window.cpp:325: error: (-215) size.width>0 && size.height>0 in function imshow

    Reply
  6. alongkorn

    โค้ด -->
    เมื่อทำการติดตั้งเสร็จแล้วเราไปลองเขียนโปรแกรมโชว์เว็บแคมด้วย OpenCV 3 + Python กันครับ
    <--ตรงนี้นะ

    Reply

ใส่ความเห็น

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