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

การตรวจจับเส้นขอบในภาพโดยใช้ OpenCV


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

ภาพต้นฉบับ การตรวจจับเส้นขอบในภาพโดยใช้ OpenCV

อัลกอริทึม

Step 1: Import OpenCV.
Step 2: Import matplotlib.
Step 3: Read the image.
Step 4: Convert the image from bgr2rgb.
Step 5: Convert the rgb image to grayscale.
Step 4: Perform thresholding on the image.
Step 5: Find contours on the image.
Step 6: Draw contours on the image.
Step 7: Display the output.

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

import cv2
import matplotlib.pyplot as plt

image = cv2.imread('testimage.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
ret, binary = cv2.threshold(gray, 127,255, cv2.THRESH_BINARY_INV)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

image = cv2.drawContours(image, contours, -1, (0,255,0), 2)
plt.imshow(image)
plt.show()

ผลลัพธ์

การตรวจจับเส้นขอบในภาพโดยใช้ OpenCV