OpenCV
初学者。我正在努力使用openCV
在C++
中检测特定形状。具体形状是字母"E"
。
我考虑过多种方法。模板匹配和OCR
在任何角度都不起作用,因此我正在考虑使用精确边缘检测。在研究之后,似乎可以使用Hough的线变换或canny边缘检测。
我能够实现这两者,但这是我遇到麻烦的下一步。你们中的任何人都可以提供一些如何从这里前进的指导。应用Canny过滤器后,如何检查字母“E”是否存在?
输入和输出图像在下方,但它们可以处于任何角度。
输入:
输出:
答案 0 :(得分:2)
根据“检测”需要的强大程度,您问题的可能解决方案的复杂性可能会有很大差异。由于你没有在你的问题中提到稳健性,这可能不是问题。因此,一个相当简单的解决方案可能是:
cv::findContours()
从二进制图像(Canny)中提取轮廓。如果您需要更强大的功能,可以: