码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python Opencv实践 - 入门使用Tesseract识别图片中的文字


            做车牌识别项目前试一试tesseract识别中文。tesseract的安装使用请参考:

    Python OCR工具pytesseract详解 - 知乎pytesseract是基于Python的OCR工具, 底层使用的是Google的Tesseract-OCR 引擎,支持识别图片中的文字,支持jpeg, png, gif, bmp, tiff等图片格式。本文介绍如何使用pytesseract 实现图片文字识别。 引言OCR(Opti…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/448253254        

    1. import pytesseract as tst
    2. import cv2 as cv
    3. import numpy as np
    4. import matplotlib.pyplot as plt
    5. #参考资料
    6. #https://zhuanlan.zhihu.com/p/448253254
    7. original_img = cv.imread("../../SampleImages/chineseCharacters.jpg", cv.IMREAD_COLOR)
    8. #图片转换为灰度图
    9. img = cv.cvtColor(original_img, cv.COLOR_BGR2GRAY)
    10. #二值化
    11. ret,img = cv.threshold(img, 160, 255, cv.THRESH_BINARY)
    12. plt.imshow(img, cmap='gray')
    13. imgH,imgW = img.shape
    14. print(imgH)
    15. print(imgW)
    16. #显示支持的语言列表
    17. print(tst.get_languages(config=''))
    18. #使用image_to_string将图片中的文字转换出来
    19. print(tst.image_to_string(img, lang='chi_sim'))
    20. #使用image_to_boxes返回识别的字符及边框
    21. boxes = tst.image_to_boxes(img, lang='chi_sim')
    22. print(boxes)
    23. #返回值:
    24. # 字符 左下角X 左下角Y 右上角X 右上角Y
    25. # 例子: 稳 116 616 268 690 0
    26. #绘制边框
    27. #注意,opencv的坐标系以左上角为原点,boxes中的参数是以左下角为原点
    28. for box in boxes.splitlines():
    29. elements = box.split()
    30. print(elements)
    31. x1,y1,x2,y2 = int(elements[1]), int(elements[2]), int(elements[3]), int(elements[4])
    32. #转换到opencv坐标系
    33. charHeight = y2 - y1
    34. y1 = imgH - y1 - charHeight
    35. y2 = imgH - y2 + charHeight
    36. print("Opencv character position:" + str(x1) + ' ' + str(y1) + ' ' + str(x2) + ' ' + str(y2))
    37. cv.rectangle(original_img, (x1, y1), (x2, y2), (0,255,0), 2)
    38. plt.imshow(original_img[:,:,::-1])

            image_to_boxes方法返回的坐标是以左下角为原点的,可以从打印中印证这一点。

  • 相关阅读:
    以太网帧间隙IFG详解(Interframe Gap帧间距)
    用ADAU1466开发板教你做音频开发,有手就行(一):芯片介绍
    Java常用的日期类
    Vue-Cli - Vue 脚手架的创建 以及 目录结构说明
    vue调用打印功能(print)
    kafka安装
    跨境电商网站建设 三大跨境品牌厂商综合评测
    事实胜于雄辩,苹果MacOs能不能玩儿机器/深度(ml/dl)学习(Python3.10/Tensorflow2)
    阿里云服务器大降价,在今年买服务器是真便宜!老用户可买99元服务器
    FPGA的64点FFT代码及报告,verilog快速傅里叶变换
  • 原文地址:https://blog.csdn.net/vivo01/article/details/134043654
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号