《OpenCV数字图像处理》课件-单元10检测和识别文字_第1页
《OpenCV数字图像处理》课件-单元10检测和识别文字_第2页
《OpenCV数字图像处理》课件-单元10检测和识别文字_第3页
《OpenCV数字图像处理》课件-单元10检测和识别文字_第4页
《OpenCV数字图像处理》课件-单元10检测和识别文字_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元10检测和识别文字OpenCV数字图像处理目录/CONENTS识别文字检测文字区域检测和识别模块化拓展阅读01020304识别文字01OCR光学字符识别(OpticalCharacterRecognition,简称OCR),是一种能够将图像中的文字信息提取出来,并转换成计算机可以处理的文本格式的技术OCR能够读懂财务票据中的信息,便于自动的财务管理、报销审核、数据分析和报表生成;能够自动识别学生答题卡上的答案,实现客观题的自动批改OCR能够识别纸质病历扫描件并转换为电子病历,方便医生查询和管理OCR能够读懂商品图片上的文字信息,如商品名称、价格、规格等,用于商品信息录入可从官方GitHub仓库获取源码,或从第三方网站下载安装包。Tesseract-OCR下载方式设置自定义安装路径,记住该路径以配置环境变量。安装过程安装软件和设置运行环境Tesseract-OCR版本一直在升级,可以从官方GitHub仓库下载最新版本的源代码,或者从第三方资源网站下载安装软件双击下载好的安装软件,安装就开始了安装过程中,需要设置安装路径,如图显示了默认的安装路径,这个路径需要记住,用于设置环境变量设置环境变量安装结束以后,查找Windows的“高级系统设置”,并打开“系统属性”窗口中的“高级”页面,设置环境变量先把Tesseract-OCR的安装路径加入环境变量”Path”中,然后新建一个变量名为“TESSDATA_PREFIX”的环境变量,变量值设置为”

C:\ProgramFiles\Tesseract-OCR\tessdata”,如图所示如果Tesseract-OCR的安装路径不是默认路径,则按实际安装路径设置安装软件和设置运行环境安装和设置结束以后,打开命令窗口,执行”tesseract-v”命令,如果看到图示的版本信息,则表示安装过程顺利完成了安装完成以后,就可以在命令窗口执行命令识别图像中的文字了右图显示了一个D盘下的图像文件“e.png”和命令执行结果安装软件和设置运行环境Tesseract-OCR目前不支持汉字,汉字识别包是Tesseract-OCR进行汉字识别所必需的模型文件GitHub仓库中能够找到汉字识别包”chi_sim.traineddata”或”chi_tra.traineddata”,分别识别简体中文和繁体中文下载以后拷贝到“C:\ProgramFiles\Tesseract-OCR\tessdata”路径下如果Tesseract-OCR的安装路径不是这个默认路径,则按实际安装路径设置使用命令"pipinstallpytesseract"在终端安装pytesseract包安装Pytesseract步骤01安装PytesseractPytesseract包的函数image_to_string()用于从图像中提取文字,这个函数的参数是一个PIL(PythonImagingLibrary)包的Image对象可选参数lang设置文字识别包,如果识别汉字,需要设置“lang='chi_sim'”PIL提供了广泛的图像处理功能,包括打开、保存、显示、格式转换等pytesseract使用PILImage对象作为输入,确保了其与各种图像格式的兼容性image_to_string函数作用02调用OCR接口识别文字#Example10_1importpytesseractfromPILimportImage#若已设置环境变量,下列加载命令可省略pytesseract.pytesseract.tesseract_cmd='C:/ProgramFiles/Tesseract-OCR/tesseract.exe'text=pytesseract.image_to_string(Image.open('ocr/ocr1.png'),lang='chi_sim')print(text)Image对象可由OpenCV的imread()函数读取的图像矩阵转换而来,用于调用image_to_string()。Image对象转换03调用OCR接口识别文字#Example10_2importpytesseractfromPILimportImageimportcv2pytesseract.pytesseract.tesseract_cmd='C:/ProgramFiles/Tesseract-OCR/tesseract.exe'image=cv2.imread("ocr/ocr1.png")image=Image.fromarray(image)text=pytesseract.image_to_string(image,lang='chi_sim')print(text)检测文字区域02EAST简介EAST(EfficientandAccurateSceneTextDetector)是一种高效准确的场景文本检测器,专为检测自然场景图像中的文字区域而设计OpenCV3.4以后的版本已经集成了EAST接口函数EAST已经有训练好的模型,可以用于快速、准确地检测图像中的文本区域。”frozen_east_text_detection.pb”文件是该模型的模型参数冻结图下载好以后,可以直接加载到OpenCV的项目中使用1.设置运行参数定义图像路径、模型路径,设置检测阈值、输入图像尺寸,用于后续文字检测。步骤1:导入包、设置运行参数fromimutils.object_detectionimportnon_max_suppressionimportnumpyasnpimporttimeimportcv2img_path='ocr/njRoad.png'model_path='model/frozen_east_text_detection.pb'#minConfidence=0.5,0.001,0.0005minConfidence=0.5width=320height=320阈值“minConfidence”分别设置为0.5、0.001、0.0005的返回结果四维NumPy矩阵,调整图像尺寸,计算图像缩放比例,填充Blob前先对图像进行预处理,如调整尺寸、颜色空间转换。2.加载图像,构造Blob步骤2:加载图像,构造Blobimage=cv2.imread(img_path)orig=image.copy()(H,W)=image.shape[:2]rW=W/float(width)rH=H/float(height)image=cv2.resize(image,(width,height))(H,W)=image.shape[:2]blob=cv2.dnn.blobFromImage(image,1.0,(W,H), (123.68,116.78,103.94),swapRB=True,crop=False)步骤3:读取检测模型,构造深度学习网络,执行检测print("[程序运行信息:]正在读取检测模型...")net=cv2.dnn.readNet(model_path) layerNames

