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中的多重继承实例讲解
Sep 28 Python
深入理解python try异常处理机制
Jun 01 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python 数据结构之旋转链表
Feb 25 Python
numpy中矩阵合并的实例
Jun 15 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
python覆盖写入,追加写入的实例
Jun 26 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Python根据指定文件生成XML的方法
Jun 29 Python
python实现猜拳游戏项目
Nov 30 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集成FCK的函数代码
2008/09/27 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
jQuery实现购物车数字加减效果
2015/03/14 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
AngularJS基础 ng-value 指令简单示例
2016/08/03 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
详解javascript void(0)
2020/07/13 Javascript
python+opencv实现摄像头调用的方法
2019/06/22 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
python判断是空的实例分享
2020/07/06 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
户籍证明的格式
2014/01/13 职场文书
公司演讲稿开场白
2014/08/25 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
英语复习计划
2015/01/19 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
安全生产奖惩制度
2015/08/06 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis