转为字符数组_py字符打印照片
# -*- 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.什么是字符数组? 在一个数组中,每一个成员都是一个字符 例如: char A[3] --> 每一个成员都是字符类型的数据,组成一个字符串. 2.字符数组的赋值? char ...
- C语言内存管理-字符数组与字符指针
堆和栈的区别 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其 操作方式类似于数据结构中的栈. 2.堆区(h ...
- c++ string 拼接_C++日志(二十五)字符数组、字符数组指针和string类
C++中字符串的表示方式有很多种,根据自己目前掌握的有三种: 字符数组: 字符数组指针: 标准库string类: 上面几种方式各有优点和缺点,按照自己的观点,如果处理的字符串的任务比较简单,则使用前两 ...
- php和c语言的字符数组中,字符数组和字符串的区别,C语言字符数组和字符串区别详解...
C 语言中并不存在字符串这个数据类型,而是使用字符数组来保存字符串.那么,字符数组就一定是字符串吗? 对于这个问题,大多教科书中的回答是"是".其实不然,字符数组和字符串是完全不相 ...
- Java关于String常用方法(字符串转字符数组,字符数组转字符串)
1.字符串转字符串数组 String str="abcde"; char[]ch =str.toCharArray(); 2.字符串数组转为字符串 //将数组转成字符串~~~~ S ...
- c语言字符数组给字符指针,C语言常见有关问题之字符串数组和字符指针数组有关问题...
C语言常见问题之字符串数组和字符指针数组问题 通过如下的实例来讲解这个问题: #include int main(void) { char a[3][4] = {"123", &q ...
- c 将数字数组转成字符串_C+|用指针指向字符串字面量、字符数组及字符指针数组...
指针可以指向一个字符串字面量,可以指向一个字符数组,可以指向一块动态分配的内存单元: char *s1, *s2, *s3 = "abcde"; char ch[] = " ...
- C语言学习笔记---结构体中的字符数组和字符指针
在结构体中可以使用字符数组来存储字符串,也可以使用字符指针来存储字符串.比如: struct str{char s1[5];char s2[5];};struct str str1= {" ...
- 《C语言杂记》C语言字符数组与字符指针(指向字符串的指针)详解
C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,字符数组用法很简单我们还是来你看个例子吧. #include <stdio.h> #include <string ...
- 字符数组与字符指针的区别
1.字符指针可以指向一个字符串. 我们可以用字符串常量对字符指针进行初始化.例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初 ...
最新文章
- ORA-19502: write error on file xxxxx, block number xxxx
- 【剑指offer - C++/Java】13、调整数组顺序使奇数位于偶数前面
- shell 脚本随机抽取班级学生
- 利用Docker学习Redis笔记(一)
- java中的new BufferedReader(new InputStreamReader(System.in))
- android ip地址扫描仪,通过IP地址添加网络扫描仪(适用于CC2软件Mac OS)
- V.PhyloMaker:维管束植物系统发育树构建实践
- Python自动化办公之PDF拆分
- CS 188 Project3(RL) Q7:Epsilon Greedy
- 看电视剧《包青天》笔记
- 怎么看神经网络过早收敛_深度学习训练网络中,test loss比training loss早很多收敛,迭代次数要怎么取?...
- 360随身WiFi驱动下载
- 安卓支付宝抢红包脚本软件
- 云计算机可以玩游戏吗,免费云桌面系统能跟云电脑一样玩游戏吗?
- [Android1.5]标签TabHost图片文字覆盖的问题
- 小米路由器linux界面,小米路由器配置ssh登录方法 | 192.168.1.1登陆页面
- 计算机程序概念内涵,算法的概念的教学设计
- 怎么确定电视吊架安装位置,电视支架安装讲解
- 我国实战攻防演练的发展现状
- java调用企业微信接口---获取考勤数据
热门文章
- 181030每日一句
- atitit 软件框架类库设计的艺术.docx 目录 1. index	1 2. 第2章 设计api的动力之源 14	2 2.1. .1 分布式开发 14	2 2.2. 2.2 模块化应用程序 16
- Atitit.日志系统slf4j的使用
- paip.python错误解决12
- paip.换工作机后svn服务修复
- java webservice 开发总结
- Rust : evmap库多读多写尝试
- 海通证券金融云思考与实践(上)
- 入驻蚂蚁金服财富号的基金公司,学“乖”了
- (转)Python之区块链入门