返回顶部
首页 > 资讯 > 精选 >如何实现Opencv图片的OCR识别
  • 128
分享到

如何实现Opencv图片的OCR识别

2023-06-06 15:06:08 128人浏览 泡泡鱼
摘要

小编给大家分享一下如何实现OpenCV图片的OCR识别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、图片变换0、导入模块导入相关函数,遇到报错的话,直接pip

小编给大家分享一下如何实现OpenCV图片的OCR识别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、图片变换

0、导入模块

导入相关函数,遇到报错的话,直接pip install 函数名。

import numpy as npimport argparseimport cv2

参数初始化

ap = argparse.ArgumentParser()ap.add_argument("-i", "--image", required = True,  help = "Path to the image to be scanned") args = vars(ap.parse_args())

Parameters:

--image images\page.jpg

1、重写resize函数

def resize(image, width=None, height=None, inter=cv2.INTER_AREA):  dim = None  (h, w) = image.shape[:2]  if width is None and height is None:   return image  if width is None:   r = height / float(h)   dim = (int(w * r), height)  else:   r = width / float(w)   dim = (width, int(h * r))  resized = cv2.resize(image, dim, interpolation=inter)  return resized

2、预处理

读取图片后进行重置大小,并计算缩放倍数;进行灰度化、高斯滤波以及Canny轮廓提取

image = cv2.imread(args["image"])ratio = image.shape[0] / 500.0orig = image.copy()image = resize(orig, height = 500)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = cv2.GaussianBlur(gray, (5, 5), 0)edged = cv2.Canny(gray, 75, 200)

3、边缘检测

检测轮廓并排序,遍历轮廓。

cnts = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHaiN_APPROX_SIMPLE)[0]# 轮廓检测cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:5]#保留前5个轮廓# 遍历轮廓for c in cnts:  # 计算轮廓近似  peri = cv2.arcLength(c, True)# 计算轮廓长度,C表示输入的点集,True表示轮廓是封闭的  #(C表示输入的点集,epslion判断点到相对应的line segment 的距离的阈值,曲线是否闭合的标志位)  approx = cv2.approxPolyDP(c, 0.02 * peri, True)  # 4个点的时候就拿出来  if len(approx) == 4:   screenCnt = approx   break

4、透视变换

画出近似轮廓,透视变换,二值处理

cv2.drawContours(image, [screenCnt], -1, (0, 255, 0), 2)warped = four_point_transfORM(orig, screenCnt.reshape(4, 2) * ratio)#透视变换# 二值处理warped = cv2.cvtColor(warped, cv2.COLOR_BGR2GRAY)ref = cv2.threshold(warped, 100, 255, cv2.THRESH_BINARY)[1]cv2.imwrite('scan.jpg', ref)

二、OCR识别

0、安装tesseract-ocr

链接: 下载

在环境变量、系统变量的Path里面添加安装路径,例如:E:\Program Files (x86)\Tesseract-OCR

tesseract -v#打开命令行,进行测试tesseract XXX.png result#得到结果 pip install pytesseract#安装依赖包

打开python安装路径里面的Python文件,例如C:\ProgramData\Anaconda3\Lib\site-packages\pytesseract\pytesseract.py
将tesseract_cmd 修改为绝对路径即可,例如:tesseract_cmd = ‘C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

1、导入模块

from PIL import Imageimport pytesseractimport cv2import os

2、预处理

读取图片、灰度化、滤波

image = cv2.imread('scan.jpg')gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = cv2.medianBlur(gray, 3)

3、输出结果

filename = "{}.png".format(os.getpid())cv2.imwrite(filename, gray)  text = pytesseract.image_to_string(Image.open(filename))print(text)os.remove(filename)

以上是“如何实现Opencv图片的OCR识别”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何实现Opencv图片的OCR识别

