利用python对视频字幕进行识别

这篇具有很好参考价值的文章主要介绍了利用python对视频字幕进行识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import easyocr
import cv2 as cv
from PIL import Image
video_file = cv.VideoCapture(r"f4459201ee68667a36dee475fe96159c.mp4")
video_fps=video_file.get(cv.CAP_PROP_FPS)
print(video_file.get(cv.CAP_PROP_FPS))
total_frames = int(video_file.get(cv.CAP_PROP_FRAME_COUNT))
image_size = (int(video_file.get(cv.CAP_PROP_FRAME_HEIGHT)), int(video_file.get(cv.CAP_PROP_FRAME_WIDTH)))
frames_height,frames_weight=image_size[0],image_size[1]
print(frames_height)
count_frame_start=0
count_frame_end=0
thresh = 220#设定阈值 进行二值化
temporary_frame=[]
reader=easyocr.Reader(["ch_sim","en"],gpu=False)#用于识别文字
"""
下面函数分别计算是否有字幕的区别   字幕是否相同的
相当于从 无----->有   计算每张图像与 0 值图像的误差
return ((img - imgo) ** 2).sum() / img.size * 100 可以添加到代码中,然后变成属于你自己的代码
   有----->变化    接着计算相同字幕和不同字幕图像直接的误差
"""
def cal_video(img, imgo=None):
        return ((img - imgo) ** 2).sum() / img.size * 100

while True:
    success, frames = video_file.read()
    print("打开第{}帧".format(count_frame_start))
    frames_cut = frames[:, :, 0]#[(486, 864)]
    frames_wh_cut = frames_cut[frames_height-75: frames_height-6, :]
    _, frames_threshold = cv.threshold(frames_wh_cut, 220, 255, cv.THRESH_BINARY)
    temporary_frame.append(frames_threshold)
    if count_frame_start>1:
        del temporary_frame[0]

        if cal_video(temporary_frame[1],temporary_frame[0])>2:
            print("程序运行!第{}帧".format(count_frame_start))
            result = reader.readtext(frames_wh_cut)
            if len(result)>0:
                f=open("嫦娥奔月.txt", "a", encoding="utf-8")
                f.write(str(count_frame_end) + "--->" + str(count_frame_start)+"\n")
                f.write(str(result[0][1])+"\n")
                f.close()
                count_frame_end = count_frame_start
                count_frame_start+=1
                #cv.imwrite(r"D:\PycharmProjects\pythonProject\feiji\image{}.jpg".format(count_frame_start),frames_wh_cut)
            else:
                continue
        else:
            pass
    count_frame_start+=1

大家运行程序注意一下几点:

1.更改视频地址,选择你需要进行字幕识别的视频地址

2.对所截取的视频字幕图片进行二值化,其中阈值可以自己更改

3.相邻图片的相似值的阈值可以进行更改。

 总体来说,识别还是有一些问题的,大家将这个代码跑完之后就会发现问题所在,如果谁能够提升效果,希望告知,谢谢。文章来源地址https://www.toymoban.com/news/detail-419206.html

到了这里,关于利用python对视频字幕进行识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用Python中的Pyinstaller库进行打包时出现错误信息:“ImportError:DLL load failed while importing _iterative:找不到指定的模块。“

    通常情况下,我们在对用户交付Python脚本的时候,给用户的是可以直接在windows操作系统下直接运行的.exe文件,而源码.py文件需要我们用python的第三方库Pyinstaller进行打包,从而生成我们希望交付给用户的.exe文件。在打包的过程中有个重要因素是我们必须要考虑的————即

    2023年04月25日
    浏览(76)
  • 不到百行代码,使用Whisper进行视频字幕生成。

      最近在学习视频剪辑的时候,希望找一款软件进行翻译;发现大多数是调用某云的Api进行翻译。通过查询资料,打算使用Whisper进行本地视频语音的识别,然后进行字幕文件的编辑(srt),最后通过ffmpeg添加到视频中。   Whisper 是 OpenAI 构建的通用语音识别模型。它于 2

    2024年03月19日
    浏览(47)
  • 英文视频添加中英双语字幕(基于Whisper语音识别和Google翻译)

    可以参考以下博客的内容讲显卡驱动,CUDA和cudnn的安装比较详细,我建议能用GPU加速就尽量使用,Whisper速度有点慢 如何在你的电脑上完成whisper的简单部署_Wayne_WX的博客-CSDN博客  Windows使用whisper前需要进行的一些环境配置 https://blog.csdn.net/m0_52156129/article/details/129263703 我的f

    2024年02月09日
    浏览(44)
  • Python:使用opennsfw2对图片/视频进行鉴黄识别

    本文详细介绍了如何使用Python和opennsfw2库进行图片和视频的鉴黄识别。包括环境准备、代码实践、高级用法等内容。

    2024年02月13日
    浏览(57)
  • 20221125使用PR2023自动识别obs-studio录屏生成的MKV视频的字幕

    20221125使用PR2023自动识别obs-studio录屏生成的MKV视频的字幕 2022/11/25 19:07 01 obs.png obs studio (64bit)   02 obs 设置.png   03 obs 输出.png   04 obs默认为MKV.png   05 obs改mkv为MP4.png 警告:如果文件无法完成(例如,由于蓝屏BSOD,掉电等),保存到MP4/MOV的记录将无法恢复。如果要录制多个

    2023年04月21日
    浏览(50)
  • Python视频处理(3)——提取视频字幕

    目录 一、安装tesseract-ocr 1、下载安装 2、设置环境变量: ​ ​ 3、测试安装是否成功  二、视频字幕识提取

    2023年04月12日
    浏览(39)
  • python 视频硬字幕去除 内嵌字幕去除工具 vsr

    开源地址:https://github.com/YaoFANGUK/video-subtitle-remover Video-subtitle-remover (VSR) 是一款基于AI技术,将视频中的硬字幕去除的软件。 主要实现了以下功能: 无损分辨率 将视频中的硬字幕去除,生成去除字幕后的文件 通过超强AI算法模型,对去除字幕文本的区域进行填充(非相邻像

    2024年02月05日
    浏览(36)
  • python给视频增加字幕

    python给视频增加字幕 安装所需库 在开始之前,我们需要安装一些Python库。主要使用到的库如下: moviepy:用于处理视频和音频的库。 pydub:用于处理音频的库。 speech_recognition:用于语音识别的库。 首先,我们需要使用pip来安装这些库。打开命令行窗口并运行以下命令: pi

    2024年02月02日
    浏览(80)
  • python实战之去除视频水印&字幕

    获取资源链接:https://null119.lanzoul.com/b050jscbg         结果如下图所示:         python软件在官网下载即可,这里我们仅对如何批量安装包进行介绍,如下所示         注意:要求文件的分辨率一致,水印位置相同,否则无法进行批量操作。         打开命令行,

    2024年02月07日
    浏览(50)
  • Python实现视频字幕时间轴格式转换

    自己喜欢收藏电影,有时网上能找到的中文字幕文件都不满足自己电影版本。在自己下载的压制版电影中已内封非中文srt字幕时,可以选择自己将srt的时间轴转为ass并替换ass中的时间轴。自己在频繁 复制粘贴改格式的时候想起可以用Python代码完成转换这一操作,借助ChatGPT并

    2024年01月23日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包