我正在做一些基本的图像处理来检测多边形和一些 OCR 来处理在 C# 上使用 Emgu CV 在白板上绘制的流程图。
但是现在,我在检测箭头(带尖<或>的直线)任何方向上都面临困难。 我想知道是否有人知道我可以用来检测箭头及其指向端的方法。从那时起,我可以找到附近的物体并继续进行更多处理。
我将非常感谢任何人可能提出的任何建议。
谢谢!
最佳答案
有很多方法可以进行对象识别。为了知道选择哪一个,您应该了解以下信息:我的对象(箭头)可以有不同的形状(宽度、高度……)吗?形状是固定的,但我的对象可以旋转、平移和缩放?其他对象是什么?
为了检测箭头,你可以使用 findContours 然后使用不同的特征来区分箭头的轮廓,如周长,面积,密度,minAreaRect ...你也可以将轮廓多边形化并观察每段的参数,计算段之间的角度...(对于您的情况来说可能有点太复杂了)。
您可以使用 PCA 找到形状的方向,它在箭头上非常有效。然后,为了找到终点,您只需分析对象的左右部分。
对于检测线,您也可以使用 Hough,但如果您不熟悉它,则需要一些时间来使用阈值才能获得您想要的结果。
关于c# - 如何使用 Emgu CV 检测图像中的箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043911/