视频字幕分析与抠取

视频字幕分析与抠取

ID:46259846

大小:867.35 KB

页数:7页

时间:2019-11-22

视频字幕分析与抠取_第1页
视频字幕分析与抠取_第2页
视频字幕分析与抠取_第3页
视频字幕分析与抠取_第4页
视频字幕分析与抠取_第5页
资源描述:

《视频字幕分析与抠取》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、视频字幕分析与抠取一、最初的思路:1.首先,通过ffmpeg或opencv可以获取视频的每帧图片;2.再采用类似象素逼近法获取字幕的边界大小位置,从而截出字幕图片;3.再通过获取的字幕图片进行OCR识别,从而获取字幕实际字符串;4.通过分析视频文件字幕的起止显示时间系列,得到字幕播放时应该显示的时间顺序;5.将字幕显示的时I'可顺序数据和字幕的字符整合成精准的字幕文件;6.将上述获取字幕过程自动化,形成可执行程序,自动生成字幕文件,并在机顶盒播放视频显示出来;二、方案尝试实现步骤:经过实践尝试,在程序中采用opencv获取视频帧图片

2、比之ffmpeg更易于实现和使用,opencv是一个跨平台计算机视觉库,具有强大的图片数据的分析和处理函数,FFmpeg则是一套可以用来记录、转换数字咅频、视频,并能将其转化为流的开源计算机程序,不具备分析处理图片的功能;确定程序中使用opencv视觉库;接下来,在Ubuntu安装opencv开发环境,准备分析用的视频文件;OCR则准备采用Tesseract-OCR,这是一款开源、免费的OCR引擎,能够支持屮文,可以命令行下运行,也可以作为库集成到程序;这是openvc从视频屮获取的一帧图像,看起来字幕的边沿和视频界线分明字体清楚,

3、但实际用象素颜色去逼近边沿,发现了不少问题:1.首先,字幕的边沿不是纯色,而是混合过渡色,釆用逼近算法有很大问题;2.字幕的动态显示,不论是边沿还是字幕都是变化的,不仅是文字的变化,颜色也是变化的;3.字幕和视频叠加显示,形成视频干扰数据,通过代码很难区分和抠取,由于视频干扰数据无法去除干净,字幕就无法准确抠取;实际上,这是至始至终不能彻底解决的问题;1.字幕的描边问题;采用手工切图的办法,将切出的图形尝试用OCR识别,描边的文字无法正确识别;这是采用opencv转换算法获取的灰度图:用于减少颜色数量,易于程序处理,必要时还需转换为

4、二值化的图形;这是采用opencv边缘检测操作算法获取的灰度图:边缘检测操作算法需要调整输入参数才能得到上面的图形,单图看起来很好处理了,这是比较典型的帧图像,视频中并不是所有帧都能得到这样干净的图;现在通过逼近算法可以获取字幕的边,高度和宽度,但同一个算法,在稍为复杂的帧图形上,结果是不一样的,这就带来问题,实际上还是无法准确的确定字幕的大小和宽度;演示例程:cv_test2.cpp采用边缘检测操作算法获取的字幕二值图形效果:寵陪我走一程的J8朝少I願意•走;亮翹鮒更是寥滲I很明显,背景视频的干扰无法去除干净;演示例程:cv_te

5、st3.cpp因此,采用边缘检测算法能大体获得字幕的大致范阖,但由于背景根本无法去除干净,获得的图形实际上在OCR中是无法使用的;之后,获取字幕大体范围采用角点检测算法,然后统计角点的范围,得到相对正确的字幕范围;演示例程:cv_test_20.cpptestl.bmp,cv_test_21.cpptestl.bmp下面,利用获得的字幕范围数据,采用另一个思路检测字幕;单帧图不容易处理,换个思路,采用一段视频转换成时间序列的图形会是什么状况:这是一段典型的字幕视频时间序图,具体做法,使用opencv获取一段视频每一帧的一条线的图,这

6、条线刚好在字幕的范围内,纵向是视频里面视频宽度一条线的象素数据,横向时按帧时间序列进行拼合,把所有这些获得的线按前述规则拼合到一张图里面,就得到上面的图形;图中明显的白色和蓝色块就是字幕在这段视频的变化情况,其余的色块就是这段视频在这条线上的色彩变化;例程:cv_test3c.cpp,cv_test_5.cpp,cv_test_7.卬p,cv_test_8.cpp,cv_test_ll.cpp加上之前获取的字幕范围数据,可以获取字幕范围内的时间序列图:以上的图代表一•段视频内的字幕当屮一个字符范围内的变化,蓝白黑色以外的其他色彩是字

7、幕屮的背景视频,可以看到字幕变化过程中,注意,颜色也不是固定的纯色;例程:cv_test3a.cpp并不是所有字幕都这么规范:例程:cv_ocr_main.cpp上面的图是在每一帧都判断字幕范围的情况下,去除范围外的背景视频象素得到的整首歌时间序图;可以看到中间还有去除不掉的背景视频;放大一些来看:视频的开始,有一段视频没有字幕,因此检测算法输出错误的结果;中间以及末段也存在没有字幕的视频;中间也存在检测算法去不掉的背景视频;上面是中I'可一段字幕变化,相同的字幕大体在一个长方形内,存在斜线的地方是字幕幵始唱到结束的时间位置;字幕出

8、场过程大体是:先预先显示,在歌曲演唱到该字幕的时间点开始渐变,演唱结束后,渐变也停止,最后显示一段时间之后消失;通过角点检测算法,对角点坐标进行统计合并,再画出现来,可以获得下面的图形:蓝色的点是画出来的角点,红的的竖线是统计出来是字

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。