【实用工具】【图像处理,超大图片ocr识别,方案篇:化繁为简】

  • 前言
  • 1. 主流看图软件识大图
    • 1.1 windows自带软件
    • 1.2 photoshop
    • 1.3. ACDSee
  • 2. 直接识别
    • 2.1. 存在的问题
    • 2.1. 改进思路
  • 3. 改进后识别
    • 3.1 重采样
    • 3.2. 裁减图片
  • 4.结语

前言

最近有个项目需要对超大图片(分辨率大于90000 x 60000)内容进行识别,且图片上限不确定(客户使用专业制图工具生成);其中,样本选取TIF,JPG两种格式样本如下。

如图1所示,x3000.TIF分辨率为92127x63492,静态图片大小为650M
如图2所示,x2000.jpg分辨率为61418x42328静态图片大小为69.7M
那么windows自带看图软件打开以上图片表现如何,我在项目中如何解决此类问题呢?

1. 主流看图软件识大图

1.1 windows自带软件

(1)windows画图软件(mspaint.exe)。
加载x2000.jpg(69.7MB, 分辨率61418x42328)图片,打开失败。
(2)windows照片查看器
加载x2000.jpg(69.7MB, 分辨率61418x42328)图片,提示“内存不足”;如下图所示。

通过图3可知,打开x2000.jpg之前内存占用为4.19G,打开图片后峰值内存达到7.45G;且报出“内存可能不足”。则可知windows照片查看器占用内存 大于 3.26G(7.45-4.19),如此大的信息量加载,时间消耗也是巨大的。

1.2 photoshop

选取经典的photoshop软件为例,当打开x2000.jpg;photoshop峰值内存达到2G左右,图片原始大小7.26G, 如下图所示。

1.3. ACDSee

ACDSee整体表现较为优异,峰值内存约为300M左右;不随图片变大而上升。显示方式上,类似于逐行扫描的那种,一块一块向下逐渐显示;最后完成整图的显示。
ACDSee的解决方案,即是逐块进行加载;这也是在章节3中提到的重采样工具的设计思路。

2. 直接识别

2.1. 存在的问题

原始的图片太大;一般应用程序无法提供如此大的内存来加载原始图片(如x2000.jpg,原始图片大小7.26G, 压缩为jpg后大小为69.7M).目前,ocr直接识别会导致以下问题。
(1)ocr是基于区域识别的,如果分辨率过高导致识别窗口始终只能覆盖汉字的局部,如下图所示,假设屏幕为识别窗口,能捕获的文字如下图所示。

图6中,因对于9W*6W分辨率的打不开,实际图分辨率为22749x16722;将其放大5倍(500%),得到9W x 6W图的示意效果。
(2)对于市面上主流的图片识别或处理软件,大多是完全载入;当遇到分辨率过高时(如x2000.jpg;图片原始大小7.26G),如无优化会导致软件内存不足无法载入。测试过程中,windows的画图(mspaint.exe),自带识图(调用dlhost.exe)等都会导致弹出“无法载入”,卡死现象。

2.1. 改进思路

针对白底黑字的识别区域,如进行等比例缩放,选取有效区域进行针对性识别;是否会提升识别率呢,经过试验不影响识别效果; 以下是某“检查软件”识别效果。

3. 改进后识别

对于白底黑字的文字识别场景,分别实验“重采样”、“图片裁剪”因素对于识别率的影响。从实验结果看,对于白底黑字类样本,ocr识别率可迅速提升。

3.1 重采样

重采样通俗一点就是,将图片栅格化,每个栅格包含N个像素点,使用重采样算法输出所有栅格的输出值;输出图像采样率降为原有的1/N。常用的重采样算法如下(详细会在下一篇进行详细介绍)。

  1. 最邻近法。
  2. 双线性内插法。
  3. 三次卷积内插法。
    使用重采样工具(自研),对图片进行处理后,使用OCR识别图7所示。

3.2. 裁减图片

将图片识别区域变小,即对图片进行裁减后;经实验对于高分辨率的图片,提升识别率影响不大。但降低分辨率后,使用裁剪可提升识别效果。

4.结语

以上场景对于白底黑字图片,效果尤为明显;其中,图片转换工具为自研,可供大家交流学习。因该模块应用于正式项目,需提供MAC地址限制授权;大家可邮件联系:ausable@163.com,小波,或在评论区留言。

