一、基本流程

1.OpenCV图像基础操作,如读取,灰度转换等

2.阈值操作,如二值化

3.canny边缘检测以及boundingBox构建

4.卷积核构建

5.膨胀操作

6.形态学操作如close操作

7.用pyplot查看图片,便于debug

8.高斯滤波

9.easyocr库函数调用

10.仿射变换

二、代码如下

import easyocr
import re
import cv2
import numpy as np
import math#一、利用opencv处理图片
def simpledeal(img):img_str = cv2.imread(img)# 对照片进行灰度处理img_gray = cv2.imread(img,0)#进行高斯滤波去掉环境中的噪点img_blur = cv2.GaussianBlur(img_gray,(5,5),1)cv2.imwrite('result.jpg', img_blur)# #边缘检测# edges = cv2.Canny(img_blur, 10, 400)# kernel = np.ones((2, 2), np.uint8)# rectKernel = cv2.getStructuringElement(cv2.MORPH_RECT, (15, 15))# edges_close = cv2.morphologyEx(edges, cv2.MORPH_CLOSE, rectKernel)# edges_dilate = cv2.dilate(edges_close, kernel, iterations=3)## contours, hierarchy = cv2.findContours(edges_dilate, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)# contours = sorted(contours, key=lambda cnts: cv2.arcLength(cnts, True), reverse=True)## img_copy = img_str.copy()# res = cv2.drawContours(img_copy, contours, 0, (0, 0, 255), 2)# img_copy = img_str.copy()# cnt = contours[0]# epsilon = 0.03 * cv2.arcLength(cnt, True)  # epsilon占周长的比例# approx = cv2.approxPolyDP(cnt, epsilon, True)# res2 = cv2.drawContours(img_copy, [approx], -1, (0, 0, 255), 5)# [[lt], [lb], [rb], [rt]] = approx# [ltx, lty] = lt# [lbx, lby] = lb# [rbx, rby] = rb# [rtx, rty] = rt## # 仿射变换# width = max(math.sqrt((rtx - ltx) ** 2 + (rty - lty) ** 2), math.sqrt((rbx - lbx) ** 2 + (rby - lby) ** 2))# height = max(math.sqrt((ltx - lbx) ** 2 + (lty - lby) ** 2), math.sqrt((rtx - rbx) ** 2 + (rty - rby) ** 2))# pts1 = np.float32([[ltx, lty], [rtx, rty], [lbx, lby], [rbx, rby]])# pts2 = np.float32([[0, 0], [width, 0], [0, height], [width, height]])# M = cv2.getPerspectiveTransform(pts1, pts2)# width = int(width)# height = int(height)# dst = cv2.warpPerspective(img_str, M, (width, height))# resu = cv2.threshold(dst, 120, 255, cv2.THRESH_BINARY)[1]# cv2.imwrite('result.jpg', resu)#二、通过easyocr实现对文字的识别
def ocrsb():color=(0,0,255)thick=3reader = easyocr.Reader(['ch_sim','en'],gpu=False)result = reader.readtext('result.jpg',detail=0)for res in result:print(res)def main():img = 'jkb.jpg'simpledeal(img)ocrsb()
if __name__ == '__main__':main()

