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

: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批量识别图片指定区域文字内容相关推荐

  1. python查找图片区域_python批量识别图片指定区域文字内容

    python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  2. python将图片原比例缩小_Python批量按比例缩小图片脚本分享

    图片太大了,上百张图用photoshop改太慢,就想到用python写个简单的批处理.功能简单就是把原图按比例缩小 复制代码 代码如下: # -*- coding: cp936 -*- import ...

  3. php图片大小怎么改,如何批量修改图片大小/尺寸

    小编给大伙分享一个小巧实用的批量修改图片大小工具,可以批量修改图片大小尺寸,限制缩放后的图片文件大小,以满足在线照片打印的要求,或便于上传图片到网店商铺以方便您的照片展示.很是实用! 操作灰常简单的哟 ...

  4. python识别图片指定位置文字_python批量识别图片指定区域文字内容

    Python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  5. Python批量处理表格有用吗_python批量读入图片、处理并批量输出(可用于深度学习训练集的制作)...

    最近工作实在是太忙了,白浪花的项目没有及时跟进,很多知识也没有自学.好了,趁着现在等领导回复微信的时间,我把上周趁着零散时间做的工作总结一下.内容依然小白,但是却很重要. 项目情况简单描述一下,最终要 ...

  6. python批量裁剪图片_python批量剪切图片实现代码

    例子,python入门实例,python实现图片批量剪切. 代码: 代码示例: #!/usr/bin/python # www.# import os from PIL import Image #批 ...

  7. python写图片爬取软件_python制作微博图片爬取工具

    有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI--微博图片爬取工具.本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供 ...

  8. 如何用python批量处理图片大小_python批量修改图片大小的方法

    本文实例为大家分享了python批量修改图片大小的具体代码,供大家参考,具体内容如下 引用的模块 from PIL import Image Image的使用 def resize_image(img ...

  9. python生成器 图片分类_python批量处理图片图片Python迭代器和生成器介绍

    Python迭代器和生成器介绍迭代器 迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration ...

最新文章

  1. 运用jieba库分词
  2. Java Day01-2
  3. virtualenv wrapper安装配置
  4. 大数据时代的电信运营商的机遇
  5. python神经网络教程16_Python深度学习之神经网络视频
  6. 【设计模式之美】<Reading Notes>贫血模型与充血模型
  7. [剑指offer]面试题第[43]题[Leetcode][第233题][JAVA][1~n整数中1出现的次数][找规律][递归]
  8. 被该死的Openssl编译嘲讽了一个下午
  9. ORACLE 进入sqlplus的协议适配器错误
  10. seata分布式事务原理_又见分布式事务之Seata
  11. 导出域控中不活动的计算机_满满干货丨小薇和你聊聊计算机二级的那些事儿
  12. C语言 main函数参数 argc,argv 用处,控制台应用程序模板2
  13. 管理感悟:遇到问题,使用矩阵测试法
  14. 3dsmax动画六、骨骼调整及蒙皮。
  15. 数据仓库建设规范(文档版)
  16. 苹果cms替换资源_苹果maccms v10二次更新只替换某一个资源图片
  17. 罗永浩,天下“老赖”不独你一人!6位创业明星的陨落
  18. 求一个数的最小素因子外加快速分解质因子
  19. 嵌入式学习用什么编程语言
  20. Nuxt在SPA模式下的鉴权处理(1)

热门文章

  1. java扑克牌移动_蓝桥杯-扑克牌移动-java
  2. JavaScript垃圾回收
  3. java高级之注解详解
  4. 渗透专用linux镜像,安装DVWA渗透环境到CentOS7系统中(附百度云ova镜像下载)-Go语言中文社区...
  5. python安装与使用Ta-Lib,获取金融技术面特征
  6. pytorch构造可迭代的Dataset——IterableDataset(pytorch Data学习二)
  7. 解决IDEA Maven项目无法下载依赖
  8. 排序算法(5)----堆排序
  9. 简历javaweb项目描述怎么写_硬件工程师简历-项目经验怎么写【范文】
  10. 定期存款可以提前取出来吗_定期存款、约定转存、自动转存和自己取出来转存有什么不同?...