python保存多张图片_Python自学:识别并保存多张图片中的文本,python,文字
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,文字相关推荐
- python查找图片区域_python批量识别图片指定区域文字内容
python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...
- python截图保存到内存卡_Python画月饼,云上过中秋,天池Python入门案例系列赛开启...
阿里云天池推出了一个Python入门案例系列教程,在此之前他们还推出了一个Python基础训练营. 在天池龙珠计划Python训练营中,天池给学习者详细的介绍了Python的基础和进阶知识,根据学习者 ...
- python学什么书_python自学用什么书
俗话说:工欲善其事,必先利其器!对于零基础入门的人来说,对于Python的学习还是有点懵懵懂懂的,如果有一些书籍先看看来引导,学起来难度也会减低很多,同时会提高学习者的自信心!今天向推荐这些零基础入门 ...
- python 神经网络编程 视频_python基础教程之达叔系列——神经网络编程基础|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ (1)二分类问题 目标:习得一个分类器,它以图片的特征向量作为输入,然后预测出结果 y 为 1 还是 0 ...
- python交互界面实例_Python面向对象编程扑克牌发牌程序,另含大量Python代码!
1. 题目 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后, ...
- python从入门到_Python学习路线从入门到上手,如何快速Python学习?
因为清晰易读的风格,广泛的适用性,Python已经成为最受欢迎的编程语言之一.在TIOBE 排行榜中位居第四,是名副其实的人工智能第一语言. 风靡的另一个原因是,Python有非常多的第三方库.比如用 ...
- python读取mat数据_Python几种读取mat格式数据的方法,python几种读取mat
Python几种读取mat格式数据的方法,python几种读取mat matlab中使用的数据一般会以mat的格式存储,用python读取有以下几种方法 1.使用scipy,具体实现如下: impor ...
- 《Python和Pygame游戏开发指南》——1.12 图书中的文本折行
本节书摘来自异步社区<Python和Pygame游戏开发指南>一书中的第1章,第1.12节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区" ...
- python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发
往期活动回顾 VS Code 中文社区自成立以来,已经举办了4场活动: Workshop | First Step to VS Code 基础篇 Workshop | First Step to VS ...
- python docx 替换文字_查找并替换.docx文件中的文本 - Python
我一直在寻找一种方法来查找和替换docx文件中的文本而运气不佳 . 我已经尝试过docx模块而无法使用它 . 最后,我使用zipfile模块计算了下面描述的方法,并替换了docx存档中的documen ...
最新文章
- 数据库分页存储过程(4)
- STM32 flash
- 智能机维修暴利大起底:触摸屏成本30维修300元
- mysql开通访问权限_mysql 用户远程访问权限开通
- Ruby设计模式透析之 —— 单例(Singleton)
- badboy的脚本录制教程
- 爱和感恩2021年末记
- Arduino ESP32将数据保存到NVS中
- cmd窗口太炫酷了,电脑编码软件太多?手把手教你搭建Java环境,利用dos命令实现运行操作
- spi通信问题-有波形但无法获取正确数据:MOSI和SCK
- Android studio插件GsonFormat 的使用
- 手把手做一个JSP入门程序(一):程序基本介绍(JSP)
- 电脑使用技巧提升篇7:两种方法给U盘加密
- AI绘画工具软件网站合集:这些人工智能绘画生成器效果太赞了
- 玩转ECS第6讲 | 弹性计算 Region 化部署和跨可用区容灾介绍
- 计算机专业英语中tour的意思,计算机专业英语自我介绍
- 你的博客赚钱了吗?博告网详细介绍
- java输入输出流、字符字节流
- 网络编程——互联网多人聊天系统
- 【酒店】自助入住机架构简介
热门文章
- 关于maya修改浏览器问题
- 思辨与创新 第一章 提出问题:如何提出一个新的、好的问题?
- 水电缴费系统php源码_php简易扫码付教育收费系统 v1.0
- matplotlib画3dbox
- 如何从 RHEL 8 升级到 RHEL 9 版本?
- onlyoffice document server实时文档协作的部署与开发细节
- bootstrap表头如何展示不动_bootstrap-table实现表头固定以及列固定的方法示例
- 北大毕业的山区小学校长,给清华老朋友派了一个紧急任务
- jdk1.8连接数据库sql server2008l异常解决办法
- OpenSees学习记录【一】:安装与用法