1.依次导入目录下的图片

先借助函数os.listdir(“path”)导入路径“path”下的所有文件名,然后再分别打开。

// 导入当前目录下的文件名(不包含自身),返回值为元组

file = os.listdir("./")

根据文件名的后缀判断文件格式。

// 先将字符串变为小写,然后判断其是否以‘jpg’结尾

file.lower().endswith('jpg')

使用举例:

// 依次打开当前目录下的所有图片

import os

// 判断是否为图片格式

for file in os.listdir("./"):

if(file.lower().endswith(('.bmp', '.dib', '.png', '.jpg', '.jpeg', '.pbm',

'.pgm', '.ppm', '.tif', '.tiff'))):

print(file)

结果:

// 运行结果

01.jpg

handwriting.jpg

tj.jpg

图片1.png

2.读入并显示一张图片

(1)使用opencv

// 打开一张图片

import cv2

image = cv2.imread('01.jpg')

# 通过窗口名关联imshow时的图片,调整图片大小,0表示窗口大小可手动调整(防止图片显示不全)

cv2.namedWindow("窗口名", 0)

cv2.imshow("窗口名", image)

cv2.waitKey(0)

cv2.destroyAllWindows()

(2)使用PIL库打开图片

from PIL import Image

picture = Image.open("01.jpg")

// 在win的环境下picture.show的方式为win自带的图像显示应用

picture.show()

(3)使用matplotlib打开图片

import matplotlib.pyplot as plt # plt 用于显示图片

import matplotlib.image as mpimg # mpimg 用于读取图片

picture = mpimg.imread('图片1.png')

plt.imshow(picture)

plt.axis('off') # 不显示坐标轴

plt.show()

以绘图的方式打开图片,仅能打开‘png’格式图片。

3.借助百度云完成文字识别

百度云官方文档

一个例子

百度云文字识别返回值为一个字典,字典中的‘words_result’值中包含识别的内容,而该值为一个元组,元组中每个元素记录了识别的一项结果(内容、可信度等)。

4.将字符串写入txt文件

// 选择“w”形式打开一个文件

f = open("temp.txt", "w", encoding='utf-8')

// 写入一个字符串txt后换行

file.write(txt + '\n')

f.close()

5.完整代码

将“图片”文件夹中所有图片的字符(包括汉字、英文、一些特殊符号)提取出来,存放在“语录.txtx”中。

//利用百度api实现图片文本识别

import os

from aip import AipOcr

// 百度云申请到的端口信息

APP_ID = '******'

API_KEY = '******'

SECRECT_KEY = '******'

client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)

""" 如果有可选参数 """

options = {}

options["detect_direction"] = "false"

options["probability"] = "true"

f = open("语录.txt", "w", encoding='utf-8')

""" 读取图片(打开文件并判断是否为图片格式) """

for file_name in os.listdir("./图片"):

if(file_name.lower().endswith(('.bmp', '.dib', '.png', '.jpg', '.jpeg',

'.pbm','.pgm', '.ppm', '.tif', '.tiff'))):

image = open('./图片/' + file_name,'rb').read()

else:

continue

""" 带参数调用通用文字识别(高精度版) """

""" 参数options可缺省"""

result = client.basicAccurate(image, options)

print(result)

try:

for i in range(int(result['words_result_num'])):

txt = result['words_result'][i]['words']

print(txt)

if len(txt) > 2:

// 完成一次内容的写入并换行

f.write(txt +'\n')

except:

pass

f.close()

注:文件“语录.txt” 和 文件夹“图片”跟该代码在同一目录下。

6.小结

原计划通过图片处理提取出特定的区域(小黑板上的内容),仅对该区域进行识别,避免其他因素的干扰(如背景中、衣服上的字符),但是因为目标轮廓检测方面遇到困难,取消了该环节。因此百度云的文字识别会将图片中的所有字符都提取出来。

另外在使用百度云时发现以下问题:

图一识别结果:

日月往

不可复追

图2识别结果

日月既往

不可复追

猜测这个结果可能跟文字在图片中的比例有关。

