python进行批量图片文字识别

article/2025/11/5 8:43:07

一、概述

ocr技术是当下比较热门的技术,利用它可以方便的对图片上的文字进行扫描识别,本文使用python+百度api实现图片的文字识别。

二、环境准备:

1. python环境的准备

1.1 首先需要到python官网下载最新版本的python,点击python下载。下载完成后进行安装,程序会自动进行环境变量配置。

安装配置完成后,运行python -v 若出现版本则表示安装成功。

>python --version
Python 3.9.6

1.2 安装百度api库。python安装完成后,运行以下命令安装百度api库

pip install baidu-aip

2. 百度云api的注册

接下来需要进行百度api的注册申请,点击百度ai进入官网

进入官网后,点击右上角控制台

进行账号登陆,登陆完成后出现控制台界面,点击左侧产品服务——人工智能——文字识别。

点击创建应用,并在相应页面填写好相关信息,然后点击立即创建。

创建完成后回到控制台点击管理应用。

刚刚创建好的文字识别应用就会出现在应用列表中,其中的APP_ID,API_KEY,SECRET_KEY需要记住,这三项是我们需要用到的。

三、实现:

1. 首先要在当前文件夹下建立一个text目录,用于存放识别出的文本文件。对文件夹内的所有图片进行识别,需要用到os.walk(path)函数来遍历目录,并寻找所有后缀为jpg格式的图片。walk()方法语法格式为

os.walk(top, topdown = True, onerror = None, followlinks = False)

代码如下:

for path,dir,file in os.walk(path):break
pic=[]
for i in file:if(".jpg" in i):pic.append(i)

由于walk函数递归查找目录,我们只在当前目录下寻找图片,因此在第一次循环结束就直接break,当前目录下所有图片名保存在pic变量里

2. 使用百度api来进行图片识别

APP_ID = 'aaa'
API_KEY = 'bbb'
SECRET_KEY = 'ccc'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
dic_result=client.basicAccurate(image)

其中"aaa","bbb","ccc"是之前申请百度api中得到的APP_ID,API_KEY,SECRET_KEY三个对应值。识别结果保存在dic_result变量中。其中basicAccurate(image)为高精度识别函数,如果使用低精度识别,请使用accurate(image)函数

3. 项目代码如下:

import os
from aip import AipOcr
APP_ID = 'aaa'
API_KEY = 'bbb'
SECRET_KEY = 'ccc'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)path="./"
for path,dir,file in os.walk(path):break		
pic=[]
for i in file:if(".jpg" in i):pic.append(i)def i2t(picname):with open(picname,'rb') as fp:image=fp.read()dic_result=client.basicAccurate(image)res=dic_result['words_result']result=''for m in res:result+=str(m['words'])fp2=open('./text/a.txt','a')fp2.write(result)fp2.close()n=1
for j in pic:print("picture%d %s...\n" %(n,j))i2t(j)n=n+1

四、运行效果

程序扫描了目录下的2张照片,并将扫描内容存入text文件夹下的文本文档。识别过程如下:

 程序扫描出的文字

五、总结:

1. python实现的是命令行界面的识别过程,比较简单,可以考虑做成图形界面。

2. 在写入中文文档时若报错,可将文件打开格式设置为”utf-8“

fp2=open('./text/a.txt','a',encoding='utf-8')


http://chatgpt.dhexx.cn/article/gmba57l3.shtml

相关文章

学会用python识别图像

用 Python 进行 OCR 图像识别 Python中文社区 全球Python中文开发者的精神部落 数据采集就怕遇到图片,只能看不能复制怎么办。手动将文字提取出来,要耗费很大的工作量。 例如下图,某楼盘的一房一价表,怎么样发现单价低位的房子…

【python 图片识别】python识别图片是不是包含二维码

近几天在研究二维码的识别,主要是通过python代码来识别特定图片内是否包含二维码。方法有分类,还有下面我介绍的直接法。 需要安装库 pip install pyzbar pip install opencv-python我们 先准备些二维码 总共有11个二维码。 下面我们进行二维码识别&…

python图片中文字识别

一、前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制。或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存。但是当我们想用到里面的文字时,还是要一个字一个字打出来。那么我们能不能直接识别…

使用python进行图片的文字识别

