https://blog.csdn.net/xufive/article/details/103761569​blog.csdn.net实验楼在线教育:这10个Python项目很有趣!​zhuanlan.zhihu.com

# -*- coding: utf-8 -*-
from PIL import Image
import numpy as npdef print_photo(photo_file, width=120, k=2.0, reverse=False, outfile=None):"""打印照片,默认120个字符宽度"""im = Image.open(photo_file).convert('L')  # 打开图片文件,转为灰度格式# 打印图像高度,k为矫正系数,用于矫正不同终端环境像素宽高比height = int(k * width * im.size[1] / im.size[0])arr = np.array(im.resize((width, height)))  # 转为NumPy数组if reverse:  # 反色处理arr = 255 - arrchs = 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('C:/Users/F7687778/Desktop/tmp/fe.jpg', width=100, k=1.2, outfile='we.txt')

转为字符数组_py字符打印照片相关推荐

  1. 第八篇,字符数组和字符指针详细讲解。

    一.字符数组. 1.什么是字符数组? 在一个数组中,每一个成员都是一个字符 例如: char A[3]   --> 每一个成员都是字符类型的数据,组成一个字符串. 2.字符数组的赋值? char ...

  2. C语言内存管理-字符数组与字符指针

    堆和栈的区别 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其 操作方式类似于数据结构中的栈. 2.堆区(h ...

  3. c++ string 拼接_C++日志(二十五)字符数组、字符数组指针和string类

    C++中字符串的表示方式有很多种,根据自己目前掌握的有三种: 字符数组: 字符数组指针: 标准库string类: 上面几种方式各有优点和缺点,按照自己的观点,如果处理的字符串的任务比较简单,则使用前两 ...

  4. php和c语言的字符数组中,字符数组和字符串的区别,C语言字符数组和字符串区别详解...

    C 语言中并不存在字符串这个数据类型,而是使用字符数组来保存字符串.那么,字符数组就一定是字符串吗? 对于这个问题,大多教科书中的回答是"是".其实不然,字符数组和字符串是完全不相 ...

  5. Java关于String常用方法(字符串转字符数组,字符数组转字符串)

    1.字符串转字符串数组 String str="abcde"; char[]ch =str.toCharArray(); 2.字符串数组转为字符串 //将数组转成字符串~~~~ S ...

  6. c语言字符数组给字符指针,C语言常见有关问题之字符串数组和字符指针数组有关问题...

    C语言常见问题之字符串数组和字符指针数组问题 通过如下的实例来讲解这个问题: #include int main(void) { char a[3][4] = {"123", &q ...

  7. c 将数字数组转成字符串_C+|用指针指向字符串字面量、字符数组及字符指针数组...

    指针可以指向一个字符串字面量,可以指向一个字符数组,可以指向一块动态分配的内存单元: char *s1, *s2, *s3 = "abcde"; char ch[] = " ...

  8. C语言学习笔记---结构体中的字符数组和字符指针

      在结构体中可以使用字符数组来存储字符串,也可以使用字符指针来存储字符串.比如: struct str{char s1[5];char s2[5];};struct str str1= {" ...

  9. 《C语言杂记》C语言字符数组与字符指针(指向字符串的指针)详解

    C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,字符数组用法很简单我们还是来你看个例子吧. #include <stdio.h> #include <string ...

  10. 字符数组与字符指针的区别

    1.字符指针可以指向一个字符串. 我们可以用字符串常量对字符指针进行初始化.例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初 ...

最新文章

  1. ORA-19502: write error on file xxxxx, block number xxxx
  2. 【剑指offer - C++/Java】13、调整数组顺序使奇数位于偶数前面
  3. shell 脚本随机抽取班级学生
  4. 利用Docker学习Redis笔记(一)
  5. java中的new BufferedReader(new InputStreamReader(System.in))
  6. android ip地址扫描仪,通过IP地址添加网络扫描仪(适用于CC2软件Mac OS)
  7. V.PhyloMaker:维管束植物系统发育树构建实践
  8. Python自动化办公之PDF拆分
  9. CS 188 Project3(RL) Q7:Epsilon Greedy
  10. 看电视剧《包青天》笔记
  11. 怎么看神经网络过早收敛_深度学习训练网络中,test loss比training loss早很多收敛,迭代次数要怎么取?...
  12. 360随身WiFi驱动下载
  13. 安卓支付宝抢红包脚本软件
  14. 云计算机可以玩游戏吗,免费云桌面系统能跟云电脑一样玩游戏吗?
  15. [Android1.5]标签TabHost图片文字覆盖的问题
  16. 小米路由器linux界面,小米路由器配置ssh登录方法 | 192.168.1.1登陆页面
  17. 计算机程序概念内涵,算法的概念的教学设计
  18. 怎么确定电视吊架安装位置,电视支架安装讲解
  19. 我国实战攻防演练的发展现状
  20. java调用企业微信接口---获取考勤数据

热门文章

  1. 181030每日一句
  2. atitit 软件框架类库设计的艺术.docx 目录 1. index 1 2. 第2章 设计api的动力之源 14 2 2.1. .1 分布式开发 14 2 2.2. 2.2 模块化应用程序 16
  3. Atitit.日志系统slf4j的使用
  4. paip.python错误解决12
  5. paip.换工作机后svn服务修复
  6. java webservice 开发总结
  7. Rust : evmap库多读多写尝试
  8. 海通证券金融云思考与实践(上)
  9. 入驻蚂蚁金服财富号的基金公司,学“乖”了
  10. (转)Python之区块链入门