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

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

  • 先安装所需要的工具
    • 一、Tesseract-OCR
      • Tesseract-OCR环境变量设置
      • 验证是否配置成功
      • 示例
      • 语言包下载失败
    • 二、ffmpeg
      • 验证是否安装成功
      • 示例

先安装所需要的工具

一、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

代码
提取中文

import pytesseract
from PIL import Imagedef 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()

识别结果
在这里插入图片描述

提取数字

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 renumbers = 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)

提取英文

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 安装成功。
在这里插入图片描述

示例

提取视频中的音频

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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/482331.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【青牛科技】2K02 电动工具专用调速电路芯片描述

概述: 2K02 是电动工具专用调速电路。内置稳压电路,温度系数好,可以调节输出频率以及占空比的振荡输出,广泛的应用于小型电钻,割草机等工具。 主要特点: ● 电源电压范围宽 ● 占空比可调 ● 温度系数好 …

内网穿透步骤

步骤 第一次需要验证token window和linux的方法不同。 然后 启动 cpolar 服务: 在命令窗口中输入 cpolar.exe htttp 8080,启动内网穿透服务。确保命令窗口保持开启状态,以维持穿透效果。 cpolar.exe hhttp 8080 成功后 注意事项 命令窗口…

FreeRTOS之vTaskStartScheduler实现分析

FreeRTOS之vTaskStartScheduler实现分析 1 FreeRTOS源码下载地址2 函数接口2.1 函数接口2.2 函数参数简介3 vTaskDelete的调用关系3.1 调用关系3.2 调用关系示意图 4 函数源码分析4.1 vTaskStartScheduler4.2 prvCreateIdleTasks4.2.1 prvCreateIdleTasks4.2.2 xTaskCreate 4.3…

基于群晖搭建个人图书架-TaleBook based on Docker

前言 在群晖Container Manager中部署失败,转通过ssh部署。 一、准备工作 名称备注群晖SSH“终端机和SNMP”中启用SSH软件secureCRT等docker-compose.ymlGithub下载并修改 二、过程 2.1 创建本地文件夹 本地路径为: /docker/Calibre/data 2.2 下载d…

Ubuntu24.04初始化教程(包含基础优化、ros2)

将会不断更新。但是所有都是基础且必要的操作。 为重装系统之后的环境配置提供便捷信息来源。记录一些错误的解决方案。 目录 构建系统建立系统备份**Timeshift: 系统快照和备份工具****安装 Timeshift****使用 Timeshift 创建快照****还原快照****自动创建快照** 最基本配置换…

【论文笔记】A Token-level Contrastive Framework for Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: A Token-level Contrastiv…

yolov5 解决:export GIT_PYTHON_REFRESH=quiet

当我们在第一次运行YOLOv5中的train.py程序时:可能会出现以下报错: This initial warning can be silenced or aggravated in the future by setting the $GIT_PYTHON_REFRESH environment variable. Use one of the following values: - quiet|q|silen…

基于springboot中小型制造企业质量管理系统源码和论文

信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的…

【实验13】使用预训练ResNet18进行CIFAR10分类

目录 1 数据处理 1.1 数据集介绍 1.2数据处理与划分 2 模型构建- Pytorch高层API中的Resnet18 3 模型训练 4 模型评价 5 比较“使用预训练模型”和“不使用预训练模型”的效果: 6 模型预测 7 完整代码 8 参考链接 1 数据处理 1.1 数据集介绍 数据规模&…

Java之链表1

文章目录 1. 链表1.11.2 链表的概念及其结构1.3 自己实现一个链表 1. 链表 1.1 之前我们学习了 顺序表ArrayList,并自己实现了 ArrayList ,发现它在删除元素和添加元素时很麻烦,最坏的情况时,需要将所有的元素移动,因…

二分搜索(三)x的平方根

69. x 的平方根 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: 2…

AI开发-数据可视化库-Seaborn

1 需求 概述 Seaborn 是一个基于 Python 的数据可视化库,它建立在 Matplotlib 之上。其主要目的是使数据可视化更加美观、方便和高效。它提供了高层次的接口和各种美观的默认主题,能够帮助用户快速创建出具有吸引力的统计图表,用于数据分析和…

使用docker-compose部署搜索引擎ElasticSearch6.8.10

背景 Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建。它被广泛用于实时数据搜索、日志分析、全文检索等应用场景。 Elasticsearch 支持高效的全文搜索,并提供了强大的聚合功能,可以处理大规模的数据集并进行快速…

LeetCode—74. 搜索二维矩阵(中等)

仅供个人学习使用 题目描述: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true…

Cento7 紧急模式无法正常启动,修复home挂载问题

Centos 7 开机失败进入紧急模式[emergency mode],解决方案。 通过journalctl -xb查看启动日志,定位发现/home目录无法正常挂载。 退出启动日志检查,进行修复。 进行问题修复 # 修复挂载问题 mkdir /home mount /dev/mapper/centos-home /ho…

Matlab mex- setup报错—错误使用 mex,未检测到支持的编译器...

错误日志: 在使用mex编译时报错提示:错误使用 mex,未检测到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问https://www.mathworks.com/support/compile…

【C语言】二叉树(BinaryTree)的创建、3种递归遍历、3种非递归遍历、结点度的实现

代码主要实现了以下功能: 二叉树相关数据结构定义 定义了二叉树节点结构体 BiTNode,包含节点数据值(字符类型)以及指向左右子树的指针。 定义了顺序栈结构体 SqStack,用于存储二叉树节点指针,实现非递归遍历…

Android -- 简易音乐播放器

Android – 简易音乐播放器 播放器功能:* 1. 播放模式:单曲、列表循环、列表随机;* 2. 后台播放(单例模式);* 3. 多位置同步状态回调;处理模块:* 1. 提取文件信息:音频文…

Python语法基础(四)

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 高阶函数之map 高阶函数就是说,A函数作为B函数的参数,B函数就是高阶函数 map:映射 map(func,iterable) 这个是map的基本语法,…

大模型时代的人工智能基础与实践——基于OmniForce的应用开发教程

《大模型时代的人工智能基础与实践——基于 OmniForce 的应用开发教程》由京东探索研究院及京东教育联袂撰写,图文并茂地介绍传统人工智能和新一代人工智能(基于大模型的通用人工智能技术),展示人工智能广阔的应用场景。同时&…