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程序中的运用
Mar 02 Python
Centos Python2 升级到Python3的简单实现
Jun 21 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 Python
python中numpy.zeros(np.zeros)的使用方法
Nov 07 Python
Python实现感知器模型、两层神经网络
Dec 19 Python
python机器学习理论与实战(二)决策树
Jan 19 Python
Python语言的变量认识及操作方法
Feb 11 Python
Python3最长回文子串算法示例
Mar 04 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
Mar 08 Python
python中取绝对值简单方法总结
Jul 24 Python
Python Selenium异常处理的实例分析
Feb 28 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
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
php调用c接口无错版介绍
2014/03/11 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
vue离开当前页面触发的函数代码
2020/09/01 Javascript
python中将字典形式的数据循环插入Excel
2018/01/16 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Python整数对象实现原理详解
2019/07/01 Python
Python shelve模块实现解析
2019/08/28 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
Python super()函数使用及多重继承
2020/05/06 Python
Python绘制动态水球图过程详解
2020/06/03 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
html5 canvas 实现光线沿不规则路径运动
2020/04/20 HTML / CSS
自动化专业毕业生自荐信
2013/11/01 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
保洁员岗位职责
2015/02/04 职场文书
初二数学教学反思
2016/02/17 职场文书
python执行js代码的方法
2021/05/13 Python
详解Java实现设计模式之责任链模式
2021/06/23 Java/Android