七夕节快到了,做个图钉画以及学习下Pillow吧
又有时间写东西了,最近深感世事并不以人的美好愿望而改变,还是要以积极地心态来适应新变化,多多关心身边的人。
图钉画中一个图钉代表一个像素,所以关键在于像素渣化,降低分辨率,图钉的色彩有限,还需要降低图片的色彩数量,统计各种色彩的数量及位置。
以上都可以用Pillow完成,Pillow是Python中用来兼容或者代替PIL的图像处理库。
1 | pip install pillow |
以下图为例:
首先降分辨率,大概1万个图钉可以达到较好的外观效果,以此可以确定图片的长宽:
1 2 3 4 5 6 | >>> 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色:
1 2 3 | >>> img = Image. open ( 'e:/target.jpg' ) >>> img = img.convert( 'P' , colors = 32 , palette = 1 ) >>> img.save( 'e:/32_target.jpg' ) |
统计色彩数量:
1 2 3 | >>> 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模式:
1 2 3 | >>> img = img.convert( 'RGB' ) >>> print img.getcolors() [( 253 , ( 240 , 173 , 157 )), ( 292 , ( 236 , 151 , 129 ))...] |
就可以根据RGB去对比颜色买图钉了。
确定每个位置的颜色:
1 2 3 4 | >>> px = img.load() >>> for x in xrange ( 102 ): for y in xrange ( 102 ): print px[x, y] |
然后就要对比颜色买图钉,买相框,买纸板,买图纸,标记位置,打印等等。
考虑到以上一切,我还是决定某宝了。学以致用难啊。
一万多个图钉,断断续续做了大概一个月,做完的感想是绝对不要做第二次,所以要做的同志请慎重。
当然做完成品还是不错的。
分类:
Python
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 语音处理 开源项目 EchoSharp
· drools 规则引擎和 solon-flow 哪个好?solon-flow 简明教程
2014-08-13 Python命令行解析库argparse