利用OCR、OpenCV等提取视频硬字幕
从视频提取硬字幕要做以下事情:
把视频切成若干张包含字幕的静态图片(这里是等距切,密度在config里splitDuration配置�)。应在考虑调用成本的前提下尽量�细切,保证字幕都切到(不用怕重复,这有去重)
百度OCR能返回所有识别结果的坐标。
去重有两个目的: 一是防止结果重复;二是能把固定位置的文字收敛(比如台标),避免字幕定位错误。
每张图可能识别出若干组文字(每组都有位置信息),在获得所有�切图�OCR结果后,我们需要确定哪些是字幕的内容。
这里有两个假设:
- 字幕的纵向位置�基本不变
- 字幕是整个视频中同一位置不同内容文字量最大的部分
有这两个假设:
- 把top相近的识别结果分成一组
- 去重后量最大的组就是字幕组
python:mac电脑自带,windows请自行百度安装
方法一:git clone https://github.com/HenryLulu/video-to-text-ocr-demo.git 方法二:右上角 - clone or download - download zip
https://console.bce.baidu.com/ai/#/ai/ocr/overview/index 在百度云开放平台注册,创建文字识别应用得到APP_ID、API_KEY、SECRET_KEY,就可以用了。 我们用到的是:通用文字识别(含位置信息版)。每天前500次调用免费。
在代码目录新建一个 config.py 文件,贴入以下内容(配置项替换成自己的)
def getConfig(videoname):
return {
'APP_ID': '�百度OCR APP_ID',
'API_KEY': '百度OCR APP_KEY',
'SECRET_KEY': '百度OCR SECRET_KEY',
'videoDir': './video/' + videoname + '.mp4',
'imgDir': './videoframes/' + videoname,
'outputDir': './output/' + videoname + '/',
'splitDuration': 1
}
创建上面配置的 videoDir 中的文件夹,比如这里的 video,把视频文件放进去。 修改 index.py video 为某个视频文件名,执行 python index.py
视频长度:4:51
切图密度:2s(145pic)
OCR时长:99s
识别内容:
正确的化妆步骤,可以缩短化妆的时间,让你化妆更加有条理性,回常生活中,应用到裸妆的机会比较多,那么今天我就,教给大家裸妆的化妆步骤,让你轻轻松松快速搞定自已的妆容,美美的去上班,太好了快教教我们吧,下面开始今天的化妆教学了,大家一定要看好哦,希望大家会喜欢,今天模特呢是打好底妆了,下面呢开始化妆的第一步,就是先要画眉毛,因为模特前面的眉毛较重,我们人眉峰的位置开始画,要顺着眉毛生长的方向刻画,眉笔选用的颜色,要根据头发的颜色来选择,眉头呢可以画的淡一些,这样眉毛就刻画好了,大家可以看,接下来是眼妆的刻画,首先呢是眼影,要用裸色的眼影对眼部进行打底,因为今天呢画的是棵妆,但是呢我不想用大地色系的眼影,选用一款比较明媚的颜色,桃红色涂于眼窝上,淡淡的画层,然后选用金色的眼影涂于睫毛很部,然后选用金色的眼影涂号睡毛根部,向上进行除,但是范围呢不要超炒桃红色,接下来呢要用银白色在眉骨处进行提亮,这样上眼影就完成了,下面我们来画下眼影,下眼影呢要用金色的眼影,涂于后眼尾三分之一处,然后用桃红色,渐渐的向前进行一个过渡,同时可以用银色在眼角处进行提亮,这样眼影部分就打造完成了,眼妆的第二个步骤呢是眼线,下面我们来刻画眼线,要从眼头,画一条紧贴于睫毛根部的平行线,到眼尾的时候呢可以略粗一些,填满睫毛根部的缝隙,下眼线呢我们刻画到,后眼尾三分之一处,画的可以淡一些,这样眼线部分就完成了,大家可以看一下,眼妆的第三个步骤呢是瞳毛部分,首先要用睫毛夹把睫毛夹弯,然后是贴假睫毛,贴假睫毛的时候呢,一定要先贴假哦睫毛的中部,然后贴假睫毛的头部,最后贴假睫毛的末端,然后要用睫毛膏,对真假睫毛进行一个融合,同时呢下睫毛也要画上,这样眼部妆容就完成了,大家有没有看见明显的变化呀,化妆的第三个步骤呢是腮红部分,我们今天选用一款橘色的腮红,要涂于苹果肌上,苹果肌呢就是这个位置,比较凸起的部分,定要斜着画,这样才会使你的脸部,看上去比较有立体感,化妆的最后一个步骤呢是唇部,我们今天选用一个棵粉色的唇膏,涂于嘴唇上,这种颜色呢显得嘴唇特别的清新淡雅,下面我们来刻画另一边的脸