python的easyocr图像文字识别相关推荐

  1. Python实现批量图像文字识别并指定部分提取

    当我们在工作中需要批量识别同一区域内的一些数字时候可以用Python实现 需要用到这些库 easyocr openvc os matplotlib 核心是前两个 opevc实现图象裁剪,easyocr ...

  2. 基于Python实现的图像文字识别OCR工具

    引言 最近在技术交流群里聊到一个关于图像文字识别的需求,在工作.生活中常常会用到,比如票据.漫画.扫描件.照片的文本提取. 博主基于 PyQt + labelme + PaddleOCR 写了一个桌面 ...

  3. 基于Python实现的图像文字识别OCR工具,包含GUI界面附完整版代码可直接运行

    引言 最近在技术交流群里聊到一个关于图像文字识别的需求,在工作.生活中常常会用到,比如票据.漫画.扫描件.照片的文本提取. 博主基于 PyQt + labelme + PaddleOCR 写了一个桌面 ...

  4. 2021-02-21 Python Easyocr 图片文字识别

    Python Easyocr 图片文字识别 前段时间做了车牌识别相关的内容分享,参看: 车牌识别(1)-车牌数据集生成 车牌识别(2)-搭建车牌识别模型 今天给大家分享一个简单的OCR文本识别工具:e ...

  5. 如何使用Python实现图像文字识别OCR

    要使用Python实现图像文字识别OCR,可以使用以下步骤: 安装Tesseract OCR引擎 Tesseract是一种开源OCR引擎,可以处理多种语言和字体.要使用Python进行OCR,需要安装 ...

  6. python制作文字识别_用Python轻松进行图像文本识别

    用Python轻松进行图像文本识别 作者:梅朵 微信公众号:实用办公编程技能 微信号:Excel-Python 最近,办公室的同事小李在整理一份报告,很多材料的电子版找不到了,都是纸质版的,纸质版上的 ...

  7. 使用python进行图片的文字识别

    使用python进行图片的文字识别 文章目录 使用python进行图片的文字识别 安装 Tesseract OCR 安装过程 配置系统的环境变量 安装python的第三方库 Pytesseract库 ...

  8. 图像文字识别(三):Tesseract4.0训练字库,提高正确识别率

    由于tesseract的中文语言包"chi_sim"对中文手写字体或者环境比较复杂的图片,识别正确率不高,因此需要针对特定情况用自己的样本进行训练,提高识别率,通过训练,也可以形成 ...

  9. 应用示例:图像文字识别

    Problem Description and Pipeline 在图像文字识别应用中,我们希望从给定的图片中识别图中的文字,如: 为了实现图像文字识别,常采取如下步骤: 文字检测(text dete ...

  10. Prizmo Pro for Mac(OCR图像文字识别工具)

    Prizmo Pro mac版可以自动扫描相机中的图片,可根据用户选择的文档类型进行特殊处理,支持常用的扫描仪.数码相机.iPhone.iPad 等,也支持自动截图桌面部分区域然后识别出文字,非常的有 ...

最新文章

  1. 实验3  数据库综合查询
  2. #地形剖面图_高中地理——每日讲1题(地形剖面图)
  3. BCompare日志
  4. linux scp密码参数,使用scp命令安全地传输带有参数的文件
  5. 记录 之 numpy扩充某一维度,并重复填充
  6. Electric device abnormal detection based on IoT and knowledge graph-学习笔记
  7. Linux软件安装——安装软件的命令
  8. Codeforces Round #588 (Div. 2) F. Konrad and Company Evaluation 图论 + 建反图 好题
  9. 利用Spring MVC 上传图片文件
  10. linux 同一个ip 绑定两个不同的域名 访问两个不同的项目
  11. 微软程骉:智能医疗产业化应用的挑战和解决之道
  12. 李洪强iOS经典面试题30-一个区分度很大的面试题
  13. 【交通标志识别】基于matlab GUI模板匹配交通标志识别【含Matlab源码 1059期】
  14. 百度 PaddlePaddle开源视频分类模型Attention Cluster,曾夺挑战赛冠军
  15. linux中找不到vim命令
  16. 怎么在Word上编辑数学公式?教你一招
  17. 真实如刀的洞见:和扶墙老师聊技术、组织和商业
  18. 计算机右键菜单更换顺序,电脑图标排列顺序怎么自己改变了
  19. Flutter 插件开发:iOS篇
  20. 数据库八股文--藤原豆腐店自用

热门文章

  1. 你未必知道的 WebRTC – 前世、今生、未来
  2. android 6.0 vs ios9,安卓6.0彻底看呆!iOS 9安装率曝光 完胜
  3. 如何根据观看距离来确定合适的投影幕布尺寸?
  4. ios vue 添加本地音乐_vue怎么添加音乐 vue怎么添加手机音乐
  5. IE6不兼问题之Internet Explorer 无法打开 internet站点
  6. 小学生计算机知识技能竞赛,2016年春季小学生六项技能竞赛计算机试卷.doc
  7. 汉庭董事长季琦:成功创业者的必经之路
  8. 【Pigeon源码阅读】服务发现与调用初始化流程解析(五)
  9. datealive软件最新_约会大作战手游官网版下载-约会大作战正版手游下载地址v3.79_86PS软件园...
  10. Linux------进程概念、进程控制