利用OpenCV实现软件自动识别核酸检测时间

文章目录

  • 问题介绍
  • 一、前期准备工作
    • 1.Python的安装
    • 2.安装OpenCV-Python开发包
    • 3.安装Tesseract-OCR
  • 二、编写程序
    • 1.引入库
    • 2.使用Tesseract做文字识别(OCR)
    • 3.筛选日期
    • 4.日期运算
    • 5.运行程序
  • 总结

问题介绍

手机截屏核酸检测报告,利用OpenCV实现软件自动识别核酸检测时间是否在72小时之内。


一、前期准备工作

实现本任务需要的软件:

1.Python的安装

安装Python SDK时选择默认安装,同时勾选将其添加到环境变量中。
闲麻烦的可以直接从Microsoft Store下载
或者安装PyCharm
PyCharm下载地址

2.安装OpenCV-Python开发包

调用cmd,或在终端中使用pip指令安装:

如果下载网速较慢,可以使用清华镜像源地址,需要在命令结尾加上-i https://pypi.tuna.tsinghua.edu.cn/simple/
完整指令:

3.安装Tesseract-OCR

官方网站
官方文档
语言包地址
下载地址
首先安装Tesseract-OCR Python SDK支持,调用cmd,或在终端中使用pip指令安装:

然后点击下载地址链接安装Tesseract-OCR最新版本,然后在环境变量中添加:

安装与配置好OpenCV-Python与Tesseract-OCR之后,需要进一步通过代码验证正确性。打开Pycharm IDE,新建一个python项目与python文件,输入以下代码:

或者在终端中输入:

如果安装成功,会显示对应版本号和适用语言。
最后点击语言包地址链接安装chi_sim中文简体语言包,下载后将该包直接放在程序安装目录的tessdata文件夹里面即可。
命令行使用 tesseract –list-langs命令可查看当前软件支持的语言:

二、编写程序

1.引入库

本程序需要的库函数,代码如下(示例):

2.使用Tesseract做文字识别(OCR)

OCR(optical character recognition,光学字符识别)是指直接将包含文本的图像识别为计算机文字(计算机黑白点阵)的技术。图像中的文本一般为印刷体文本。
Tesseract是github上的OCR开源库,今天我们将使用Tesseract来进行文字识别。
比如我们需要识别核酸检测报告上的文字:

利用OpenCV实现软件自动识别核酸检测时间

运行结果:

利用OpenCV实现软件自动识别核酸检测时间
是因为我们选用的是英文标准库,如果需要识别中文我们需要将代码中lang的参数改为中文简体:

利用OpenCV实现软件自动识别核酸检测时间

4.日期运算

Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理。
datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。

用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:

使用datetime.now()可以获取系统日期:

格式化后的日期可以作减法,并通过delta.days()函数显示对应天数。

5.运行程序

运行程序,得到相应结果。

利用OpenCV实现软件自动识别核酸检测时间

总结

本文介绍了利用OCR方案,基于OpenCV实现软件自动识别核酸检测时间是否在72小时之内。程序能够准确运行的前提是截图清晰可见,如果用拍摄的图像作文字识别,需要利用OpenCV进行更多的图像处理,如二值化、投影变换等。

文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树首页概览11106 人正在系统学习中

来源:陈启航2002

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年6月1日
下一篇 2022年6月1日

相关推荐