学会用python识别图像

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

用 Python 进行 OCR 图像识别

Python中文社区

Python中文社区

全球Python中文开发者的精神部落

数据采集就怕遇到图片,只能看不能复制怎么办。手动将文字提取出来,要耗费很大的工作量。

例如下图,某楼盘的一房一价表,怎么样发现单价低位的房子?光凭肉眼很难发现吧,能否让计算机进行文字的识别,然后再对这些数值型信息进行数据分析?

图片

首先把图片中的单价提取出来,

图片

进而生成图像:

图片

用python就可以实现,采用现在流行的OCR图像识别。主要思路是使用机器学习模式,通过已有图片手动训练出一个图像识别模型,具体步骤如下:

一、将图片预处理,更方便计算机识别

(一)把图像灰化

使用open-cv库对图片进行处理。

使用灰化后的图片,如下图,排除干扰信息,能让识别更加稳定。

图片

(二)把图片分割

将图片分割成小方块,一是提高识别精度,二是方便将数据储存为表格形式。可以设定好参数,根据坐标系把图片裁剪成一个个小方块,如下图,储存为jpg格式。

图片

二、建立图像识别模型

(一)将分割好的小方块图片合并成tiff文件

下载jTessBoxEditor,打开jTessBoxEditor.jar,使用tools下的merge tiff工具,将图片合并成tiff文件。

(二)使用已有模型对tiff文件进行初识别

下载并安装tesseract,并配置好环境变量,将Tesseract-OCRtessdata的路径加入到环境变量下的path下面。

Tesseract自带图像识别的模型,例如中文简体汉字识别模型chi_sim.traineddata,英文识别模型eng.traineddata,这些模型可以网上下载,放到tessdata里面即可使用。

然后进入tiff所在文件夹。在命令窗口,输入:tesseract ***.tif *** -l +++ -psm 7 batch.nochop makebox,按回车生成box文件。其中***tif的文件名,+++为要生成的traindata的文件名。

(三)使用jTessBoxEditortiffbox文件进行调整

打开jTessBoxEditor.jar,在box editor中的open按钮,打开要编辑的tif文件。编辑之后保存,生成box文件。保存在同一个文件夹里。

(四)使用tiff和box文件生成模型

在tiff和box的文件中,在命令窗口输入以下代码,最终生成模型(traindata文件)

图片

上述脚本也可以写在bat文件中,运行脚本来生成traindata,最终仅需要将traindata复制到tessdata里面,即可使用该模型。

三、应用图像识别模型

安装完,训练完模型之后,就要在python中使用模型了。安装pytesseract,找到pytesseract.py文件,打开编辑,将其中的“tesseract_cmd = 'tesseract'”,改成tesseract的安装路径(如C:\Program Files\Tesseract-OCR\\tesseract)。

因为模型是采用灰化后的图片训练的,所以在识别时也要使用灰化。

图片

四、优化图像识别模型

在使用中,如果有错误,可以存下来,加入训练库,优化图像识别模型。在一般是识别错误的图片,积攒一阵子后。累积做成tif文件。注意:同类错误选择几个记号了,训练库尽量小而精。

图片


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

相关文章

【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…

维护华为服务器的好工具KVM

以前维护服务器,要么打开远程桌面,要么打开telnet,或者使用其他的远程工具,今天维护一台新购买的华为服务器,使用了华为官网下载的KVM,真好用! 使用网线,找到Mgmt的网口插入&#xf…