分析视频,寻找彩色像素或徽标

3 投票
1 回答
870 浏览
提问于 2025-04-17 07:00

我想要从一堆视频文件中找出一个特定的标志,然后记录下它前面10到15秒的内容。我可以通过检查某个像素的颜色来识别这个标志。

你会怎么做呢?有没有什么软件或者Python的库可以让我提取这些视频片段,并把它们写成一个新的视频?

到目前为止,我做了以下工作:我找到一个库,可以把视频转换成一系列的BMP图片。这个程序叫做pyMedia:http://pymedia.org/tut/src/dump_video.py.html,还有一个可以把BMP转换回视频的:http://pymedia.org/tut/src/make_video.py.html。这挺不错的。不过它只支持Python 2.3,不支持Python 3。

看起来:

d= e.encode( yuvFrame )
fw.write( d )

这个程序可以写出一个BMP文件。那么我该如何在BMP文件中查找特定颜色的像素或标志,并把它们组合起来呢?这部分我一直搞不定。也许有人可以帮我解决这个问题。

编辑:让我给你展示一下我到目前为止做的事情:

from PIL import Image
im = Image.open("bride.bmp")
i=0
width= 10
height = 10
top= 461
box = (left, top, left+width, top+height)
croppy=im.crop(box)
if (mycolor in croppy.getcolors()):
        print "Logo found"

我的标志有一个特定的颜色,所以这个程序会查找那个像素,如果找到这个颜色就会打印“找到了标志”。我其实不想为这个做一个分类器。

1 个回答

1

你可以使用OpenCV或者其他一些工具,简单来说,你想要训练一个分类器来识别你的logo,然后把视频中的图片传给它。当它识别到logo时,就可以触发代码,捕捉之前15秒的视频。

这里有一个非常详细的回答,讲述了如何在Python中实现这个过程,具体可以参考这个链接:开发图像分类算法的通用方法

撰写回答