今天教大家用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篇相关推荐

  1. python数据分析与挖掘实践大作业_数据挖掘大作业最终报告.PDF

    数据挖掘大作业最终报告 数据挖掘 大作业最终报告 学 院:计算机学院 专 业:计算机应用技术 年 级:2016级 组 号:第六组 成 员:赵 颖 2620160012 王晓媛2620160007 李昱 ...

  2. Python程序设计 大作业 简化的PS

    查看原文 Python程序设计 作业 海龟绘图 文本处理 分组游戏设计 数字照片墙 送你一首集句诗 简化的PS Python程序设计 大作业 简化的PS Python程序设计 作业 摘要 1. 项目背 ...

  3. 南京工程学院C++/VC程序设计大作业

    南京工程学院C++/VC程序设计大作业 源码下载 链接:源码下载链接 提取码:1111 学生成绩输入及统计分析 模拟自动取款机 C++/VC程序设计大作业任务书 一.课外大作业要求: 1.每人从附件1 ...

  4. C++面向对象程序设计大作业:魔兽世界(三):开战

    C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...

  5. c语言程序设计创新大作业,C语言程序设计大作业报告.pdf

    C语言程序设计大作业报告 课程设计(大作业)报告 课程名称: C 语言程序设计 设计题目: 实验设备管理系统 院 系: 信息技术学院 班 级: 2015级物联网工程 1班 设 计 者: 何盛 高陶 王 ...

  6. 程序设计大作业:教务管理系统(C语言)

    写在前头: 这个大作业是大一写的,所以比较低能,全篇只涉及C语言相关知识,且有些内容我自己看了都嫌弃.嘿嘿. 我整理了资源,可以免费下载:程序设计大作业:教务管理系统(C语言)-C文档类资源-CSDN ...

  7. 东北大学软件学院C语言程序设计大作业:餐厅管理系统

    东北大学软件学院C语言程序设计大作业 餐厅管理系统 这一份是自己做的,里面应该有超级多的bug来着,等我闲了改一下 //100张桌子 //1-4人 1-50号桌 //5-8人 51-70号 //9-1 ...

  8. HTML5期末大作业:三亚旅游网站设计——三亚旅游网页设计(6页) html网页设计期末大作业_网页设计平时作业

    HTML5期末大作业:三亚旅游网站设计--三亚旅游网页设计(6页) html网页设计期末大作业_网页设计平时作业 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅游. 电商. 宠物. 电器. ...

  9. HTML+CSS+JS`管理系统网站设计——学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业

    HTML5期末大作业:管理系统网站设计--学生信息管理系统模板 (13页) HTML+CSS+JavaScript html网页设计期末大作业_网页设计平时作业 常见网页设计作业题材有 个人. 美食. ...

最新文章

  1. Android Studio自定义模板代码
  2. java 字符串缓冲池 String缓冲池
  3. PJAX全局无刷新的设置方法~
  4. 08TensorFlow2.0基础--8.1TensorFlow2.0特性
  5. linux 命令详解 二十四
  6. 洛谷 P2936 [USACO09JAN]全流Total Flow
  7. 通过刷bios的方式在win8.1平板上启动windows phone模拟器
  8. POI 实现Word替换书签
  9. 高等数学(第七版)同济大学 习题1-1 个人解答
  10. web开发路径问题解决
  11. CH7511BeDP转LVDS显示屏转接板CS5211电路图
  12. python爬数据是什么意思-python爬虫爬取的数据可以做什么
  13. 迪赛智慧数——柱状图(多色柱状图):母亲节大家都怎么挑选礼物
  14. 酷派春雷com.yulong.android,酷派春雷hd刷机详细教程介绍
  15. Linux——vi/vim文本编辑器、用户管理、关机重启的相关命令
  16. LeetCode77. 组合Golang版
  17. Java中抽象类与方法的重写
  18. 使用arduino开发esp8266和esp32时首选项设置方法(附国内开发板管理网址)
  19. Mac的环境配置的详细步骤
  20. 初等数论 课堂笔记 第三章 --同余及其一些有趣的应用

热门文章

  1. labview由于其他对话正在访问FIFO_Windows内核逻辑漏洞:IO管理器访问模式不匹配...
  2. [爬虫01]爬虫基础
  3. python气象数据分析_基于Python的气象观测数据的解析与存储
  4. InChat版,仅仅两个接口实现自己的IM系统(可兼容)
  5. 一起感受迪士尼乐园的奇幻魔力 高德地图迪士尼圆梦之旅圆满成功
  6. CNN的卷积核是单层的还是多层的?
  7. php选课实验成品_php学生选课管理系统
  8. MySQL设置简单密码
  9. 微软今中止撑持XP体系 后XP年代带来多少商机
  10. KEIL,MDK,STM32