使用python进行图片的文字识别 文章目录 使用python进行图片的文字识别安装 Tesseract OCR安装过程配置系统的环境变量 安装python的第三方库Pytesseract库Pillow库 运行个demo 安装 Tesseract OCR Tesseract OCR 是一款由 Google 团队开发的开源 OCR(Optical Chara…

python图片ocr识别手写印刷体中英文字体

脚本说明: 脚本需要修改 APPID 以及 API_KEY的值,请到讯飞api平台获取。 首先截图,然后打开脚本直接运行,该脚本自动识别剪切板上内容,脚本运行结束后,直接crtlv复制。 # -*- coding: utf-8 -*- import base64 impor…

Python识别发票图片

1.先去百度云官网注册登录,然后创建一个应用 2.创建应用后会有API KEY 和 Secret Key 3.获取token,在接口中填入API Key 和Secret Key import requests host https://aip.baidubce.com/oauth/2.0/token?grant_typeclient_credentials&client_idAP…

python图像识别与提取_python图像识别与提取

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 从机器学习的的角度来说,首先要提取图片的特征,将这些特征进行分类处理,训练并建立模型,然后在进行识别。 但是让计算机去区分这些图片分别是哪一类是很不容…

【pytesseract】python图片识别OCR库

目录 一、pytesseract简介1.1 pytesseract库1.2 pytesseract用途 二、pytesseract安装2.1 安装和配置底层应用Tesseract-OCR2.1.1 GitHub 官网地址:查看源码2.1.2 官网安装包:下载2.1.3 安装Tesseract-OCR2.1.4 配置环境变量2.1.5 查看Tesseract-OCR是否…

python识别图片表格内容

python-opencv表格识别 文章目录 python-opencv表格识别前言一、环境准备二、tesseract-OCR搭建1.tesseract-OCR2.debug tesseract 三、源码1.源码2.运行结果 总结 前言 提示:以下是本篇文章正文内容,python环境的搭建这里暂不做介绍,不会的…

python图片识别之tesseract

经过两个下午的尝试,终于搞出来了;特记录下来备忘; 首先来看python代码识别图片,这一段较为简单; from PIL import Image # import tesserocr # 完全可以不用这个 import pytesseractimage Image.open(rhahah.jpg)…

Python OCR识别图片

OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。可应用于银行票据、大量文字资料…

Python图片识别——人工智能篇

目录 一、安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力。 由于PIL仅支持到Python 2.7,所以在PIL的基础上创建了Pillow库&…

部署kvm

实验需求: 1、部署kvm 2、使用WebVirtMgr的WEB界面管理 3、在该WEB界面中安装一台Linux操作系统 环境说明: 系统:CentOS7 IP:192.168.253.145 1. CPU虚拟化功能 部署前请确保你的CPU虚拟化功能已开启,分为两种情况…

KVM是什么 机柜 机架服务器 怎么用

多个刀片服务器连接到KVM,使用KVM对它们进行统一管理 每个服务器在KVM上有一个序号,切换序号,桌面就会进入到对应的服务器 是看PORT ID 上面的ON LINE哪些灯亮,则代表连上了哪几个服务器

linux服务器部署kvm

1.查看系统版本 [rootlocalhost ~]# cat /etc/centos-release CentOS Linux release 7.5.1708 (Core)2.检查是否开启虚拟化。有VMX或者svm [rootlocalhost ~]# cat /proc/cpuinfo | egrep vmx|svm如果没有数据显示的话,关闭虚拟机,点击虚拟机设置。 3…

KVM服务器安装详解及其应用(Services02 DAY01)

安装一台KVM服务器  问题 本例要求安装一台可用的KVM服务器: 准备一台CentOS6服务器安装虚拟化相关包组启动libvirtd服务  方案 在CentOS6系统中,KVM虚拟化相关的软件组包括四个:虚拟化、虚拟化客户端、虚拟化工具、虚拟化平台&#xff…

服务器的虚拟kvm是什么,服务器 配置虚拟kvm功能

服务器 配置虚拟kvm功能 内容精选 换一换 Linux操作系统XEN实例变更为KVM实例前,必须完成驱动的安装和配置。本节操作指导您手动安装Linux云服务器驱动、配置磁盘自动挂载等,并将XEN实例变更为KVM实例。如需使用自动化脚本安装驱动的方法请参考XEN实例变…

kvm云服务器虚拟化,kvm虚拟化 云服务器

kvm虚拟化 云服务器 内容精选 换一换 用户在华东区创建了一个保护组及其保护实例,如表1所示。删除该保护实例,但不删除容灾站点服务器。然后在弹性云服务器页面,卸载容灾站点服务器的云硬盘,并将该云硬盘挂载给可用区AZ1中的其他云…

搭建KVM服务器(1)

安装虚拟化服务器平台 虚拟化概念 • KVM /QEMU /LIBVIRTD – KVM是linux内核的模块,它需要CPU的支持,采用硬件辅劣虚拟化技术 Intel-VT,AMD-V,内存的相关如Intel的 EPT 和 AMD 的 RVI 技术。 – QEMU 是一个虚拟化的仿真工具,通过 ioctl 不内核kvm 交互完成对硬件的虚拟化支…

稳定kvm服务器vps,kvm的服务器vps

kvm的服务器vps 内容精选 换一换 oVirt Engine是运行在基于JBoss的Java应用程序。该服务与主机上的VDSM进行通信,以部署、启动、停止、迁移和监控VM,并且还可以通过模板在存储上创建新的镜像。oVirt Engine以可扩展性、安全性、高性能为基础的架构技术&a…