生活百科知识

经验知识首页 > 妇产科 > 详细经验讲解内容页

[视频]opencv入门——寻找图中的相似图案

关于四川地震opencv入门——寻找图中的相似图案,期待您的经验分享,谢谢你帮我,祝你快乐,愿你事事如意 !
无情天魔精致 2018-10-19 14:44:58 31593人看过 分享经验到微博

更新:2024-03-12 03:48:46优秀经验

来自快手https://www.kuaishou.com/的优秀用户无情天魔精致,于2018-10-19在生活百科知识平台总结分享了一篇关于“opencv入门——寻找图中的相似图案b站”的经验,非常感谢无情天魔精致的辛苦付出,他总结的解决技巧方法及常用办法如下:

看下面的图片,图中有各种不同的几何形状。本文,用python,来寻找其中形状相似的图形。

工具/原料

电脑python3.6opencv

方法/步骤

1/6分步阅读

把图片转化为灰度图:

a=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

[图]2/6

把灰度图转化为二值图片:

_,a = cv2.threshold(a,250,255,cv2.THRESH_BINARY_INV)

[图]3/6

在图中,画出所有物体的轮廓线:

_,c,_=cv2.findContours(a,2,1)

cv2.drawContours(img,c,-1,(0,255,0),2)

[图]4/6

比较轮廓的相似度。

比如,k0和c0表示两个轮廓,那么,ret=cv2.matchShapes(k0,c0,1,0.0),可以测试k0和c0的相似度。ret数值越小,相似度越大。

我们用for循环,来测试任何两个物体的相似度:

for k0 in c:

A=[]

for c0 in c:

ret = cv2.matchShapes(k0,c0,1,0.0)

if ret<0.02:

A.append(c0)

if len(A)>1:

for c0 in A:

cv2.drawContours(img,[c0],-1,(0,255,0),2)

在ret<0.02时,任何两个物体都不相似。

[图]5/6

当ret小于0.05时,两个接近正方形的四边形是相似的。

[图]6/6

当ret小于1的时候,所有的图形都是相似的,这已经失去了甄别能力。

[图]

编辑于2018-10-19,内容仅供参考并受版权保护

经验备注

我发现了这篇经验很有用:你也认同《opencv入门——寻找图中的相似图案》的经验分享有价值,就请和朋友们一起分享吧。另外,opencv入门——寻找图中的相似图案的经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。经验知识实用生活指南-解决你所有的生活难题!未经许可,谢绝转载。

本文网址:https://www.5058.cn/article/d2b1d102dda4795c7f37d47f.html

下一篇