โปรแกรมแรก OpenCV Python ด้วย PyCharm

OpenCV (Open source Computer Vision) เป็นไลบรารีฟังก์ชันการเขียนโปรแกรม (Library of Programming Functions) โดยส่วนใหญ่จะมุ่งเป้าไปที่การแสดงผลด้วยคอมพิวเตอร์แบบเรียลไทม์ (Real-Time Computer Vision)

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


1. ติดตั้ง Python เวอร์ชั่น 3.7.6 ลงบน Windows 10


ดาวน์โหลดไฟล์ติดตั้ง Python เวอร์ชัน 3.7.6 (ซึ่งมีความเหมาะสมในการใช้งาน OpenCV) ได้ที่

https://www.python.org/downloads/release/python-376/


เลือก Windows x86-64 executable installer


การติดตั้ง ให้เลือก “Add Python 3.7 PATH” และกดตรง “Install Now”


2. ติดตั้งโปรแกรม PyCharm


โดย PyCharm จัดอยู่ในหมวด IDE (Integrated Development Environment) เพราะว่ามีเครื่องไม้เครื่องมือครบครันแบบ Full option เรียกได้ว่าเป็นหนึ่งในเครื่องมือในการเขียนโปรแกรมมิ่งภาษา Python ที่ดีที่สุดอีกตัวหนึ่ง ซึ่งทางผู้พัฒนาก็คือ Jetbrains บริษัทซอฟต์แวร์ยักษ์ใหญ่สัญชาติเช็ก เจ้าของ IDE ชื่อดังมากมายอีกหลายตัว

ดาวน์โหลดไฟล์ติดตั้ง PyCharm ได้ที่

https://www.jetbrains.com/pycharm/download/#section=windows


เลือกติดตั้งตัวฟรี คือ PyCharm Community


ให้เลือก .py และ Add “bin” folder to the PATH


เลือก Reboot now -> Finish (รีสตาร์ทคอมพิวเตอร์)


3. สร้างโปรเจค และ เพิ่มแพคเก็จ OpenCV


เปิดโปรแกรม PyCharm Community


เลือก New Project

ชื่อโปรเจคตามตัวอย่างคือ pythonProject -> Create


เพิ่มแพคเก็จ OpenCV โดยไปที่ File -> Settings…


ไปที่ Python Interpreter


เลือกเป็น Python 3.7 แล้ว คลิกเครื่องหมาย +


ทีช่องค้นหา พิมพ์ opencv -> คลิกที่ opencv-python -> Install Package


แสดงการติดตั้งสำเร็จ แล้วปิดหน้าต่างลงไป


แสดง แพคเก็จ OpenCV ที่เพิ่มเข้ามา -> OK


4. ทดสอบใช้งาน OpenCV


สร้างไฟล์ Python โดยคลิกขวาที่โฟลเดอร์ venv -> New -> Python File


ตั้งชื่อไฟล์ ในตัวอย่างเป็น test-opencv -> Enter


เขียนโค้ดดังนี้

import cv2
print("Package import")


ทดสอบการทำงานโดย คลิกขวา ในพื้นที่การเขียนโค้ด -> Run ‘test-opencv’


ที่ด้านล่าง แสดง Package import แสดงว่า OpenCV ของเราพร้อมใช้งานกับ Python แล้ว


5 .โปรแกรมแรก OpenCV Python


ดาวโหลดไฟล์วิดีโอ ball_tracking_example.zip

http://www.lungmaker.com/files/ball_tracking_example.zip


คลายซิป แล้วก๊อปปี้ไปที่โฟลเดอร์ venv ของโปรเจค Python

C:\Users\xxxxxxx\PycharmProjects\pythonProject\venv

ที่ไฟล์ test-opencv เขียนโค้ดใหม่ดังนี้

import cv2
import imutils
import time

greenLower = (29, 86, 6)
greenUpper = (64, 255, 255)

vs = cv2.VideoCapture("ball_tracking_example.mp4")
time.sleep(2.0)

while True:
    _, frame = vs.read()

    if frame is None:
        break

    blurred = cv2.GaussianBlur(frame, (11, 11), 0)
    width, height = frame.shape[:2]
    hsv = cv2.cvtColor(blurred, cv2.COLOR_BGR2HSV)
    mask = cv2.inRange(hsv, greenLower, greenUpper)
    mask = cv2.erode(mask, None, iterations=2)
    mask = cv2.dilate(mask, None, iterations=2)
    cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL,
                            cv2.CHAIN_APPROX_SIMPLE)
    cnts = imutils.grab_contours(cnts)
    center = None

    if len(cnts) > 0:
        c = max(cnts, key=cv2.contourArea)
        ((x, y), radius) = cv2.minEnclosingCircle(c)
        M = cv2.moments(c)
        center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))

        # To see the centroid clearly
        if radius > 10:
            cv2.circle(frame, (int(x), int(y)), int(radius), (0, 255, 255), 5)
            cv2.imwrite("circled_frame.png", cv2.resize(frame, (int(height / 2), int(width / 2))))
            cv2.circle(frame, center, 5, (0, 0, 255), -1)

    cv2.imshow("Frame", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

vs.release()
cv2.destroyAllWindows()


Run


แสดงการ Error ว่าไม่พบโมดูล,ชื่อ imutils ซึ่งเป็น library เบื้องต้นของ image processing พวกหมุนภาพ กลับภาพ ปรับขนาด


แก้ไขโดยการ เพิ่มแพคเก็จ imutils โดยขั้นตอนเหมือนกับ การเพิ่มแพคเก็จ OpenCV

โดยไปที่ File -> Settings… -> Python Interpreter -> คลิกเครื่องหมาย +

ทีช่องค้นหา พิมพ์ imutils -> คลิกที่ imutils -> Install Package


แสดงการติดตั้งสำเร็จ แล้วปิดหน้าต่างลงไป


แสดง แพคเก็จ imutils ที่เพิ่มเข้ามา -> OK


Run อีกครั้ง


โปรแกรมจะแสดง วิดีโอ และการติดตามวัตถุ ในที่นี้คือ ลูกบอลสีเขียว แสดงว่าขั้นตอนนี้สำเร็จแล้ว

โปรแกรมแรก OpenCV Python


6. ติดตามวัตถุจากกล้อง webcam


แก้ไขโค้ด บรรทัดที่ 8 จาก

vs = cv2.VideoCapture("ball_tracking_example.mp4")


เป็น

vs = cv2.VideoCapture(0)


ทดสอบ Run จะแสดงการติดตามวัตถุ ในที่นี้คือ ลูกเทนนิส สีเขียว จาก webcam หรือ กล้องบน แล็ปท็อปคอมพิวเตอร์ แสดงว่าขั้นตอนนี้สำเร็จแล้ว

โปรแกรมแรก OpenCV Python

One thought on “โปรแกรมแรก OpenCV Python บน Windows 10”
  1. อยากได้ค่าพิกัดของตำแหน่ง x,y ของจุดสีแดงออกมาเก็บในตัวแปรเพื่อส่งออกให้ MCU ใช้คำสั่งอะไรคับ

Leave a Reply

Your email address will not be published. Required fields are marked *

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save