python批量识别图片指定区域文字内容


Posted in Python onApril 30, 2019

Python批量识别图片指定区域文字内容,供大家参考,具体内容如下

简介

对于一张图片,需求识别指定区域的内容

1.截取原始图上的指定图片当做模板
2.根据模板相似度去再原始图片上识别准确坐标
3.根据坐标剪切出指定位置图片,也就是所需的内容区域
4.对指定位置图片进行ocr识别

环境

Ubuntu18.04
Python2.7

所需Python模块

1.aircv

用于识别模板再原始图的位置坐标

pip install aircv

2.Pillow

用于剪裁图片

pip install Pillow

3.Tesseract

文字识别
在此也可以用平台端的API进行更精准的识别
ubuntu下Tesseract环境安装

sudo apt-get install libpng12-dev 
sudo apt-get install libjpeg62-dev 
sudo apt-get install libtiff4-dev 
sudo apt-get install gcc 
sudo apt-get install g++ 
sudo apt-get install automake

1.tesseract-ocr安装

sudo apt-get install tesseract-ocr

2.pytesseract安装

pip install pytesseract

Python代码

识别对应位置

#!/usr/bin/python2.7 
# -*- coding: utf-8 -*- 
import aircv


def matchImg(imgsrc, imgobj, confidence=0.2):
 """
  图片对比识别imgobj在imgsrc上的相对位置(批量识别统一图片中需要的部分)
 :param imgsrc: 原始图片路径(str)
 :param imgobj: 待查找图片路径(模板)(str)
 :param confidence: 识别度(0<confidence<1.0)
 :return: None or dict({'confidence': 相似度(float), 'rectangle': 原始图片上的矩形坐标(tuple), 'result': 中心坐标(tuple)})
 """
 imsrc = aircv.imread(imgsrc)
 imobj = aircv.imread(imgobj)

 match_result = aircv.find_template(imsrc, imobj,
         confidence) # {'confidence': 0.5435812473297119, 'rectangle': ((394, 384), (394, 416), (450, 384), (450, 416)), 'result': (422.0, 400.0)}
 if match_result is not None:
  match_result['shape'] = (imsrc.shape[1], imsrc.shape[0]) # 0为高,1为宽

 return match_result

图片剪裁

#!/usr/bin/python2.7 
# -*- coding: utf-8 -*- 
from PIL import Image, ImageEnhance

def cutImg(imgsrc, out_img_name, coordinate):
 """
  根据坐标位置剪切图片
 :param imgsrc: 原始图片路径(str)
 :param out_img_name: 剪切输出图片路径(str)
 :param coordinate: 原始图片上的坐标(tuple) egg:(x, y, w, h) ---> x,y为矩形左上角坐标, w,h为右下角坐标
 :return:
 """
 image = Image.open(imgsrc)
 region = image.crop(coordinate)
 region = ImageEnhance.Contrast(region).enhance(1.5)
 region.save(out_img_name)

图片识别

#!/usr/bin/python2.7 
# -*- coding: utf-8 -*- 
import pytesseract
from PIL import Image

image = Image.open('bb.png')
code = pytesseract.image_to_string(image)
print(code)

对于三方API识别自行研究

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的绘图工具matplotlib使用实例
Jul 03 Python
python中实现定制类的特殊方法总结
Sep 28 Python
Python复制目录结构脚本代码分享
Mar 06 Python
Python的Flask框架应用程序实现使用QQ账号登录的方法
Jun 07 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
Python中安装easy_install的方法
Nov 18 Python
一篇文章搞懂Python的类与对象名称空间
Dec 10 Python
Tensorflow模型实现预测或识别单张图片
Jul 19 Python
python构建指数平滑预测模型示例
Nov 21 Python
Python如何实现FTP功能
May 28 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
Python3.5装饰器典型案例分析
Apr 30 #Python
python如何制作缩略图
Apr 30 #Python
Python3.5装饰器原理及应用实例详解
Apr 30 #Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 #Python
python制作图片缩略图
Apr 30 #Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 #Python
使用Python实现企业微信的自动打卡功能
Apr 30 #Python
You might like
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
PHP编程风格规范分享
2014/01/15 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
PHP实现获取域名的方法小结
2014/11/05 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
如何让动态插入的javascript脚本代码跑起来。
2007/01/09 Javascript
复制本贴标题和地址的js代码
2008/07/01 Javascript
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
JQuery 返回布尔值Is()条件判断方法代码
2012/05/14 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
python列表去重的二种方法
2014/02/14 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python3 socket同步通信简单示例
2017/06/07 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
企业标语口号
2014/06/10 职场文书
学校节水倡议书
2015/04/29 职场文书
推广普通话的宣传语
2015/07/13 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python