Python将图片转化成文字

我们之前学过词云能将数据变成图片展示出来,那么今天我们就来看个不同的,将图片变成字符输出。

看个效果图:

640?wx_fmt=jpeg

文字输出:

640?wx_fmt=png

640?wx_fmt=png

那么下面我们来看看代码吧!


import argparse
from PIL import Image
# 命令行输入参数处理
parser = argparse.ArgumentParser()
# 输入图片
parser.add_argument('file',
                   help='the input file')
# 输出文件
parser.add_argument('-o', '--output',
                   help='the output text file')
# 输出字符画宽度
parser.add_argument('-w', '--width',
                   type=int, default=40,
                   help='the width of the output, default is 40')
# 输出字符画高度
parser.add_argument('--height',
                   type=int, default=40,
                   help='the height of the output, default is 40')
# 获取参数
args = parser.parse_args()
IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output
str = "$@B%8&WM#*oahkbdpqw" \
"mZO0QLCJUYXzcvunxrjft/\|()" \
"1{}[]?-_+~<>i!lI;:,\"^`'. "
ascii_char = list(str)
# 将256 灰度映射到 70 个字符上
def get_char(r, g, b, alpha=256):
if alpha == 0:
return " "
   length = len(ascii_char)
gray = int(0.2126*r + 0.7152*g + 0.0722*b)
# 每个字符对应的 gray 值区间宽度
   unit = (256.0+1)/length
# gray值对应到 char_string 中的位置(索引值)
   index = int(gray/unit)
return ascii_char[index]
if __name__ == "__main__":
im = Image.open(IMG)
im = im.resize((WIDTH, HEIGHT), Image.NEAREST)
txt = ""
   for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j, i)))
txt += '\n'
   print(txt)
if OUTPUT:
with open(OUTPUT, 'w') as f:
f.write(txt)
else:
with open('output.txt', 'w') as f:
f.write(txt)





640?wx_fmt=gif

“扫一扫有惊喜”


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/44143.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

毕业设计之 --- 微信小程序开发

简介 近期有不少同学毕设涉及微信小程序开发, 但是基础的环境部署都不会, 面对一大堆资料无从下手, 希望学长能出一篇文章介绍一下微信小程序开发的基础知识. 准备工作 申请账号 进入小程序注册页 根据指引填写信息和提交相应的资料&#xff0c;就可以拥有自己的小程序帐号…

1.项目介绍——毕业设计之论坛项目

1.项目介绍 本项目为CMS类型的项目&#xff0c;前端使用vue框架搭建&#xff08;已开发完成&#xff09;&#xff0c;后端使用Tornado框架搭建。本次的主要内容就是开发接口&#xff0c;将原先写好的静态页面转换成动态的。 CMS的意思是Content Management System&#xff0c;…

毕业设计-基于微信小程序的工单智能管理系统

目录 前言 课题背景与简介 实现设计思路 一、微信小程序 二、系统设计 三、系统功能 四、总结 实现效果样例 更多帮助 前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个…

python毕业设计项目源码选题(13)在线图片分享平台系统毕业设计毕设作品开题报告开题答辩PPT

python毕业设计项目源码选题&#xff08;13&#xff09;在线图片分享平台系统毕业设计毕设作品开题报告开题答辩PPT 用户注册&#xff1a;填写手机账号和密码&#xff0c;注册新用户 登录功能&#xff1a;注册普通账号登录&#xff1b;登录后可以修改用户的基本信息&#xff0…

【winform毕业设计】人事管理系统(项目展示)

文章目录 前言项目一角项目介绍演示 登录权限登录进入项目读入数据功能点解析结尾 前言 本文介绍了个人的毕业设计《人事管理系统》的基本使用和功能点的介绍&#xff0c;虚心接受各位的意见&#xff0c;欢迎在评论区提出宝贵的意见 提示&#xff1a;以下是本篇文章正文内容&a…

最新通信工程毕设项目推荐

文章目录 1前言2 如何选题3 通信工程选题方向3.1 移动通信方向3.2 嵌入式开发方向3.3 人工智能方向3.4 物联网方向3.5 算法研究方向3.6 移动应用开发方向3.7 网络通信方向3.8 学长作品展示 1前言 &#x1f947; 近期不少学弟学妹询问学长关于单片机和嵌入式相关的毕设选题&…

计算机毕业设计分享 40个高质量计算机毕设项目分享【源码+论文】(八)

文章目录 前言 题目1 : ssm在线医疗诊断跟踪系统 <br /> 题目2: 基于SSM的大学生兼职跟踪系统 <br /> 题目3 : 基于SSM的大学生就业企业推荐系统 <br /> 题目4 : 基于SSM的在线电影售票系统 <br /> 题目5 : 基于SSM的毕业设计管理系统 <br /> 前…

通信工程毕设项目推荐 选题推荐

文章目录 1前言2 如何选题2.1 移动通信方向2.2 嵌入式开发方向2.3 人工智能方向2.4 物联网方向2.5 算法研究方向2.6 移动应用开发方向2.7 网络通信方向2.8 学长作品展示 4 最后 1前言 &#x1f947; 近期不少学弟学妹询问学长关于单片机和嵌入式相关的毕设选题&#xff0c;学长…

