又有时间写东西了,最近深感世事并不以人的美好愿望而改变,还是要以积极地心态来适应新变化,多多关心身边的人。

图钉画中一个图钉代表一个像素,所以关键在于像素渣化,降低分辨率,图钉的色彩有限,还需要降低图片的色彩数量,统计各种色彩的数量及位置。

以上都可以用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吧的更多相关文章

  1. 七夕节(hd1215)干嘛今天做这题T_T

    七夕节 Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!&q ...

  2. ITer的七夕节,你的情人在哪里(2015-08-19)

    自写<一个程序猿的生命周期>连载以来,迎来第一个七夕节,打算写篇文章纪念一下.我主张过中国自己的节日的,也不反对过其他国家的节日,但是要搞清楚其他国家节日的由来,不要把别人的鬼节当成我们的 ...

  3. 七夕节 (HDU - 1215) 【简单数论】【找因数】

    七夕节 (HDU - 1215) [简单数论][找因数] 标签: 入门讲座题解 数论 题目描述 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们 ...

  4. 七夕节来啦!AI一键生成情诗,去发给你的女朋友吧!

    [摘要] Hello大家好,今天就是七夕节了,为了增进和女朋友之间的情感,我写了一个自动生成情诗的AI: 大家可以在ModelArts尝试复现模型,然后快去发给你们的女朋友吧- 大家好,我是b站up主 ...

  5. HDU——1215七夕节(因数和)

    七夕节 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  6. HDU 1215.七夕节【筛选法】【7月26】

    七夕节 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,而且和数字王国的人们说:"你们想知道你们的还有一半是谁吗?那就依照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道 ...

  7. 这个七夕节,用Python为女友绘制一张爱心照片墙吧!【华为云技术分享】

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群:输入关键字“最新活动”,获取华为云最新特惠促销.华为云诸多技术大咖.特 ...

  8. HDOJ 1215 七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  9. hdu 1215 七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

随机推荐

  1. 动态规划 hdu 1024

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  2. laravel的日志权限

    命令行脚本运行时报错 UnexpectedValueException  : The stream or file "/Data/PMS/storage/logs/laravel-2019- ...

  3. 骑士(树形dp)

    题意:给你一个基环树森林,每个点有一个权值,一条边上的两个节点不能同时选择.选取任意个节点,求最大权值和 对于每颗基环树:找环→断边→树形dp(没有上司的舞会) #include<iostrea ...

  4. match 和 lastIndex 字符串检测差异

    match .replace .search 这写不能识别特殊字符 indexOf .indexof 能识别特殊字符 str.lastIndexOf('a') > -1 // 通过lastInd ...

  5. Spring+Mybatis 复杂的分组查询

    1.需要的结果数据格式为 { "responseCode": "0000", "responseMsg": null, "data ...

  6. Median

    #include <stdio.h> #include <stdlib.h> #include <math.h> #define MAXSIZE 1000 int ...

  7. btcpool之BlockMaker

    一.简介 BlockServer将StratumServer发送的solvedshare数据(块头和coinbase交易)与GbtMaker发送的rawgbt数据(其他交易)一起组装成一个块,然后通过 ...

  8. Linux下利用文件描述符恢复的成功失败实验

    1.测试环境准备[oracle@redhat3 ~]$ uname -aLinux redhat3 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 ED ...

  9. CDI services--interceptors(拦截器)

    1.拦截器综述 拦截器的功能是定义在Java拦截器规范. 拦截器规范定义了三种拦截点: 业务方法拦截, 生命周期回调侦听, 超时拦截(EJB)方法. 在容器的生命周期中进行拦截 1 2 3 4 pub ...

  10. ShellExecute 打开网页、目录、邮箱

    #include <Windows.h> #include <tchar.h> int WINAPI _tWinMain(HINSTANCE hInstance, HINSTA ...