什么是视频识别中最好的标记?

时间:2014-03-16 18:29:59

标签: opencv video image-recognition

我目前正在视频轨道(来自相机)和音轨(来自微型)之间建立自动同步处理。 为此,我计划建立一个小型网络应用程序,用我的智能手机显示一个拍板(例如:Iphone),并在我拍摄时发出特定的双琶。 之后,我将执行一个小型OpenCV应用程序(实际上是JavaCV),它将检测智能手机显示拍板的图像。它仍将留给我只找到特定的双极同步两个轨道。

您可以在此处(http://vimeo.com/47002882)和此处(http://vimeo.com/46213073)看到我们已制作并手动同步的视频。基于这个背景(以前的视频的距离,照明等)什么是你,最好的东西(形状,颜色或其他)几乎可以一直检测到?我应该使用什么样的转型?

你必须想象我会用我的智能手机显示拍板,相机将放在离我五七米的地方。

我构建了第一个基本拍板(http://jsbin.com/zuqumiso/45/)并使用了OpenCV的视频处理:

框架 - > RGB到灰度的转换 - > GaussianBlur - > AdaptativeThreshold - > Hought Transformation(标准)来检测线条。

但只有当我的智能手机距离相机30厘米时它才有效...

2 个答案:

答案 0 :(得分:4)

鉴于视频中手机屏幕的尺寸非常小,我认为您无法自动检测手机上显示的任何标准标记(例如QR码,圆圈或棋盘)。

如果我是你,我会尝试更简单的方法。我首先在手机上显示全屏闪烁的黑白图案。如果手机保持相当稳定,这应该能够将闪烁区域检测为在几个连续帧上强度变化最高的区域。然后,对于音频/视频同步,我将同时发射bip并将全屏图案转换为特定颜色(例如,亮红色或亮绿色)。同样,通过检测先前确定的闪烁区域的颜色饱和度不连续性,可以非常容易地检测到从黑/白到完全饱和颜色的转换。

这可能不是你在首先提出这个问题时所追求的,但考虑到你对手机/ camrea距离的严格限制,我认为还有其他方法。

答案 1 :(得分:2)

大多数图像算法通过查看过渡(aka; edge)来工作。由于您的相机是RGB相机,理想的可检测边缘将是所有颜色都可见的边缘。

最简单的选择是使用简单的QR码。它的边缘易于检测,您甚至可以在多个代码之间进行去除。

形状和颜色往往比QR码更加变幻无常。