软件工程毕设项目推荐 选题汇总

文章目录 0 简介1 如何选题2 最新软件工程毕设选题3 最后 0 简介 学长搜集分享最新的软件工程业专业毕设选题&#xff0c;难度适中&#xff0c;适合作为毕业设计&#xff0c;大家参考。 学长整理的题目标准&#xff1a; 相对容易工作量达标题目新颖 1 如何选题 最近非常多…

软件工程毕业设计项目分享【含源码+论文】

文章目录 前言 题目1 : 基于SSM的旅游资源网站 <br /> 题目2 : 基于SSM的中药店商城网站 <br /> 题目3 : 基于SSM的汽车租赁网站<br /> 题目4 : 基于SSM的汉服文化平台网站 <br /> 题目5 : 基于SSM的校园疫情师生防疫登记备案系统 <br /> 题目6 …

计算机毕设项目:毕业论文管理系统(一)

简单的描述一下我的毕设项目&#xff1a;毕业论文管理系统&#xff0c;论文题目是基于SpringBoot的毕业论文管理系统的设计与实现。主要技术&#xff1a;SpringBootVueElementUI&#xff1b;是一个前后端分离项目&#xff0c;主要实现对学生的毕业论文这个过程的管理。 接下来就…

软件工程毕设选题推荐 40个高质量计算机毕设项目分享【源码+论文】

文章目录 前言 题目1 : 基于SSM的员工/学生宿舍后勤管理系统 <br /> 题目2 : 基于SSM的勤工助学管理系统 <br /> 题目3 : 基于SSM的停车位短租网站<br /> 题目4 : 基于SSM的网上购物商城系统 <br /> 题目5 : 基于ssm在线医疗诊断跟踪系统<br /> …

算法工程师从业两年的总结与感悟 |【WeThinkIn出品】

Rocky Ding 写在前面 【WeThinkIn出品】栏目专注于分享Rocky的最新思考与经验总结&#xff0c;包含但不限于技术领域。欢迎大家一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 2023年已经过去两个月了&#xff0c;一年中1/6的时光已然走过。去年年末&#xff0c;各…

基于人工智能的地球物理参数反演范式理论及判定条件

作者&#xff1a;毛克彪1&#xff0c;2&#xff0c;3* &#xff0c;张晨阳4&#xff0c;施建成5&#xff0c;王旭明2&#xff0c;郭中华2&#xff0c;李春树2&#xff0c;董立新6&#xff0c; 吴门新7&#xff0c;孙瑞静6&#xff0c;武胜利6&#xff0c;姬大彬3&#xff0c;蒋…

wps表格应用技巧(一)

wps表格应用技巧&#xff08;一&#xff09; 使用now()之后&#xff0c;时间固定不变怎么把文字添加下一页 使用now()之后&#xff0c;时间固定不变 设置允许迭代计算 利用公式IF(A1"","",IF(B1"",NOW(),B1)) 当A1被填充的时候&#xff0c;B1就…

【板栗糖GIS】wps—如何查看表格中的超链接

【板栗糖GIS】wps—如何查看表格中的超链接 目录 1. 编辑超链接 2. 查看超链接 1. 编辑超链接 在有超链接的单元格上右击编辑超链接 2. 查看超链接

excel数据的编排与整理——表格结构的整理(一)

excel数据的编排与整理——表格结构的整理(一) 1 快速移动一列数据到指定位置 1.1 移动到相邻行 1.1.1 题目内容 1.1.2 选中年龄列➡移动到左侧直到出现十字箭头 1.1.3 按下shift键和左键➡移动到指定位置,直到出现"T"字形 1.1.4 松开鼠标左键后,移动就完成了 1.2…

excel图文教程:应用PQ工具进行数据整理

​今天的问题来自一位群友的求助&#xff0c;是一个数据整理方面的问题&#xff0c;数据源如图所示&#xff1a; 这是一份销售数据&#xff0c;实际有很多个分店的数据&#xff0c;现在需要将这个数据源整理成标准的表格形式&#xff1a; 面对这种诉求&#xff0c;你要用公式来…

WPS表格:使用技巧

文章目录 1、时间1&#xff09;调整时间格式① 连接符② 将“常规、短日期、长日期”格式下的时间调整为自定格式③出现“数字”的情况④ 日期格式方便筛选、统计&#xff1b;转换格式&#xff1b;计算⑤出现#的几种情况⑥ 用“数据---分列”统一变成日期格式 2&#xff09;计算…

正大国际期货:五十句期货投资理念

1.许多期货投资人交易时没有计划。交易前&#xff0c;他们既不设定风险限度&#xff0c;也不设定盈利目标。即使是制定了计划&#xff0c;他们总是“半路出家”&#xff0c;并不坚持既定的计划&#xff0c;尤其是在出现亏损的情况下。结果往往是过量操作&#xff0c;把自己逼在…