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的数字类型变量与其方法
Nov 20 Python
详解python中requirements.txt的一切
Mar 03 Python
AI人工智能 Python实现人机对话
Nov 13 Python
详解如何利用Cython为Python代码加速
Jan 27 Python
python爬取个性签名的方法
Jun 17 Python
对IPython交互模式下的退出方法详解
Feb 16 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 Python
Python使用monkey.patch_all()解决协程阻塞问题
Apr 15 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
pytorch SENet实现案例
Jun 24 Python
Python通过len函数返回对象长度
Oct 22 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 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实现文件上传二法
2006/10/09 PHP
PHP4与PHP3中一个不兼容问题的解决方法
2006/10/09 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
async/await优雅的错误处理方法总结
2019/01/30 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
python3中bytes和string之间的互相转换
2017/02/09 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
python3 动态模块导入与全局变量使用实例
2019/12/22 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
用python读取xlsx文件
2020/12/17 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
什么是事务?事务有哪些性质?
2012/03/11 面试题
应届毕业生就业自荐信
2013/10/26 职场文书
毕业生自荐书
2014/02/03 职场文书
煤矿安全承诺书
2014/05/22 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2015年度保密工作总结
2015/04/24 职场文书
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技