没有合适的资源?快使用搜索试试~ 我知道了~
首页利用Python提取视频中的字幕(文字识别)
利用Python提取视频中的字幕(文字识别)
3.4k 浏览量
更新于2023-05-27
评论 4
收藏 1.12MB PDF 举报
学了好久机器学习的内容有些许枯燥,今天我们来做一个Python的小项目来玩耍吧! 文字识别项目背景需求阐述思路首先导包代码详情裁剪视频创建文本判断中文截取字幕访问百度API读取图片&字幕操作主方法控制台输出运行 项目背景 通过获取百度API实现视频文字识别。 需求阐述 将.MP4格式视频裁剪成一帧一帧的图片再将图片中的字幕摘取出来,保存成一个文档。 进入正题喽!!! 思路 1.将视频按帧截取成图片 2.将上一步截取的图片再进行裁剪,只保留字幕部分,然后在进行灰度处理 3.调用百度api识别文字 4.输出成txt 首先导包 # base64是一种将不可见字符转换为可见字符的编码方式 impor
资源详情
资源评论
资源推荐

利用利用Python提取视频中的字幕(文字识别)提取视频中的字幕(文字识别)
学了好久机器学习的内容有些许枯燥,今天我们来做一个Python的小项目来玩耍吧!
文字识别文字识别项目背景需求阐述思路首先导包代码详情裁剪视频创建文本判断中文截取字幕访问百度API读取图片&字幕操作主方法控制台输出运行
项目背景项目背景
通过获取百度API实现视频文字识别。
需求阐述需求阐述
将.MP4格式视频裁剪成一帧一帧的图片再将图片中的字幕摘取出来,保存成一个文档。
进入正题喽!!!
思路思路
1.将视频按帧截取成图片
2.将上一步截取的图片再进行裁剪,只保留字幕部分,然后在进行灰度处理
3.调用百度api识别文字
4.输出成txt
首先导包首先导包
# base64是一种将不可见字符转换为可见字符的编码方式
import base64
# opencv是跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法
import os
import cv2
import requests
from aip import AipOcr
# 百度AI的文字识别库
base64 base64是一种将不可见字符转换为可见字符的编码方式。
opencv 是跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。
AipOcr 百度AI的文字识别库。
注意:注意:
这里from aip import AipOcr 刚开始可能会报错,原因可能是aip和baidu-aip根本不是同一个包,如果想要import的时候,都是使用:import aip
之后之后pip install baidu-aip就没报错了就没报错了。
代码详情代码详情
裁剪视频裁剪视频
def tailor_video():
# 要提取视频的文件名,隐藏后缀
sourceFileName = 'material'
# 在这里把后缀接上
video_path = os.path.join("G:/material/", sourceFileName + '.mp4')
times = 0
# 提取视频的频率,每10帧提取一个
frameFrequency = 10
# 输出图片到当前目录video文件夹下
outPutDirName = 'G:/material/video/' + sourceFileName + '/'
if not os.path.exists(outPutDirName):
# 如果文件目录不存在则创建目录
os.makedirs(outPutDirName)
camera = cv2.VideoCapture(video_path)
while True:
times += 1
res, image = camera.read()
if not res:
print('not res , not image')
break
if times % frameFrequency == 0:
cv2.imwrite(outPutDirName + str(times) + '.jpg', image) #文件目录下将输出的图片名字命名为10.jpg这种形式
print(outPutDirName + str(times) + '.jpg')
print('图片提取结束')
这里定义一个函数用来裁剪视频。
我们需要将视频裁剪成一帧一帧的图片,将图片保存成10.jpg这种形式,并且将这些裁剪后的图片放在一个目录下。
这里我设置的是每10帧裁剪一张,你也可以任意设置多少帧裁剪。
视频裁剪后的图片效果:
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0