opencv - 视频中用于识别的最佳标记是什么?

标签 opencv video image-recognition

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

您可以在此处 ( http://vimeo.com/47002882 ) 和此处 ( http://vimeo.com/46213073 ) 查看我们已经构建并手动同步的视频。基于这种背景(之前视频的距离、光照等),几乎所有时间都可以检测到的最好的东西(形状、颜色或其他)对你来说是什么?我应该使用什么样的转换?

您一定想像过,我会在距离我五七米的地方用相机展示我智能手机上的拍板。

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

Frame -> RGB 到 GRAY 转换 -> GaussianBlur -> AdaptativeThreshold -> Hought Transformation(标准)来检测线条。

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

最佳答案

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

如果我是你,我会尝试更简单的方法。我将从在手机上显示全屏闪烁的黑白图案开始。如果手机保持合理稳定,这应该能够将闪烁区域检测为几个连续帧中强度变化最高的区域。然后,为了音频/视频同步,我会同时发出 bip 并将全屏模式变成特定颜色(例如亮红色或亮绿色)。同样,通过检测先前识别的闪烁区域上的颜色饱和度不连续性,应该可以很容易地检测到这种从黑/白到完全饱和颜色的过渡。

这可能不是您一开始问这个问题时想要的,但考虑到您对手机/摄像头距离的严格限制,我认为没有其他方法。

关于opencv - 视频中用于识别的最佳标记是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22441004/

相关文章:

c++ - 调试断言失败的 Opencv 函数

java - MacOS 上的 OpenCV 与 Netbeans

ios - native iOS 视频播放器在使用 openssl 加密的 HLS 上失败

opencv - 如何在OpenCV中进行字符匹配

augmented-reality - 动态图像可以在设备上进行图像识别吗?

java - 将 RGB 转换为灰度

c++ - 在我的测试程序中,为什么cv::resize 不能执行而cvtColor 可以?

video - 使用avconv在设定时间从h264视频中获取单帧

iphone - NSArray of UIImages to video error 在输出中有失真

java - 如何使用 Java 在图像中搜索特定图像/ Logo /标志等?