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 相关文章推荐
详细介绍Ruby中的正则表达式
Apr 10 Python
python中threading超线程用法实例分析
May 16 Python
python实现的希尔排序算法实例
Jul 01 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
Nov 24 Python
numpy matrix和array的乘和加实例
Jun 28 Python
DES加密解密算法之python实现版(图文并茂)
Dec 06 Python
Python中的支持向量机SVM的使用(附实例代码)
Jun 26 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
python入门教程之基本算术运算符
Nov 13 Python
PyCharm 光标变成黑块的解决方式
Feb 06 Python
python3实现无权最短路径的方法
May 12 Python
python 爬取吉首大学网站成绩单
Jun 02 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编写PDF文档生成器
2006/10/09 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
vue中的inject学习教程
2019/04/24 Javascript
js如何验证密码强度
2020/03/18 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
Python部署web开发程序的几种方法
2017/05/05 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python批量赋值操作实例
2018/10/22 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python中比较两个列表的实例方法
2019/07/04 Python
python3多线程知识点总结
2019/09/26 Python
python数据分析:关键字提取方式
2020/02/24 Python
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
运动会通讯稿500字
2014/02/20 职场文书
学生自我评语大全
2014/04/18 职场文书
2014大学生批评与自我批评思想汇报
2014/09/21 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
python 命令行传参方法总结
2021/05/25 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS