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实现ssh批量登录并执行命令
Oct 25 Python
Django 如何获取前端发送的头文件详解(推荐)
Aug 15 Python
python学习教程之使用py2exe打包
Sep 24 Python
Python subprocess模块详细解读
Jan 29 Python
Python设计模式之外观模式实例详解
Jan 17 Python
Python中的元组介绍
Jan 28 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
Django 限制访问频率的思路详解
Dec 24 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 Python
python 制作简单的音乐播放器
Nov 25 Python
在Pycharm中安装Pandas库方法(简单易懂)
Feb 20 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侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
2009/10/15 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
星球大战与Python之间的那些事
2016/01/07 Python
python交互式图形编程实例(三)
2017/11/17 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Python实现的建造者模式示例
2018/08/06 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
仓库管理计划书
2014/05/04 职场文书
会计求职信范文
2014/05/24 职场文书
关爱残疾人标语
2014/06/25 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
戒赌保证书
2015/05/11 职场文书
运动会1000米加油稿
2015/07/21 职场文书
python控制台打印log输出重复的解决方法
2021/05/14 Python