def find_robot(im):
hsv = cv2.cvtColor(im, cv2.COLOR_BGR2HSV)
lower = np.array([50, 28, 0])
upper = np.array([60, 168, 255])
mask = cv2.inRange(hsv, lower, upper)
result = cv2.bitwise_and(im, im, mask=mask)
blur = cv2.blur(result, (5, 5))
bw = cv2.cvtColor(blur, cv2.COLOR_HSV2BGR)
bw2 = cv2.cvtColor(bw, cv2.COLOR_BGR2GRAY)
ret, th3 = cv2.threshold(bw2, 30, 255, cv2.THRESH_BINARY)
edges = cv2.Canny(th3, 100, 200)
th4 = copy.copy(th3)
perimeter = 0
j = 0
image, contours, hierarchy = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
cnt = np.array([])
for i in range(len(contours)):
if (perimeter < cv2.contourArea(contours[i])):
perimeter = cv2.contourArea(contours[i])
j = i;
cnt = contours[j]
x = 0
y = 0
for i in range(len(cnt)):
x = x + cnt[i][0][0]
y = y + cnt[i][0][1]
x = x / len(cnt)
y = y / len(cnt)
#print x, y
x = int(x)
y = int(y)
cv2.circle(im, (x, y), 5, (255, 0, 255), 2)
#show_image(im)
return (int(x), int(y))
Artificial-potential-without-controller.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录