本文链接: https://lsjlt.com/news/247723.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何实现Opencv图片的OCR识别
    小编给大家分享一下如何实现Opencv图片的OCR识别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、图片变换0、导入模块导入相关函数,遇到报错的话,直接pip...
    99+
    2023-06-06
  • SpringBoot+OCR 实现图片文字识别
    本篇介绍的是基于百度人工智能接口的文字识别实现。 1. 注册百度云,获得AppID 此处百度云非百度云盘,而是百度智能云。 大家可进入https://cloud.baidu.com/...
    99+
    2024-04-02
  • Java+OpenCV实现图片中的人脸识别
    目录MatOfRect.detectMultiScale函数实现代码ImageViewer.javaDetectFace.java运行把识别出来的脸存成文件经过前三个教程,我们可以知...
    99+
    2024-04-02
  • 不到十行实现javaCV图片OCR文字识别
    spring boot项目pom文件中添加以下依赖  <!-- https://mvnrepository.com/artifact/org.bytedeco...
    99+
    2024-04-02
  • 【项目管理】Java OCR实现图片文字识别
    【项目管理】Java OCR实现图片文字识别 1.项目前言1.1 项目需求1.2 OCR引擎选择1.3 Tess4j介绍 2.项目实现2.1 项目搭建2.2 主要实现代码 3.效果演示...
    99+
    2023-09-03
    Java Swing OCR Tess4J 文字识别
  • Java如何使用Tessdata做OCR图片文字识别
    这篇文章主要介绍“Java如何使用Tessdata做OCR图片文字识别”,在日常操作中,相信很多人在Java如何使用Tessdata做OCR图片文字识别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java如...
    99+
    2023-06-20
  • 阿里云OCR图片文字识别(精确识别)
     根据需求通过composer下载SDK包  备注:composer 安装SDK包有问题可以指定版本进行升级 (去掉版本号前的^符可以指定版本升级)  代码实现: public function cs() { ...
    99+
    2023-09-07
    阿里云 服务器 php
  • 如何使用Python实现图像文字识别OCR
    要使用Python实现图像文字识别OCR,可以使用以下步骤: 安装Tesseract OCR引擎 Tesseract是一种开源OCR引擎,可以处理多种语言和字体。要使用Python进行OCR,需要安装Tesseract OCR引擎。安装...
    99+
    2023-09-09
    python opencv 计算机视觉 Powered by 金山文档
  • 如何用Python实现图像文字识别OCR工具
    这篇文章主要介绍“如何用Python实现图像文字识别OCR工具”,在日常操作中,相信很多人在如何用Python实现图像文字识别OCR工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python实现图像...
    99+
    2023-06-22
  • php如何实现身份证OCR识别
    这篇“php如何实现身份证OCR识别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何实现身份证OCR识别”文章吧。实...
    99+
    2023-07-04
  • Java和OpenCV怎么实现图片中的人脸识别
    要在Java中实现人脸识别,可以使用OpenCV库。以下是一个基本的示例代码:```javaimport org.opencv.co...
    99+
    2023-08-18
    Java OpenCV
  • Mac 上使用 Tesseract OCR 识别图片文本
    Tesseract OCR 引擎:Tesseract是一个开源的OCR引擎,你需要先安装它。可以从Tesseract官方网站(https://github.com/tesseract-ocr/tess...
    99+
    2023-10-07
    macos ocr
  • Python如何实现图片文字识别
    这篇文章主要为大家展示了“Python如何实现图片文字识别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python如何实现图片文字识别”这篇文章吧。前言什么是OCR光学字符识别(Optical...
    99+
    2023-06-25
  • 如何用 Python 进行 OCR 图像识别
    这篇文章主要介绍“如何用 Python 进行 OCR 图像识别”,在日常操作中,相信很多人在如何用 Python 进行 OCR 图像识别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用 Python 进行...
    99+
    2023-06-15
  • 如何在java项目中利用ocr实现一个图片文字识别功能
    这期内容当中小编将会给大家带来有关如何在java项目中利用ocr实现一个图片文字识别功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。最近在开发的时候需要识别图片中的一些文字,网上找了相关资料之后,发现g...
    99+
    2023-05-31
    java ocr ava
  • 如何利用React实现图片识别App
    先把效果图给大家放上来 个人觉得效果还行。识别不太准确是因为这个 app学习图片的时间太短(电脑太卡)。 (笔者是 window10) 安装运行环境: npm install ...
    99+
    2024-04-02
  • Python+Opencv识别两张相似图片
    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系。 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简单几句...
    99+
    2022-06-04
    两张 图片 Python
  • 基于Python实现图像文字识别OCR工具
    目录引言功能列表OCR部分界面部分软件代码参考链接引言 最近在技术交流群里聊到一个关于图像文字识别的需求,在工作、生活中常常会用到,比如票据、漫画、扫描件、照片的文本提取。 博主基于...
    99+
    2024-04-02
  • pytorch如何实现手写数字图片识别
    这篇文章给大家分享的是有关pytorch如何实现手写数字图片识别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下数据集:MNIST数据集,代码中会自动下载,不用自己手动下载。数据集很小,不需要GPU设备...
    99+
    2023-06-15
  • 如何利用OCR文字识别各种图文
    这篇文章主要讲解了“如何利用OCR文字识别各种图文”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用OCR文字识别各种图文”吧!【先上一张效果图】:一、原理:其实原理很简单:手机投屏到电...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作