【发布时间】:2013-01-14 18:03:07
【问题描述】:
我试图在OpenCV 的帮助下检测输入视频流中的形状(十字)。目前我正在设置阈值以获得我的十字架的二进制图像,效果非常好。不幸的是,我决定提取的 blob 是否为交叉的算法表现不佳。如下图所示,并非所有角都在某些视角下被检测到。
我正在使用findContours() 和approxPolyDP() 来获得轮廓的近似值。如果我在这条近似曲线中检测到 12 个角/顶点,则假定该斑点是一个十字。
有没有更好的方法来解决这个问题?我想到了SIFT,但算法必须实时执行,我读到 SIFT 并不真正适合实时。
【问题讨论】:
-
你试过Hough线变换吗?您可以识别线条,而不是识别角,在简单检查它们的方向后,您可以确定它是否是十字形。
标签: c++ opencv video feature-detection