【发布时间】:2012-12-16 09:01:51
【问题描述】:
我正在开发一个应用程序来识别圆形/椭圆形内的线状特征。形状如下所示(此处显示了两个):
- 形状本身在圆形和椭圆形之间可能略有不同。
- 形状内部最多有 5 条线,它们位于每个形状的大致相同区域。
- 这些线条的长度、粗细、旋转和曲率可能略有不同。
- 这些线有时会稍微接触/相交。
- 通常正好有 5 行,但有时可能会完全丢失一行。
- 我不关心颜色,黑白阈值就可以了。
每个对象(超过 100 个)都将通过视频单独捕获;捕获是手动/物理过程(即我每次都拿着相机)。我可以完全控制相机,因此我可以在每次拍摄时始终如一地定位它。
现在我正在尝试使用 OpenCV 进行识别。我能够修改示例“面部识别”应用程序以使用另一个 Haar 标识符 XML 文件,但这似乎只处理外部圆圈/椭圆的检测。
我有兴趣为每个样本生成一个对象,以描述 5 条内部线以供进一步处理:
{
1: { length: 20, avg_thick: 2.3 },
2: { length: 4, avg_thick: 2.0 },
3: { length: 9.1, avg_thick: 2.1 },
4: { length: 2, avg_thick: 1.9 },
5: { length: 17, avg_thick: 2.1 }
}
这是我第一个涉及图像识别的项目。我应该使用/研究什么算法或程序来实现这一目标?谢谢!
更新:
由于图像是手工拍摄的,因此它们不是纯黑/白。尝试应用阈值会使形状内的(假装)线有时会消失。如何改进阈值化结果?
【问题讨论】:
-
你研究过霍夫变换吗?
-
不,这是我第一个涉及图像识别的项目,所以我对它完全陌生。我会读一下,谢谢。
-
它可能不是最适合这个应用程序,尤其是如果线条是弯曲的,但值得一看。
标签: opencv artificial-intelligence image-recognition edge-detection