热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python3.6实现图片转文字

因项目所需,要对图片进行基本的文字识别,联想到手机qq有图片自动提取文字功能,觉得肯定有可以调用的外部api。查了一下,比较常用的python实现图片转文字的库是pytesseract(第一

因项目所需,要对图片进行基本的文字识别,联想到手机qq有图片自动提取文字功能,觉得肯定有可以调用的外部api。查了一下,比较常用的python实现图片转文字的库是pytesseract(第一反应联想到漫威中的宇宙魔方Tesseract哈哈哈哈

实验环境:

win10+pycharm2018.1+python3.6

所需库:

Pillow             4.3.0

pytesseract        0.2.0

安装都很简单,在cmd命令行里直接pip3 install xxxxx就行。

敲黑板,安装完库还不行,还要安装tesseract的软件,这样系统才能识别引擎成功读取文字。

可从github下载tesseract-ocr-setup-4.00.00dev

https://github.com/tesseract-ocr/tesseract/wiki/4.0-with-LSTM#400-alpha-for-windows


安装的时候要注意,tesseract的安装并不默认安装什么语言,如果自己需要简体中文的语言包,那么就不能一直点next点到finish。如下图,我安装了MATH和简体中文包。




好了进行完上述预备阶段的任务,代码就很简单了。

import pytesseract
from PIL import Image
import datetime


def main():
    for i in range(1,2):
        starttime = datetime.datetime.now()
        image = Image.open(r"C:\Users\夹心\Desktop\计算机网络_"+str(i)+".png")
        text = pytesseract.image_to_string(image, lang='chi_sim')  # 使用简体中文解析图片
        endtime = datetime.datetime.now()

        print (r"计算机网络_"+str(i)+r"转换完成,耗时:" + str((endtime - starttime).seconds))

        text=text.replace(" ","")
        with open(r"C:\Users\夹心\Desktop\计算机网络_"+str(i)+".txt", "a") as f: # 将识别出来的文字存到本地
            # print(text)
            f.write(str(text))

main()

几点注意:

1.转换的速度相对较慢,不是很乐观。如图这样一张字比较密集的图片,转换用时约14s。程序中的datatime库就是为了计算转换用时而设定的。速度的慢体现在批量转换上,并未找到很合适的优化方法。


2.转化的正确率并非100%。尽管对于图中这样的标准系统字体,转换成功率仍难以达到100%,如单播会被转换成单擎等。

3.转化后的txt有许多空行,非常影响阅读体验,可以自己设计代码改善一下。因为我要做的是分词,所以空行没有什么妨碍,所以我没有进行处理。



以上就是python实现图片转文字的讲解。


推荐阅读
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 如何在Python中高效运用requests模块:详细使用指南与技巧分享
    在Python中,`requests`模块是处理URL请求的强大工具,作为一个第三方库,需要单独安装。本文将详细介绍如何高效地使用`requests`模块,涵盖从基础功能到高级技巧的各个方面,帮助开发者更好地掌握其应用方法,提高开发效率和代码质量。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • Python3+Appium安装使用教程
    一、安装我们知道selenium是桌面浏览器自动化操作工具(WebBrowserAutomation)appium是继承selenium自动化思想旨在使手机app操作也能自动化的工具(Mo ... [详细]
  • 准备gitanaconda3Step1:下载安装git这里是windows下git安装:需要注意的是在这里不选择第一个,要选择第二个,在windows下也可以。然后跟着默认选择就可 ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • MySQL 数据操作:增、删、查、改全面解析
    MySQL 数据操作:增、删、查、改全面解析 ... [详细]
  • 如何构建和部署C# Windows服务应用程序
    本文介绍了如何从零开始构建和部署C# Windows服务应用程序。通过详细步骤和代码示例,帮助读者掌握创建、配置和部署Windows服务的关键技术点,适合初学者和有经验的开发人员参考。 ... [详细]
  • 写在前面最近在学习爬虫,在熟悉了Python语言和BeautifulSoup4后打算下个爬虫框架试试。没想到啊,这坑太深了。。。看了看相关介绍后选择了Scrapy框架,然后兴高采烈的 ... [详细]
author-avatar
平凡天使心619
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有