python绘制小猪佩奇程序设计大作业_代码绘制一只小猪佩奇---python篇
今天教大家用python的pillow包来绘制小猪佩奇,python的安装就不用多说了,直接上代码吧
0、首先当然是安装pillow包啦。
关于pillow库的安装有几种方式
最常使用的是pip安装
$ pip install pillow
2、通过pycharm安装
1、了解一下pillow库的基本使用
#导入模块
from PIL import Image
#读取文件
img = Image.open('test.jpg')
#保存文件
#img.save(filename,format)
img.save(filename,"JPEG")
img_mode = img.mode
#图片模式的转换
img = img.convert("L") #转化成灰度图像
#获取每个坐标的像素点的RGB值
r,g,b = img.getpixel((j,i))
#重设图片大小
img = img.resize(width,height)
#创建缩略图
img.thumbnail(size)
#获取图片大小
(width,height) = img.size
#获取图片的源格式
img_format = img.format
#获取图片模式,有三种模式:L(灰度图像),RGB(真彩色)和CMYK(pre-press图像)
2、开始绘画
首先是要有一张图片喽,准备一一张小猪佩奇的照片:
timg.jpg
然后就是放大招是时候了;
(原理简述:就是获取图上每一点的RGB值,然后根据这三种值确定这一点采用什么字符,其实根据RGB来确定的交灰值,所以可以将图片转化成灰度图片,来直接获取每一点的灰度,或者通过灰度的转换公式来使得RGB三值转化成灰度当然了,深度的原理我也不太懂,这里有链接,有兴趣的可以看一下大神们的解释)
上代码:
#coding:utf-8
from PIL import Image
#要索引的字符列表
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
length = len(ascii_char)
img = Image.open('timg.jpg') #读取图像文件
(width,height) = img.size
img = img.resize((int(width*0.5),int(height*0.2))) #对图像进行一定缩小,图片的大小可以根据上传图片的大小来按需调节,
print(img.size)
def convert(img):
img = img.convert("L") # 转为灰度图像
txt = ""
for i in range(img.size[1]):
for j in range(img.size[0]):
gray = img.getpixel((j, i)) # 获取每个坐标像素点的灰度
unit = 256.0 / length
txt += ascii_char[int(gray / unit)] #获取对应坐标的字符值
txt += '\n'
return txt
def convert1(img):
txt = ""
for i in range(img.size[1]):
for j in range(img.size[0]):
r,g,b = img.getpixel((j, i)) #获取每个坐标像素点的rgb值
gray = int(r * 0.299 + g * 0.587 + b * 0.114) #通过灰度转换公式获取灰度
unit = (256.0+1)/length
txt += ascii_char[int(gray / unit)] # 获取对应坐标的字符值
txt += '\n'
return txt
txt = convert(img)
f = open("03_convert.txt","w")
f.write(txt) #存储到文件中
f.close()
然后上效果图
pig.png
还是蛮像的嘛,
over
python绘制小猪佩奇程序设计大作业_代码绘制一只小猪佩奇---python篇相关推荐
- python数据分析与挖掘实践大作业_数据挖掘大作业最终报告.PDF
数据挖掘大作业最终报告 数据挖掘 大作业最终报告 学 院:计算机学院 专 业:计算机应用技术 年 级:2016级 组 号:第六组 成 员:赵 颖 2620160012 王晓媛2620160007 李昱 ...
- Python程序设计 大作业 简化的PS
查看原文 Python程序设计 作业 海龟绘图 文本处理 分组游戏设计 数字照片墙 送你一首集句诗 简化的PS Python程序设计 大作业 简化的PS Python程序设计 作业 摘要 1. 项目背 ...
- 南京工程学院C++/VC程序设计大作业
南京工程学院C++/VC程序设计大作业 源码下载 链接:源码下载链接 提取码:1111 学生成绩输入及统计分析 模拟自动取款机 C++/VC程序设计大作业任务书 一.课外大作业要求: 1.每人从附件1 ...
- C++面向对象程序设计大作业:魔兽世界(三):开战
C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...
- c语言程序设计创新大作业,C语言程序设计大作业报告.pdf
C语言程序设计大作业报告 课程设计(大作业)报告 课程名称: C 语言程序设计 设计题目: 实验设备管理系统 院 系: 信息技术学院 班 级: 2015级物联网工程 1班 设 计 者: 何盛 高陶 王 ...
- 程序设计大作业:教务管理系统(C语言)
写在前头: 这个大作业是大一写的,所以比较低能,全篇只涉及C语言相关知识,且有些内容我自己看了都嫌弃.嘿嘿. 我整理了资源,可以免费下载:程序设计大作业:教务管理系统(C语言)-C文档类资源-CSDN ...
- 东北大学软件学院C语言程序设计大作业:餐厅管理系统
东北大学软件学院C语言程序设计大作业 餐厅管理系统 这一份是自己做的,里面应该有超级多的bug来着,等我闲了改一下 //100张桌子 //1-4人 1-50号桌 //5-8人 51-70号 //9-1 ...
- HTML5期末大作业:三亚旅游网站设计——三亚旅游网页设计(6页) html网页设计期末大作业_网页设计平时作业
HTML5期末大作业:三亚旅游网站设计--三亚旅游网页设计(6页) html网页设计期末大作业_网页设计平时作业 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. ...
- HTML+CSS+JS`管理系统网站设计——学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业
HTML5期末大作业:管理系统网站设计--学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业 常见网页设计作业题材有 个人. 美食. ...
最新文章
- Android Studio自定义模板代码
- java 字符串缓冲池 String缓冲池
- PJAX全局无刷新的设置方法~
- 08TensorFlow2.0基础--8.1TensorFlow2.0特性
- linux 命令详解 二十四
- 洛谷 P2936 [USACO09JAN]全流Total Flow
- 通过刷bios的方式在win8.1平板上启动windows phone模拟器
- POI 实现Word替换书签
- 高等数学(第七版)同济大学 习题1-1 个人解答
- web开发路径问题解决
- CH7511BeDP转LVDS显示屏转接板CS5211电路图
- python爬数据是什么意思-python爬虫爬取的数据可以做什么
- 迪赛智慧数——柱状图(多色柱状图):母亲节大家都怎么挑选礼物
- 酷派春雷com.yulong.android,酷派春雷hd刷机详细教程介绍
- Linux——vi/vim文本编辑器、用户管理、关机重启的相关命令
- LeetCode77. 组合Golang版
- Java中抽象类与方法的重写
- 使用arduino开发esp8266和esp32时首选项设置方法(附国内开发板管理网址)
- Mac的环境配置的详细步骤
- 初等数论 课堂笔记 第三章 --同余及其一些有趣的应用
热门文章
- labview由于其他对话正在访问FIFO_Windows内核逻辑漏洞:IO管理器访问模式不匹配...
- [爬虫01]爬虫基础
- python气象数据分析_基于Python的气象观测数据的解析与存储
- InChat版,仅仅两个接口实现自己的IM系统(可兼容)
- 一起感受迪士尼乐园的奇幻魔力 高德地图迪士尼圆梦之旅圆满成功
- CNN的卷积核是单层的还是多层的?
- php选课实验成品_php学生选课管理系统
- MySQL设置简单密码
- 微软今中止撑持XP体系 后XP年代带来多少商机
- KEIL,MDK,STM32