怎么用python将图像转换为乐高积木风格图片

这篇文章主要介绍“怎么用python将图像转换为乐高积木风格图片”,在日常操作中,相信很多人在怎么用python将图像转换为乐高积木风格图片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python将图像转换为乐高积木风格图片”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联主要从事成都网站设计、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务武陟,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

在之前一篇文章,

python 将图像转换为乐高积木风格图片(上)

留了个坑,今天来填完它。


之前的速度不是很快,这次使用了numpy 来计算,速度已经比较快了,传入图片,到生成马赛克图,乐高积木图以及生成零件清单不会超过 10 s 钟。

先看看效果:

图片效果


怎么用python将图像转换为乐高积木风格图片

再放大一点

怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片

马赛克图片就省略了,之前已经看过了。下面再看看生成的零件清单。

零件清单


怎么用python将图像转换为乐高积木风格图片      怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片        怎么用python将图像转换为乐高积木风格图片 


实现过程


最难的其实就是颜色对比,实际图片像素颜色种类是非常多的,理论上可以有256*256*256种,而乐高图片只有50多种,如何让每种像素值都匹配到对应的图片呢。

怎么用python将图像转换为乐高积木风格图片

方法就是找到最接近值,比如在一个列表里如何找到最接近值呢?

怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片

将目标数与其列表中的每一个数相减,并对差值取绝对值,最后在绝对值中找最小数。


单个数的原理明白了,颜色值 RGB 就容易理解了,RGB值是一个列表,相当于要在一个嵌套列表里面找到最近接的列表值。

怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片


完整代码:

img2pixel.py 模块   

作用:生成马赛克图片


怎么用python将图像转换为乐高积木风格图片

怎么用python将图像转换为乐高积木风格图片

generate_lego_img.py  模块

生成乐高图片,以及零件清单


  1. 导入模块和读取数据

怎么用python将图像转换为乐高积木风格图片

文件内容:

怎么用python将图像转换为乐高积木风格图片

2.找到最接近颜色

怎么用python将图像转换为乐高积木风格图片

3. 生成乐高图片和返回零件清单字典数据

怎么用python将图像转换为乐高积木风格图片

4.生成Excel 零件清单

怎么用python将图像转换为乐高积木风格图片

5.使用

传入要处理的图片文件名就可以了,会自动生成对应的图片文件和数据文件。

怎么用python将图像转换为乐高积木风格图片

也可以做成GUI界面,变成一个exe程序或者部署到网站上,让其他人使用。

到此,关于“怎么用python将图像转换为乐高积木风格图片”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站栏目:怎么用python将图像转换为乐高积木风格图片
网页URL:http://hbruida.cn/article/jsgiso.html