OpenCv初学者笔记python(五)tesseract的下载安装、字母识别

目录

一、安装tesseract具体步骤

二、应用案例1:识别摄像头中的字符并输出

三、应用案例2:在识别的图片上框出单个字母


一、安装tesseract具体步骤

1.在GitHub上打开这个网址 https://github.com/UB-Mannheim/tesseract/wiki

 2.点击这个“64 bit”版本下载;

3.安装时选择语言为“English”,默认下载版本“Tesseract-OCR”,可更改下载路径;

 

二、应用案例1:识别摄像头中的字符并输出

import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = 'D:\\PycharmProjects\\tesseract\\tesseract.exe'

# 开摄像头
cap = cv2.VideoCapture(0)

 
# 循环读取每一帧
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        print('fail to open it')
        break

    # BGR转化为RGB
    img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    cv2.imshow('img', img)
    
    #若识别到的字符串非空,则在控制台输出识别到的字符
    if pytesseract.image_to_string(img) != '':
        print(pytesseract.image_to_string(img))

    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

 运行结果:(书包上的“R”不太标准,所以这里识别到有时候是“A",有时是“R”)

三、应用案例2:在识别的图片上框出单个字母

import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = 'D:\\PycharmProjects\\tesseract\\tesseract.exe'
# 读取图片,转为RGB,显示图片
img = cv2.imread('./charbaliuv.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 传回图片尺寸
himg, wimg, _ = img.shape
# 把识别到的字母传如boxes
boxes = pytesseract.image_to_boxes(img)
for b in boxes.splitlines():
    print(b)
    b = b.split(' ')
    print(b)
    x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
    # 画矩形
    cv2.rectangle(img, (x, himg-y), (w, himg-h), (0, 0, 255), 1)

# 显示画了矩形的图片
cv2.imshow('img', img)

cv2.waitKey(0)
cv2.destroyAllWindows()

运行结果:

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值