pytesseract识别数字

2023-05-16

针对工程需求精度不够,目前只能识别率为86%左右。

用tesseract的深度学习可能会好一点,没搞懂怎么用?

单张图片

import cv2
import numpy as np
import matplotlib.pyplot as plt
import pytesseract
import os

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"

img_orig = cv2.imread('images/OCR/OCRS116.jpg')

image_RGB = cv2.cvtColor(img_orig, cv2.COLOR_BGR2RGB)

# 提取感兴趣区域
# cv2.rectangle(image_RGB, (1150,820),(1400,950),(0,0,255),1)
ROI = image_RGB[820:950, 1166:1380]
img = ROI
print(img.shape)
# print(pytesseract.image_to_boxes(ROI))

# cv2.imshow("roi", ROI)
# cv2.waitKey(0)

kernel = np.ones((5, 5), np.uint8)
open_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

# 二值化
left_thred = 240
gray_img = cv2.cvtColor(open_img, cv2.COLOR_RGB2GRAY)
ret, thresh1 = cv2.threshold(gray_img, left_thred, 255, cv2.THRESH_BINARY)

# 根据自己的图像情况处理
# thresh1[0:20, 0:100] = 255
# thresh1[100:129, 0:210] = 255
# 模糊操作
blur = cv2.blur(thresh1,(3,3))


cv2.imshow("blur",blur)
cv2.waitKey(0)

img_strings = pytesseract.image_to_string(blur)
# 输入想要的字符段
print(img_strings[:6])

文件夹中多张图片

import cv2
import numpy as np
import matplotlib.pyplot as plt
import pytesseract
import os

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"

config='--psm 6 --oem 1 -c tessedit_char_whitelist=0123456789'

path = r"D:\BUFFER\Pycharm\OpencvLearn\images\OCR"
for filename in os.listdir(path):  # listdir的参数是文件夹的路径
    filenames = path + '\\' + filename
    # print(filenames)
    img_orig = cv2.imread(filenames, 1)
    # print(filenames)

    image_RGB = cv2.cvtColor(img_orig, cv2.COLOR_BGR2RGB)
    # cv2.rectangle(image_RGB, (1150,820),(1400,950),(0,0,255),1)
    ROI = image_RGB[820:950, 1165:1380]
    img = ROI
    # print(pytesseract.image_to_boxes(ROI))

    # cv2.imshow("roi", ROI)
    # cv2.waitKey(0)

    kernel = np.ones((5,5), np.uint8)
    open_img = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

    # cv2.imshow("images", open_img)
    left_thred = 240
    gray_img = cv2.cvtColor(open_img,cv2.COLOR_RGB2GRAY)
    ret, thresh1 = cv2.threshold(gray_img, left_thred, 255, cv2.THRESH_BINARY)

    thresh1[0:20, 0:100] = 255
    thresh1[105:129, 0:210] = 255
    blur = cv2.blur(thresh1, (3,3))
    # cv2.imshow("thresh",thresh1)
    # cv2.waitKey(0)
    img_strings = pytesseract.image_to_string(blur)
    print(img_strings[:6])

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytesseract识别数字 的相关文章

