python opencv轮廓检测_如何使用Python中的OpenCV检查包含另一个轮廓的轮廓?

假设我有下面的图像,我希望用Python中的OpenCV和Numpy对其进行分析:

OFLCp.png

我把所有的白块都标成轮廓。我也在红点和绿点周围画出轮廓。在

如何检查哪个点在哪个白块中?

我试过了:import numpy as np

import cv2

img = cv2.imread('crapypimg.bmp')

gray = cv2.imread('crapypimg.bmp',0)

ret, thresh = cv2.threshold(gray,127,255,1)

contours,h = cv2.findContours(thresh,1,2)

for cnt in contours:

approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)

print len(approx)

if len(approx)==4:

print "square"

cv2.drawContours(img,[cnt],0,(0,0,255),2)

elif len(approx) == 9:

print "half-circle"

cv2.drawContours(img,[cnt],0,(255,255,0),3)

elif len(approx) > 15:

print "circle"

cv2.drawContours(img,[cnt],0,(0,255,255),3)

cv2.imshow('img',img)

cv2.waitKey(0)

cv2.destroyAllWindows()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值