【发布时间】:2016-04-27 13:34:57
【问题描述】:
我一直在尝试识别 Open Cv (python 2.7) 中红色物体的轮廓,我们已经成功识别它们。但是,我想检测红色物体(左或右)的位置,但我没有成功。如果有人能给我这样做的代码或步骤,我将非常感激。
我们目前识别红色物体的代码如下:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(1):
_, frame = cap.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
lower_color = np.array([0, 50, 50])
upper_color = np.array([60, 255, 255])
mask = cv2.inRange(hsv, lower_color, upper_color)
mask = cv2.erode(mask, None, iterations=2)
mask = cv2.dilate(mask, None, iterations=2)
res = cv2.bitwise_and(frame, frame, mask=mask)
cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
cv2.drawContours(frame, cnts, 0, (127, 255, 0), 3)
print cnts
cv2.imshow('frame', frame)
cv2.imshow('mask', mask)
cv2.imshow('res', res)
cv2.imshow('contours', frame)
k = cv2.waitKey(5) & 0xFF
if k == 27:
print "release"
break
cap.release()
cv2.destroyAllWindows()
【问题讨论】:
标签: python-2.7 opencv image-processing automation robotics