【实用工具】【图像处理,超大图片识别,方案篇:化繁为简】相关推荐

  1. python 识图点击_Python图片识别——人工智能篇

    一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支 ...

  2. Python图片识别——人工智能篇

    目录  一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于P ...

  3. python智能识别 病虫草害_Python图片识别——人工智能篇

    一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支 ...

  4. python识图 web_Python图片识别——人工智能篇

    一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于PIL仅支 ...

  5. 实用工具(锐捷云桌面篇)-Halo工具

    大家好,我是小杜.今日在学习的过程中又发现了一个云桌面好用的工具-"Halo工具". Halo工具是集云主机体检.故障信息收集工具.故障排查案例集.极简部署等于一体的工具,在完成体 ...

  6. 实用工具(锐捷睿易篇)

    大家好,我是小杜,美好的一天又开始了. 3个多星期以来,知道了设备如何登录,如何部署实施配置上网,学习的过程中发现了一个"惊为天人"的云管平台--诺客云MACC,睿易系列的产品用的 ...

  7. 实用工具(锐捷业务软件篇)

    大家好,我是小杜,又是元气满满的一天.这不,今天又是精神满满的来到了我的"战斗基地"-工位上,开始今天的学习战斗.从师傅那得知业务软件在部署的时候有几个很好用的工具,可以在业务中实 ...

  8. 快速入门开发实现订单类图片识别结果抽象解析

    一.背景 面对订单数据纸质文件或图片,仅靠人眼识别的话效率很低,需引入机器学习来识别和解析图片以提高效率.当前市面上已有收费的图片识别服务,包括阿里.百度等,识别效果较好,但针对订单类图片,不仅要关注 ...

  9. [验证码识别技术]-初级的滑动式验证图片识别

    初级的滑动式验证图片识别方案 1 abstract 验证码作为一种自然人的机器人的判别工具,被广泛的用于各种防止程序做自动化的场景中.传统的字符型验证安全性已经名存实亡的情况下,各种新型的验证码如雨后 ...

  10. gparted使用 ubuntu_如何使用 GParted 实用工具缩放根分区

    原标题:如何使用 GParted 实用工具缩放根分区 在这篇文章中,我们将教你如何使用 GParted 缩放在 Linux 上的活动根分区. -- Magesh Maruthamuthu(作者) 今天 ...

最新文章

  1. linux 模拟生成 CAN 设备
  2. mybatis oracle批量修改
  3. 重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符...
  4. 【2016年第1期】农业大数据资产管理面临的挑战与思考
  5. Python-Flask构建微信小程序订餐系统-Flask打造高可用flask mvc框架-08
  6. 软件开发计划_敏捷软件开发实践:估算与计划读书笔记125第23章 案例分析:Bomb Shelter Studio...
  7. 电工电子产品环境试验GB国标汇总
  8. lldp协议代码阅读_LLDP(lldp协议平时开启还是关闭)
  9. PayPal开发文档整理(2)- 开发者文档介绍
  10. matlab 调和级数作图,华工数学实验报告斐波那契数列.doc
  11. pico3pro使用unity播放360全景视频及事件交互
  12. java 创建新的图片,底色自己设定
  13. aria2的安装使用
  14. 通过TMG发布ActiveSync
  15. 基于凌鸥平台的120° 方波控制 BLDC 无感 比较器反电动势过零点
  16. word中插入endnote 为什么会是大括号,而且后面没有文献
  17. android收集备忘录恢复工具,手机小小备忘录数据恢复大问题轻松恢复文件看这里...
  18. 第6章 面向对象的程序设计
  19. 教师资格证材料分析题答题模板,可直接套用!
  20. select: Invalid argument

热门文章

  1. Android用户注册界面设计
  2. 计算机组成原理图ei,(完整版)计算机组成原理试题库(含答案)-
  3. 【词法分析和语法分析】编译原理实验一(hit)2022-lab1
  4. Timer already cancelled 或者 Task already scheduled or cancelled
  5. NAT技术及NAT ALG
  6. WSN基于自适应网格的多目标定位算法
  7. 《跑步人生》 作者:村上春树
  8. Windows 10配置远程开机
  9. c语言计算个人所得税作业,C语言用文件计算个人所得税
  10. Win11 25179.1000补丁推送了!