之前谈论图像文字识别的内容是85。请参阅人工智能——PyQt图像文字识别。
本文主要演示一下如何提取视频中的字幕。
实现思路:
1、读取视频文件,获取视频文件的帧率和总帧数。
2、遍历视频所有帧,根据帧率,计算要识别的视频画面上的文字。
这里对帧的图像做一个处理,只选取字幕那部分区域,可以减少资源消耗,加快字幕提取速度。
3、为了防止前后帧重复,做一个简单的前后帧的文字对比。
文字识别使用的是PaddleOcr。(本机CPU环境)
实现代码
import cv2 import os from tqdm import tqdm import paddleocr import time video_path = "img; cap = cv2.VideoCapture(video_path) #帧数,视频的总帧数,视频的总时长 fps=in)) total_frames=in)) total_time=total_frames/fps print("fps:",fps,"total_frames:",total_frames,"total_time:",total_time) #创建一个ocr实例 ocr=(use_angle_cls=True,lang="ch") txtlst=[] start_time=() k=0 #k=0前一帧,k=1当前帧 for i in tqdm(range(total_frames)): ret,frame=cap.read() frame=frame[-64:,:] if ret: if (i % fps==0 and k==0) : #调用ocr识别函数,提取文字 result=ocr.ocr(frame) if len(result)>0: pretxt=result[0][1][0] #前一帧的第一行文字 k=1 if (i % fps==0 and k==1) : #调用ocr识别函数,提取文字 result=ocr.ocr(frame) if len(result)>0: curtxt=result[0][1][0] #当前一帧的第一行文字 #如果前一帧和当前帧的文字不一样,则保存文字, if pretxt!=curtxt and pretxt!="" : (pretxt) #print(pretxt) #交换前一帧和当前帧 pretxt=curtxt curtxt="" #显示图像 cv2.imshow("img",frame) cv2.waitKey(1) print(txtlst) #计算耗时 duration=()-start_time print("字幕提取耗时,视频时长,:",duration,total_time) cap.release() cv2.destroyAllWindows()
运行画面
输出结果: ['我可以把30年的经验', '变成一个准确的算法', '不可能', '当我说', '我们10个人就能实现', '对19个城市变电站', '7x24小时的实时监管', '不可能', '当我说', '我能把35 种机器的声音', '翻译成人话', '他们说', '当我说', '我能看出2000万亩', '农作物的生长情绪', '他们说', '不可能', '说不可能的人', '总有各种各样的理由', '拒绝伟大的 发生', '妈妈加油!', '但创造不可能的人', '却找到了相同的路', '他们不甘心', '他们', '跑个不停', '她', '通过AI识别卫星遥感数据', '快速获得精准的农耕地块信息', ' 用一个平台', '指导2000万亩的农业生产', '普通农户真的很辛苦', '灌溉、施肥、病虫害防治', '一个环节出问题', '一年的收成就没了', '现在我们的技术', '改变了由间农作 日常', '也们打开手机就能看到作物生长情况', '他们打开手机就能看到作物生长情况', '浇水、施肥、杀虫', '看一眼就能准确安排上', '她', '两个月跑了100多家工厂', '用 代码', '把老师傅要30年', '才能练成的配料经验', '跑成了3秒就能给出最优配比的模型', '我想真的做点事', '让这个行业的门槛降下来', '用新技术打磨老经验', '让小师傅' , '也能撑起钢铁制造的一片天', '大家叫他天方夜谭', '因为', '他居然提出用声音', '帮机器看病', '他用飞桨', '听机器运转的声音', '对千台机器的动态情况', '了然于心' , '机器来自五湖四海', '都是独立工作', '生产线一旦出问题', '住往很难找到真正的病根', '现在通过听噪音', '为机器把脉', '1秒就可以定位', '诊断不同机器的病情', '用 半年的时间', '跑了30000行代码', '教19个城市的机器人', '掌握设备状态', '用飞桨', '实现了变电站设备', '365天的无人实时巡检', '过去跟着一线班组', '我们不是在巡检 ', '就是在去巡检的路上', '因为哪怕是一点疏忽', '都可能错过', '对重大风险隐患的提前预警', '现在都是机器去巡检了', '机器不仅看得快还准', '当你每说一次不可能的时 候', '都是在拒绝伟大的发生', '和眼前的困难握手言和', '就是和下一个时代擦肩而过', '越是被说不可能', '越要创造', '无限可能'] 字幕提取耗时,视频时长,: 898.02 235.64
提取字幕的准确率能达99%以上。效果还是可以的。
1.《【115提取】115.人工智能——基于PaddleOcr的视频字幕快速提取》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【115提取】115.人工智能——基于PaddleOcr的视频字幕快速提取》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3186237.html