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 基础之字符串string详解及实例
Apr 01 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
python实现视频分帧效果
May 31 Python
对django中foreignkey的简单使用详解
Jul 28 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
基于Numba提高python运行效率过程解析
Mar 02 Python
python logging.info在终端没输出的解决
May 12 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
python的flask框架难学吗
Jul 31 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
ThinkPHP模板中数组循环实例
2014/10/30 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
JavaScript自执行闭包的小例子
2013/06/29 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
Node.js模块加载详解
2014/08/16 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
小程序实现分类页
2019/07/12 Javascript
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
2013/11/27 Python
python图片验证码生成代码
2016/07/02 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
java判断三位数的实例讲解
2019/06/10 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
IE滤镜与CSS3效果(详细整理分享)
2013/01/25 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
公司道歉信范文
2014/01/09 职场文书
网络技术专业推荐信
2014/02/20 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
儿子满月酒致辞
2015/07/29 职场文书
学前班教学反思
2016/02/24 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers