【python】图像、音频、视频等文件数据采集

【python】图像、音频、视频等文件数据采集

先安装所需要的工具

一、Tesseract-OCR

Tesseract是一个 由HP实验室开发 由Google维护的开源的光学字符识别(OCR)引擎,可以在 Apache 2.0 许可下获得。它可以直接使用,或者(对于程序员)使用 API​​ 从图像中提取输入,包括手写的或打印的文本。

以下是关于Tesseract的常用网址

下载地址:https://digi.bib.uni-mannheim.de/tesseract/

官方网站:https://github.com/tesseract-ocr/tesseract

语言包地址:https://github.com/tesseract-ocr/tessdata

下载最新的就行

下载好了进行安装即可,

就是到这里注意一下,把框框中的那两个勾选上,他会自动下载语言包,

到安装位置这里的时候,建议把位置换到D盘,路径最好不要有中文,不要引起一些奇奇怪怪的报错,选好路径后,要把这个路径复制下来,可以先放一个笔记里面,一会配置环境变量要用的。

后面就这里按照步骤进行就可以了。

Tesseract-OCR环境变量设置

安装好以后我们设置一下环境变量,用起来会舒服一些。

首先电脑Win加R键,

然后输入sysdm.cpl这个命令回车

点击环境变量,之后找到系统变量,再找到path点击编辑

如图;

点击这里看的新建,按当时复制的安装路线复制进去,之后一直点确定,点到退出那个界面就好了,

现在就可以使用了

验证是否配置成功

打开命令提示符(CMD)

按下 Win + R 键,输入 cmd 并回车,打开命令提示符。

检查 Tesseract 是否安装

在命令提示符中输入 tesseract -v 并回车。

如果 Tesseract - OCR 环境配置正确,会显示 Tesseract 的版本信息,

示例

先安装需要的库

pip install Pillow
pip install pytesseract

代码

提取中文

javascript 复制代码
import pytesseract
from PIL import Image

def OCR_demo():
    # 导入OCR安装路径,如果设置了系统环境,就可以不用设置了
    # pytesseract.pytesseract.tesseract_cmd = r"D:\Program Files\Tesseract-OCR\tesseract.exe"
    # 打开要识别的图片

    image = Image.open('one.jpeg')
    # 使用pytesseract调用image_to_string方法进行识别,传入要识别的图片,lang='chi_sim'是设置为中文识别,
    text = pytesseract.image_to_string(image, lang='chi_sim')

    print(text)


if __name__ == '__main__':
    OCR_demo()

识别结果

提取数字

javascript 复制代码
from PIL import Image
import pytesseract


# 如果 tesseract 不是安装在默认路径,请取消注释并设置正确的路径
# pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

def ocr_numbers(image_path, output_txt_path):
    # 打开图像文件
    image = Image.open(image_path)

    # 使用 pytesseract 进行 OCR 识别
    # 由于是数字,我们不需要特别指定语言包
    text = pytesseract.image_to_string(image)

    # 提取并只保存数字(可选,如果图像中只包含数字,这一步可以省略)
    # 这里使用简单的正则表达式来提取数字
    import re
    numbers = re.findall(r'\d+', text)
    numbers_str = ' '.join(numbers)  # 将数字列表转换为字符串,用空格分隔

    # 将识别出的数字保存到指定的 .txt 文件中
    with open(output_txt_path, 'w') as file:
        file.write(numbers_str)

    # 在控制台输出已识别的消息
    print("已识别数字并保存到:", output_txt_path)


# 替换为你的图像文件路径和想要保存的 .txt 文件路径
image_path = '数字.jpg'
output_txt_path = '数字.txt'

# 调用函数进行 OCR 识别并保存结果
ocr_numbers(image_path, output_txt_path)

提取英文

javascript 复制代码
from PIL import Image
import pytesseract


# 如果 pytesseract 不是安装在默认路径,请设置正确的路径
# pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'  # Windows 示例
# pytesseract.pytesseract.tesseract_cmd = '/usr/local/bin/tesseract'  # macOS 示例(可能需要调整)
# pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract'  # Linux 示例(可能需要调整)

def ocr_english_text(image_path, output_txt_path):
    # 打开图像文件
    image = Image.open(image_path)

    # 使用 pytesseract 进行 OCR 识别
    text = pytesseract.image_to_string(image, lang='eng')  # 指定语言为英语

    # 将识别出的文本保存到指定的 .txt 文件中
    with open(output_txt_path, 'w', encoding='utf-8') as file:
        file.write(text)

    # 在控制台输出已识别的消息
    print("已识别英语文本并保存到:", output_txt_path)


# 替换为你的图像文件路径和想要保存的 .txt 文件路径
image_path = '英语.jpg'
output_txt_path = '英语识别结果.txt'

# 调用函数进行 OCR 识别并保存结果
ocr_english_text(image_path, output_txt_path)

语言包下载失败

当上面已经是安装好了,但是可能会有人遇见这种情况,这就语言包下载失败,就需要我们单独去下载语言包了。

语言包地址:https://github.com/tesseract-ocr/tessdata

如图下载图片上面这两个语言包就可以了(点进去里面有下载)

要获取适用于Tesseract 3.04或3.05的语言数据文件,请从3.04分支获取。

更多信息以及所有语言的完整列表,请参阅Tesseract维基百科。

下载好以后把这两个文件复制到你的Tesseract-OCR\tessdata这个文件夹就可以了。

二、ffmpeg

简介

FFmpeg全称为Fast Forward Moving Picture Experts Group,于2000年诞生,是一款免费,开源的音视频编解码工具及开发套件。它的功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes)。

官网链接;https://www.ffmpeg.org/download.html#build-windows

官网界面,根据自己的系统,下载相应的版本下载,

选择一个下载,就第一个就可以7z格式的。

下载好以后,需要先解压,解压完后,

就需要添加环境变量了,就和上面差不多的流程,

唯一不一样的是路径要准确到bin文件

这样就不用每次都指定路径了这点和上面是一样的。

先win加r键,这个上面都有了,按照上面的来就可以了

唯一和上面不一样的是这个要准确到bin文件

路径应该是这个样子的才可以

D:\ffmpeg-5.0.1-essentials_build\ffmpeg-5.0.1-essentials_build\bin

之后就和上面都一样了,确定、确定、确定。

验证是否安装成功

打开命令提示符cmd窗口

输入命令ffmpeg -version

如果你看到打印出 FFmpeg 版本,则表示 FFmpeg 安装成功。

示例

提取视频中的音频

javascript 复制代码
from moviepy.editor import VideoFileClip

# 视频文件路径
video_file_path = '大棋局.mp4'  # 替换为你的MP4视频文件路径

# 创建一个VideoFileClip对象
video = VideoFileClip(video_file_path)

# 从视频中提取音频
audio = video.audio

# 设置输出音频文件路径和格式
output_audio_file_path = 'output_audio.mp3'  # 你可以根据需要更改输出文件名和格式

# 写入音频文件
audio.write_audiofile(output_audio_file_path)

# 释放资源
video.close()
audio.close()
相关推荐
冷雨夜中漫步4 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴4 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再4 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
m0_736919106 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手6 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934736 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy6 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
黎雁·泠崖7 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_763472467 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
肖永威8 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos