algorithm - tv logo自动查找/定位/检测的建议或方法

标签 algorithm opencv image-processing computer-vision video-processing

通常标志检测是指找到标志并识别标志。一些常见的工作使用 SIFT/SURF 匹配方法将这两个步骤一起完成,详见

但是,如果 Logo 又小又模糊,效果会很差,而且有点费时;我想把这两个步骤分开,首先找到视频中 Logo 的位置;然后使用模板匹配或其他方法识别 Logo ,例如:

我的问题主要集中在自动查找视频中的 Logo 。我尝试了两种方法:

  • 亮度法。电视屏幕上的标志通常在节目进行时一直存在,我随机选择一个帧列表并进行帧间差异,标志区域趋向于0;我用阈值做了一些0亮度的统计,以确定像素是否是标志。这种方法通常效果很好,但在显示静态背景时失败。
  • 边缘法。很可能,如果 Logo 在那里,边界往往很明显。我做了像亮度法这样的统计工作,但是边缘有时不稳定,比如背景很亮。

对于自动查找 Logo 区域和除筛选或模板匹配之外的任何其他 Logo 识别方法,是否有任何建议或最先进的方法?

最佳答案

让我们假设您的 Logo 列表是事先已知的,并且您可以访问所有 Logo 的示例(视频流/帧)。

2017 年对你的问题的回答是训练一个标志分类器,很可能是一个深度神经网络。

有了足够的训练数据,如果电视观众可以识别它,它将能够检测到它。它将能够处理局部模糊和强度变化(这可能会阻碍亮度和边缘的“经典”图像处理方法)。

OpenCV 可以从 Caffe、Torch 和 TensorFlow 等多个框架加载和运行网络模型,因此您可以使用其中一种预训练模型或自己训练一个。

关于algorithm - tv logo自动查找/定位/检测的建议或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45788665/

相关文章:

python - 为什么激活虚拟环境后cv2 python模块不再可用?

c++ - 如何对 cv::Mat 的矩形区域进行深度复制?

matlab - 如何保证SIFT特征的一致性?

image-processing - opencv中求轮廓长度

image-processing - Photoshop 的 RGB 级别与 ImageMagick

java - Monty hall 模拟未按预期运行

algorithm - 二进制计数器增量的平均情况时间复杂度分析

javascript - JS - 创建智能自动完成

java - 将具有最小+最大索引的数组值裁剪到具有所需最小+最大索引的目标数组中

c++ - 使用VSCode中的MSVS编译器构建OpenCV应用程序