首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在opencv python中检测轮廓相交

如何在opencv python中检测轮廓相交
EN

Stack Overflow用户
提问于 2012-11-20 02:54:04
回答 1查看 4.5K关注 0票数 0

我使用的是opencv python接口(不是cv2)

代码语言:javascript
复制
contourmov =  cv.FindContours(image1, storage, cv.CV_RETR_CCOMP, cv.CV_CHAIN_APPROX_SIMPLE)
contourmove = cv.FindContours(image2, storage, cv.CV_RETR_CCOMP, cv.CV_CHAIN_APPROX_SIMPLE)

我有来自image1和image2的轮廓,我需要这两个轮廓之间的交集。

我用过

代码语言:javascript
复制
image3 = cv.CloneImage(image1)
cv.Set(image1, cv.Scalar(0,0,0));
image4 = cv.CloneImage(image1)
cv.Set(image2, cv.Scalar(0,0,0));
cv.DrawContours(image3,contourmov,cv.CV_RGB(0,255,0),cv.CV_RGB(0,255,0),1)
cv.DrawContours(image4,contourmove,cv.CV_RGB(0,255,0),cv.CV_RGB(0,255,0),1)
cv.And(image3,image4,image3)

所以我假设image3会有image1和image2的轮廓线的交集,但我没有看到它们。

请让我知道我哪里错了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-20 20:27:58

我发现了问题所在。我不得不用

代码语言:javascript
复制
 cv.DrawContours(image3,contourmov,cv.CV_RGB(0,255,0),cv.CV_RGB(0,255,0),1,cv.CV_FILLED) 

这将填充等高线区域,您将获得交叉点。否则只有线,你会得到线的交点,可能是点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13460237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档