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

发布时间:2021-07-08 17:40:21 作者:chen
来源:亿速云 阅读:412

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

在之前一篇文章,

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将图像转换为乐高积木风格图片”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 使用纯CSS实现一块乐高积木的方法是什么
  2. 怎么将YUV转换为jpg图像

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:CSS 中如何使用overflow溢出属性

下一篇:CSS中怎么实现元素水平居中

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》