algorithm - 在图像上找到十字

标签 algorithm image-processing opencv

我有一组二进制图像,我需要在其中找到十字(附有示例)。我使用 findcontours 从二值图像中提取边界。但我不明白我怎么能确定这个形状(边界)是否交叉?也许opencv有一些内置的方法,可以帮助解决这个问题。我想用机器学习来解决这个问题,但我认为有一种更简单的方法可以做到这一点。谢谢!

Cross on binary image

cross on binary image 2

最佳答案

Viola-Jones object detection可能是一个好的开始。虽然该算法 (AFAIK) 的主要用途是人脸检测,但它实际上是为任何物体检测而设计的,比如你的十字架。

该算法是基于机器学习的算法(因此,您将需要一组分类的“交叉”和一组分类的“非交叉”),并且您需要确定重要的“特征”(模式)将帮助算法识别十字。

该算法在 OpenCV 中作为 cvHaarDetectObjects()

实现

关于algorithm - 在图像上找到十字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314968/

相关文章:

java - java中图像直方图的方差

python - 如何根据公差更改cv::Mat值

android - Opencv全屏使用CameraBridgeViewBase android

OpenCV:提高Cascades检测速度

c++ - 185000阵列后BFPRT(中位数中值)算法崩溃

c++ - 使用 Dijkstra 算法在网格上进行寻路

c - 在小于 O(log(n)) 的运行时间内从排序数组中进行搜索

algorithm - 数据结构和算法电子书

matlab - 错误使用 bsxfun 不支持混合整数类输入

image - bwboundaries 获取图像边界