七夕节快到了,做个图钉画以及学习下Pillow吧
又有时间写东西了,最近深感世事并不以人的美好愿望而改变,还是要以积极地心态来适应新变化,多多关心身边的人。
图钉画中一个图钉代表一个像素,所以关键在于像素渣化,降低分辨率,图钉的色彩有限,还需要降低图片的色彩数量,统计各种色彩的数量及位置。
以上都可以用Pillow完成,Pillow是Python中用来兼容或者代替PIL的图像处理库。
pip install pillow
以下图为例:

首先降分辨率,大概1万个图钉可以达到较好的外观效果,以此可以确定图片的长宽:
>>> from PIL import Image
>>> img = Image.open('20180707.jpg')
>>> print img.size
(512, 512)
>>> img = img.resize((img.width/5, img.height/5))
>>> img.save('target.jpg')
效果如下:

渣化很明显了,放大后可以看到一个个的像素格子。
转成32色:
>>> img = Image.open('e:/target.jpg')
>>> img = img.convert('P', colors=32, palette=1)
>>> img.save('e:/32_target.jpg')
统计色彩数量:
>>> img = Image.open('e:/32_target.png')
>>> print img.getcolors()
[(332, 0), (416, 1), (253, 2), (359, 3), (292, 4), (335, 5), (435, 6), (231, 7), (404, 8), (218, 9), (377, 10), (268, 11), (467, 12), (303, 13), (256, 14), (255, 15), (455, 16), (391, 17), (241, 18), (368, 19), (244, 20), (470, 21), (266, 22), (215, 23), (397, 24), (276, 25), (285, 26), (308, 27), (352, 28), (400, 29), (295, 30), (240, 31)]
可以看到从0号-31号色的数量,
不清楚颜色的话,可以转化成RGB模式:
>>> img = img.convert('RGB')
>>> print img.getcolors()
[(253, (240, 173, 157)), (292, (236, 151, 129))...]
就可以根据RGB去对比颜色买图钉了。
确定每个位置的颜色:
>>> px = img.load()
>>> for x in xrange(102):
for y in xrange(102):
print px[x, y]
然后就要对比颜色买图钉,买相框,买纸板,买图纸,标记位置,打印等等。
考虑到以上一切,我还是决定某宝了。学以致用难啊。
一万多个图钉,断断续续做了大概一个月,做完的感想是绝对不要做第二次,所以要做的同志请慎重。
当然做完成品还是不错的。
七夕节快到了,做个图钉画以及学习下Pillow吧的更多相关文章
- 七夕节(hd1215)干嘛今天做这题T_T
		
七夕节 Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!&q ...
 - ITer的七夕节,你的情人在哪里(2015-08-19)
		
自写<一个程序猿的生命周期>连载以来,迎来第一个七夕节,打算写篇文章纪念一下.我主张过中国自己的节日的,也不反对过其他国家的节日,但是要搞清楚其他国家节日的由来,不要把别人的鬼节当成我们的 ...
 - 七夕节 (HDU - 1215) 【简单数论】【找因数】
		
七夕节 (HDU - 1215) [简单数论][找因数] 标签: 入门讲座题解 数论 题目描述 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们 ...
 - 七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!
		
[摘要] Hello大家好,今天就是七夕节了,为了增进和女朋友之间的情感,我写了一个自动生成情诗的AI: 大家可以在ModelArts尝试复现模型,然后快去发给你们的女朋友吧- 大家好,我是b站up主 ...
 - HDU——1215七夕节(因数和)
		
七夕节 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
 - HDU 1215.七夕节【筛选法】【7月26】
		
七夕节 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,而且和数字王国的人们说:"你们想知道你们的还有一半是谁吗?那就依照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道 ...
 - 这个七夕节,用Python为女友绘制一张爱心照片墙吧!【华为云技术分享】
		
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群:输入关键字“最新活动”,获取华为云最新特惠促销.华为云诸多技术大咖.特 ...
 - HDOJ 1215 七夕节
		
Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...
 - hdu 1215 七夕节
		
Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...
 
随机推荐
- [ipsec][crypto] 什么是AEAD加密算法中的AAD 及aad length
			
AAD 全称:Additianal Authenticated Data 翻译成中文就是附加的验证数据. 在理解AAD之前,需要理解什么是AEAD: AEAD,简单的来说就是一份数据在完成加密的时候同 ...
 - 2018-2019-2 20165225《网络对抗技术》Exp1  缓冲区溢出实验
			
2018-2019-2 20165225<网络对抗技术>Exp1 缓冲区溢出实验 声明 虽然老师在邮箱中要求要把虚拟机名改为个人名字缩写,但是我的kali好像不是很听话...重启数次也没用 ...
 - Excel文件导入导出(基于Nodejs、exceljs)
			
Excel导入.导出是大多数项目的管理后台必备功能.几年来使用过多个该功能的实现包,最近一次开发该功能,突然发现一个人气极高(3000+)的包,这里记录一下使用方法. 大凡厉害的技术的文档咋一看都想字 ...
 - C与C++相互调用
			
C++编译器可以兼容并编译C语言,但优先使用C++编译方式,extern关键字让C++编译器使用C语言编译方式编译. extern "C" { // c 编译器编译的代码 } C+ ...
 - java-concurrent包
			
通常所说的concurrent包基本有3个package组成 java.util.concurrent:提供大部分关于并发的接口和类,如BlockingQueue,Callable,Concurren ...
 - xcode 10 模拟器报错
			
xcode 10(也可能是任意版本)run 模拟器时,发现会报下面的错误. This app could not be installed at this time.Could not access ...
 - mybatis中传入String类型参数的问题
			
1. 出现的问题 需求是想写一个按公司名字查询公司列表的功能,最开始的代码如下 Dao层接口如下 @MyBatisDao public interface OfficeDao extends Tree ...
 - 一次 Spark SQL 性能提升10倍的经历(转载)
			
1. 遇到了啥问题 是酱紫的,简单来说:并发执行 spark job 的时候,并发的提速很不明显. 嗯,且听我慢慢道来,啰嗦点说,类似于我们内部有一个系统给分析师用,他们写一些 sql,在我们的 sp ...
 - iframe父页面与子页面赋值
			
最近因为公司之前的系统用iframe,里面的高度不能自适应,导致了很多问题,今天特意拿来研究一下,从网上找了一些方法试验了一下,这里记录一下成功的方法 1.父页面获取子页面的高度,并给父页面赋值 父页 ...
 - adobe air for ios 例子
			
越南soha 平台ios ane http://yun.baidu.com/s/1o65G9XS 里面有oc源码,as库,以及打包生成ane,测试ane 全过程