图片生成字符
# -*- coding: utf-8 -*- from PIL import Image import numpy as np def print_photo(photo_file, width=120, k=1.0, reverse=False, outfile=None): """打印照片,默认120个字符宽度""" im = Image.open(photo_file).convert('L') # 打开图片文件,转为灰度格式 height = int(k * width * im.size[1] / im.size[0]) # 打印图像高度,k为矫正系数,用于矫正不同终端环境像素宽高比 arr = np.array(im.resize((width, height))) # 转为NumPy数组 if reverse: # 反色处理 arr = 255 - arr chs = np.array([' ', '.', '-', '+', '=', '*', '#', '@']) # 灰度-字符映射表 arr = chs[(arr / 32).astype(np.uint8)] # 灰度转为对应字符 if outfile: with open(outfile, 'w') as fp: for row in arr.tolist(): fp.write(''.join(row)) fp.write('\n') else: for i in range(arr.shape[0]): # 逐像素打印 for j in range(arr.shape[1]): print(arr[i, j], end=' ') print() if __name__ == '__main__': print_photo('普天同庆.jpg', width=120, k=1.0, outfile='xufive.txt')
来自:https://blog.csdn.net/xufive/article/details/103761569
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-02-08 ArcGIS教程:曲率
2017-02-08 ArcGIS for Android地图上实际距离与对应的屏幕像素值计算
2017-02-08 arcgis10.2转shp文件中文乱码问题解决方案