随机推荐

  • windows安装ubuntu时错误WslRegisterDistribution failed with error: 0x8007023e的解决方法

    cmd或者powershell安装 xff0c 或者打开linux时 莫名的出现了如下错误 xff1a Installing this may take a few minutes span class token punctuation
  • opencv安装时找不到cuda的错误解决方式

    编译环境 ubuntu1604 43 opencv3 2 43 cuda8 0 编译opencv时碰到如下是错误Scanning dependencies of target example gpu alpha comp CMakeFile
  • VNCViewer连接树莓派失败、显示超时的部分原因

    刚入手树莓派 xff0c 在用VNCViewer这款软件实现树莓派的图形化桌面时遇到了一些坑 xff0c 在这里分享 xff0c 希望能对大家有所帮助 1 在文本框内输入IP地址之后一定要记得加上 端号 xff0c 如下图所示 这个端号在P
  • 洛谷 - p2651 添加括号III(思维,数学)

    题目传送 题意 思路 我们首先想想如何判断一个分数是否能约分成整数 判断方法 1 我们可以分解分子的质因子和分母的质因子 xff0c 如果分母的质因子数量和种类数完全被分子的质因子包括 xff0c 那么一定可以约分成为整数 2 如果分母的所
  • 分数取模(费马小定理)

    费马小定理 若p是质数 xff0c 且p与a互质 xff0c 有等式 a p 1 p 61 61 1 p 那么我们在这上面变一下型 俩边同除a a p 2 p 61 61 a 1 p 那么我们再在俩边同乘b b a p 2 p 61 61
  • Verilog中两种位宽声明方式在赋值和例化时的思考

    文章目录 一 赋值二 例化1 大端 gt 大端 xff0c 小端 gt 小端2 大端 gt 小端 xff0c 小端 gt 大端 总结 近来在学习VHDL时发现其有TO和DOWNTO两种声明位宽的方式 xff0c 不同方式在赋值操作时存在差异
  • ROS学习笔记(2)创建ROS工作空间

    一 创建一工作空间 1 新建一个文件夹 xff0c 路径中应当没有中文 2 在文件夹中新建一个文件夹名字叫src xff0c 在ros工作空间中src文件夹是必须的 3 在文件夹中右键打开终端 xff0c 如果不是右键打开终端 xff0c
  • linux下freeswitch安装详细教程

    前言 xff1a 本次安装freeswitch为1 6 0版本 xff0c 其他版本可能出现异常 百度智能语音MRCP搭建教程参照 xff1a freeswitch呼叫中心之百度MRCP语音合成识别环境搭建 十年一梦惊觉醒的博客 CSDN博
  • Ubuntu切换lightdm后不能修改分辨率,强行修改xorg.conf重启后只能进入tty模式

    目录 出现问题 如题 问题背景 探索过程 解决办法 查看日志 出现问题 如题 问题背景 描述 因为需要使用向日葵远程控制 xff0c 发现win10不能远程控制ubuntu 百度后提示 造成的原因有如下 xff1a 1 桌面环境是否开启 x
  • pip3 指定国内源

    pip3 install index url https pypi douban com simple Image
  • 【linux】 profile和bashrc, ~/.profile ,~/.bashrc

    影响范围 1 profile和bashrc 影响范围加载 etc profile etc profile d 系统 xff08 对所有用户起作用 xff09 系统登录后 profile用户启动bash shell etc bash bash
  • sqlitespy怎么打开.db数据库文件

    百度搜索SQLiteSpy xff0c 下载 双击打开SQLiteSpy 点File Open DataBase 找到要打开的 db数据库文件 xff0c 点打开 这样数据库就打开了 xff0c 可以看到左侧表 右键点击一个表 Show D
  • OSI/ISO详解

    前段时间学习的需要 xff0c 在论坛泡了几天 xff0c 加上自己的看法 xff0c 总结出了这个详解 当然其中很多是从论坛里面搬运过来 xff0c 所以如有错误之处 xff0c 还望各位积极指正 一 OSI模型概述 xff1a 1概念
  • 使用wsl命令迁移WSL。

    1 打开CMD xff0c 查看所有WSL 执行 xff1a wsl l all v 显示 xff1a Windows Subsystem for Linux Distributions Ubuntu 20 04 Default 2 导出W
  • 使用脚本重启WSL(ubuntu)。

    1 创建 重启脚本文件 bat cmd 编辑脚本 xff0c 输入 xff1a net stop LxssManager net start LxssManager 保存关闭 2 运行脚本 脚本运行需要管理员权限 解决方法 xff1a xf
  • C# winform treeview GDI+流程连线 流程图 树形流程图

    C winform treeview GDI 43 流程连线 流程图 树形流程图 TreeView Paint的方法呈现效果 xff0c 具体如下 1 点击连线按钮开始准备连线 2 点击第一个连线的起始节点 3 再点击第二个连线的结束节点
  • 使用STM32寄存器点亮LED流水灯

    目录 一 什么是寄存器GPIO 二 使用寄存器点亮LED灯1 建立工程模板1 1 建立相关文件1 2 建立工程1 3 配置环境 2 配置GPIO端口2 1 配置时钟使能2 2 初始化结构体2 3 配置输入输出模式 3 主要函数3 1 led
  • frp内网穿透—将kali代理在公网中进行渗透测试

    文章目录 前言Frp简介准备工具实现内网穿透frp服务端配置frp客户端配置 测试HTTP服务测试ssh服务测试反弹shell测试 注意 前言 由于工作常需要用到kali xff0c 但是公网服务器并没有安装kali镜像 xff0c 本地只
  • 最小二乘法解的矩阵形式推导

    最小二乘法解的矩阵形式推导 首先 xff0c 什么是最小二乘 xff1f 维基百科给出了一个定义 xff0c 戳这里 在我看来 xff0c 最小二乘法是一种数据拟合方法 我们从矩阵的角度来理解 xff1a 首先我们给出一个矩阵中的定义 xf
  • pytesseract识别数字

    针对工程需求精度不够 xff0c 目前只能识别率为86 左右 用tesseract的深度学习可能会好一点 xff0c 没搞懂怎么用 xff1f 单张图片 import cv2 import numpy as np import matplo