python保存多张图片_Python自学:识别并保存多张图片中的文本,python,文字相关推荐

  1. python查找图片区域_python批量识别图片指定区域文字内容

    python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  2. python截图保存到内存卡_Python画月饼,云上过中秋,天池Python入门案例系列赛开启...

    阿里云天池推出了一个Python入门案例系列教程,在此之前他们还推出了一个Python基础训练营. 在天池龙珠计划Python训练营中,天池给学习者详细的介绍了Python的基础和进阶知识,根据学习者 ...

  3. python学什么书_python自学用什么书

    俗话说:工欲善其事,必先利其器!对于零基础入门的人来说,对于Python的学习还是有点懵懵懂懂的,如果有一些书籍先看看来引导,学起来难度也会减低很多,同时会提高学习者的自信心!今天向推荐这些零基础入门 ...

  4. python 神经网络编程 视频_python基础教程之达叔系列——神经网络编程基础|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ (1)二分类问题 目标:习得一个分类器,它以图片的特征向量作为输入,然后预测出结果 y 为 1 还是 0 ...

  5. python交互界面实例_Python面向对象编程扑克牌发牌程序,另含大量Python代码!

    1. 题目 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后, ...

  6. python从入门到_Python学习路线从入门到上手,如何快速Python学习?

    因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一.在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言. 风靡的另一个原因是,Python有非常多的第三方库.比如用 ...

  7. python读取mat数据_Python几种读取mat格式数据的方法,python几种读取mat

    Python几种读取mat格式数据的方法,python几种读取mat matlab中使用的数据一般会以mat的格式存储,用python读取有以下几种方法 1.使用scipy,具体实现如下: impor ...

  8. 《Python和Pygame游戏开发指南》——1.12 图书中的文本折行

    本节书摘来自异步社区<Python和Pygame游戏开发指南>一书中的第1章,第1.12节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区" ...

  9. python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发

    往期活动回顾 VS Code 中文社区自成立以来,已经举办了4场活动: Workshop | First Step to VS Code 基础篇 Workshop | First Step to VS ...

  10. python docx 替换文字_查找并替换.docx文件中的文本 - Python

    我一直在寻找一种方法来查找和替换docx文件中的文本而运气不佳 . 我已经尝试过docx模块而无法使用它 . 最后,我使用zipfile模块计算了下面描述的方法,并替换了docx存档中的documen ...

最新文章

  1. 数据库分页存储过程(4)
  2. STM32 flash
  3. 智能机维修暴利大起底:触摸屏成本30维修300元
  4. mysql开通访问权限_mysql 用户远程访问权限开通
  5. Ruby设计模式透析之 —— 单例(Singleton)
  6. badboy的脚本录制教程
  7. 爱和感恩2021年末记
  8. Arduino ESP32将数据保存到NVS中
  9. cmd窗口太炫酷了,电脑编码软件太多?手把手教你搭建Java环境,利用dos命令实现运行操作
  10. spi通信问题-有波形但无法获取正确数据:MOSI和SCK
  11. Android studio插件GsonFormat 的使用
  12. 手把手做一个JSP入门程序(一):程序基本介绍(JSP)
  13. 电脑使用技巧提升篇7:两种方法给U盘加密
  14. AI绘画工具软件网站合集:这些人工智能绘画生成器效果太赞了
  15. 玩转ECS第6讲 | 弹性计算 Region 化部署和跨可用区容灾介绍
  16. 计算机专业英语中tour的意思,计算机专业英语自我介绍
  17. 你的博客赚钱了吗?博告网详细介绍
  18. java输入输出流、字符字节流
  19. 网络编程——互联网多人聊天系统
  20. 【酒店】自助入住机架构简介

热门文章

  1. 关于maya修改浏览器问题
  2. 思辨与创新 第一章 提出问题:如何提出一个新的、好的问题?
  3. 水电缴费系统php源码_php简易扫码付教育收费系统 v1.0
  4. matplotlib画3dbox
  5. 如何从 RHEL 8 升级到 RHEL 9 版本?
  6. onlyoffice document server实时文档协作的部署与开发细节
  7. bootstrap表头如何展示不动_bootstrap-table实现表头固定以及列固定的方法示例
  8. 北大毕业的山区小学校长,给清华老朋友派了一个紧急任务
  9. jdk1.8连接数据库sql server2008l异常解决办法
  10. OpenSees学习记录【一】:安装与用法