Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Open CV检测形状_C_Opencv_Shape Recognition - Fatal编程技术网

使用Open CV检测形状

使用Open CV检测形状,c,opencv,shape-recognition,C,Opencv,Shape Recognition,我一直在尝试检测图像中的形状,并计算图像中有多少这样的形状,例如加号。是否有任何内置函数来检测此类形状?如果有,请告诉我 谢谢。您需要找到图像中的所有轮廓,然后对其进行过滤 我们知道加号有12个角。所以你需要过滤所有有12个角的轮廓。当然,有时这会给你一些不想要的东西。因此,您可以再次过滤那些在2条直线(3个角)之间具有角度的轮廓,例如,最大值为0.3 cos 看看OpenCV的samples目录中的squares.cpp。它将查找具有4个角和角度的所有轮廓,最大值为0.3 cos。几乎所有的方

我一直在尝试检测图像中的形状,并计算图像中有多少这样的形状,例如加号。是否有任何内置函数来检测此类形状?如果有,请告诉我


谢谢。

您需要找到图像中的所有轮廓,然后对其进行过滤

我们知道加号有12个角。所以你需要过滤所有有12个角的轮廓。当然,有时这会给你一些不想要的东西。因此,您可以再次过滤那些在2条直线(3个角)之间具有角度的轮廓,例如,最大值为0.3 cos


看看OpenCV的samples目录中的squares.cpp。它将查找具有4个角和角度的所有轮廓,最大值为0.3 cos。几乎所有的方块都是这样。

你也可以看看霍夫变换

检测形状的一种方法是使用

用于执行二进制图像连接组件标签的库 (类似于regionprops的Matlab函数)。它还提供功能 要从提取的水滴中操作、过滤和提取结果, 有关更多信息,请参见功能部分

有关示例,请参见:

另一种选择是利用

Emgu CV是OpenCV映像的跨平台.Net包装器 处理库。允许从.NET调用OpenCV函数 兼容的语言,如C#、VB、VC++、IronPython等 可以在Mono中编译并在Windows、Linux、Mac OS X、iPhone、, iPad和Android设备


霍夫变换的可能复制基本上是检测圆形物体,对吗?我怀疑我是否可以用它来检测加号。你可以用它来检测线条。顺便说一句,你应该看看这个链接,它解释了如何使用openCV检测形状:是的,找到轮廓是我一直在想的。我必须更深入地研究如何检测角度和角。谢谢你的信息。我会调查一下,然后回来!!我以前使用过cvblobslib进行人员跟踪,但这基本上是为了检测移动的对象。需要找到一种方法来检测形状使用。非常感谢。