首页 > 其他分享 >基于opencv的OCR识别

基于opencv的OCR识别

时间:2023-05-06 16:13:48浏览次数:35  
标签:__ 识别 img cv2 imgpath opencv pytesseract OCR

前言

最近项目需要识别图片中的文字,实现之后把流程记录一下,希望对你有所帮助。

运行环境

win10,python3.8,opencv-python==4.7.0.68,pytesseract(需另外下载安装,请根据自己环境自行选择版本,dev表示正式版,beta测试版,w32位,W64位)

引用上述安装好的pytesseract

  #指定配合opencv图片文字解析的程序
  class OCR():
      def __init__(self):
          pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract.exe'

主程序

#-*- codeing = utf-8 -*-
import pytesseract
from PIL import Image
import cv2

class OCR():
      def __init__(self):
          pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract.exe'

      # 通用性中文识别
      def getocrtext(self, img):
          # 加载图片
          # img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
          # img = Image.open(imgpath)
          #图片转为二值图
          img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
          
          #根据需求再将图片变为黑白图片(灰度值大于127的重置像素值为255,否则重置像素值为0,也就是通过阈值127将图像二值化-要么黑要么白)
          ret, img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)

          #显示图片
          # cv2.imshow("image", img)
          # cv2.waitKey(0)
          #查看当前支持的语言格式
          # print(pytesseract.get_languages())
          #可组合查询 lang='chi_sim+eng' 表示 简体中文 + 英文
          text = pytesseract.image_to_string(img, lang='chi_sim')

          print("已识别文字-->", text)

          return text

if __name__ == "__main__":
    imgpath = '../test.png' #测试图片路径
    imgpath = cv2.imread(imgpath)
    OCR = OCR()
    text = OCR.getocrtext(imgpath)
    # print(text)

后续

这只是浅浅实现OCR识别,你也可以选择主流的百度ocr,阿里云ocr,pytesseract的字库太大了,也可以按需要自己训练字库,这样会大大提升识别准确度,有兴趣可以自行搜索相关文档。

标签:__,识别,img,cv2,imgpath,opencv,pytesseract,OCR
From: https://www.cnblogs.com/mqlwyz/p/17377510.html

相关文章

  • 国产工业级RK3568核心板-AI人脸识别产品方案
     迅为RK3568开发板采用瑞芯微推出的一款高性能、低功耗的RK3568处理器,其拥有强大的AI计算能力和图像处理能力,非常适合用于人脸识别终端产品的设计。针对人脸识别终端产品,可以采用RK3568处理器搭配摄像头模组、LCD显示屏、声音模组等组成系统。具体方案如下:      摄......
  • opencv 轮廓检测
    轮廓检测目录轮廓检测cv2.findContours特征矩cv2.drawContours轮廓特征计算轮廓面积计算轮廓周长轮廓检测的作用可以检测图图像或者视频中物体的轮廓计算多边形边界,形状逼近和计算感兴趣区域为了更精确地提取轮廓,请使用二值图。也就是说,在使用轮廓提取函数前,请将源图片运......
  • nrm : 无法将“nrm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称
    一、前言因为觉得npm下载太慢了,可能是镜像不行,需要不断的更换,我嫌找镜像太麻烦了,然后看到网上说使用第三方软件可以快速的修改、切换镜像源于是下载了nrm执行npmi-gnrm进行全局的下载下载完成后,执行命令nrmls报错了二、解决1、执行命令npmlist--depath=0-g查看是否......
  • C#通过Spire.OCR读取图片文字
    1、项目属性修改首先创建一个winform窗体程序,然后将其目标平台属性修改为【×64】,【Spire.OCR】只支持【×64】,所以这一步不能少  2、添加引用通过管理Nuget包实现添加引用步骤 3、包安装完成后将包中dll复制到项目文件夹>bin>Debug目录下 4、代码中实现选择图片并......
  • UbOpenCV 编译和安装
      1.环境OS:Ubuntu18.04/Debian10OpenCVversion:3.4.15Board:RK3399 2.编译和安装 搭建python3.7虚拟环境#依次安装gcc和cmake等编译环境#安装python3.7-tk和python3.7-dev#安装virtualenv虚拟环境sudoaptinstallgcccmakegitbu......
  • 图像识别入门教程,带你从零到一!
    图像识别是一门利用计算机技术来识别和处理图像中的信息的学科。图像识别的应用非常广泛,例如人脸识别、车牌识别、医学影像分析等。本教程将带你从零到一,了解图像识别的基本原理和方法,以及如何使用Python和TensorFlow等工具来实现图像识别的任务。本教程分为以下几个部分:-第一部......
  • OpenCV3训练人脸检测分类器生成XML文件的过程
    原文:https://www.bilibili.com/read/cv10624306/OpenCV训练自己的分类器注:本文写的是一个训练人脸分类器的例子,亲自试验过,采用的是openCV3.41.准备训练样本看网上说正负样本比例为1:3最佳;尺寸为20x20最佳附上人脸训练的数据集的下载链接:https://pan.baidu.com/s/1AxoIMFycfpeIMtD......
  • 龙泉寺贤超法师:用 AI 为古籍经书识别、断句、翻译
    By超神经内容提要:来自最强科研寺庙龙泉寺的贤超法师,近年来一直在研究人工智能与文献古籍的融合,目前,他已带领的《大藏经》团队实现AI自动标点、文白翻译、古籍文字识别等技术实践。关键词:NLP,LSTM,自动标点坐落在京郊凤凰岭脚下的龙泉寺,称得上全国甚至全球科研实力最强的佛教寺庙。......
  • 日本「AI 鱼脸识别」项目,每分钟识别 100 条
    By超神经内容提要:近日,日本的一个AI分拣鱼类项目进入实验阶段。这将有望改善日本渔业劳动力老龄化及短缺的社会现状。关键词:AI分拣鱼类计算机视觉日本作为岛国,其独特的地理位置,让国民自古以来就跟鱼结下了不解之缘,甚至形成了其独特的「鱼文化」。因此,日本无论是在养鱼、捕鱼还......
  • 【论文分析】COGMEN:基于上下文化GNN的多模态情感识别
    1.简述COGMEN:基于上下文化图神经网络的多模式情感识别架构,该架构既解决了上下文对语句的影响,也解决了用于预测会话中每个说话者的每一语句情感的相互依赖性和内部依赖性COGMEN有以下特点:基于上下文化图神经网络(GNN)的多模式情感识别架构,用于预测会话中每语句每说话者的情感......