=[ "feature_fusion/Conv_7/Sigmoid", "feature_fusion/concat_3"]start=time.time()net.setInput(blob)(scores,geometry)=net.forward(layerNames)end=time.time()print("[程序运行信息:]文字区域检测耗时:{:.6f}s".format(end-start))使用non_max_suppression()去除重复检测框,保留高分结果,确保每个文字区域只保留一个检测框。步骤5:执行非最大化抑制对比“minConfidence”,低于阈值的矩形框不保留,得分与坐标存入新列表。步骤4:设定检测阈值代码解释与优化去除坐标重复,根据比例调整并绘制文字检测矩形,使用绿色边框,厚度为2,确保可视化效果清晰。0102运行环境设置在OpenCV环境中,利用cv2.rectangle函数绘制矩形,并显示在“TextDetection”窗口,等待用户按键交互。步骤6:绘制检测结果矩形框检测和识别模块化03根据图像路径、模型路径和阈值执行文字检测,返回矩形框坐标组成的列表。检测模块功能01检测流程02读取图片,调整尺寸,加载模型,执行深度学习检测,计算并返回文字区域矩形框。检测模块利用PIL接口,ImageDraw在图像NumPy矩阵上写汉字,需预先准备"SimHei.ttf"字体文件。OpenCV添加汉字功能writeText函数,输入图像、汉字文本、起始坐标,返回带有汉字的新图像矩阵。汉字绘制代码实现汉字书写模块文字区域检测根据图像路径和检测模块返回的边界框,识别汉字,使用pytesseract库处理每个边界框内的文字。图像显示与标注识别后在原图上用矩形标注文字区域,使用绿色边框,调用自定义函数在图像上写入识别的汉字。文字识别模块将识别出的汉字保存到texts列表,每个边界框对应一个汉字,适当放大文字区域确保准确。文字识别与保存01显示标注后的“TextDetection”图像,用户可查看,按任意键关闭图像窗口,返回识别的汉字列表。用户交互反馈02文字识别模块拓展阅读04物体检测需要提取特征、分类和定位,传统方法如SIFT特征描述子和模型匹配在复杂场景下效果有限。技术原理R-CNN系列开创深度学习检测先河,FastR-CNN和FasterR-CNN通过优化提升了效率,YOLO则以高效实时的检测成为新宠。深度学习的变革物体检测技术详解在安防领域,物体检测能实时监测行人、车辆,提高公共安全管理水平,及时发现异常行为。安防监控在工业生产线上,物体检测能自动化检测产品缺陷,提高生产质量和效率,降低次品率。工业检测在自动驾驶中,物体检测技术是核心,它帮助车辆感知环境,做出安全驾驶决策,防止交通事故。自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论