【Python|用Python生成NFT超像素风格头像】
文章图片

文章图片

文章图片

文章图片
我们是三界外团队 , 聚焦 XR、3D 重建与生成技术 , 努力探索 Web3 mev 与 资产合成 。
TLDR;通读本文 , 你将具备用自己的 python 代码 , 将任意照片转化成超像素风格的图片 。 想直接拿来就跑的同学 , 可以关注私信我获取~
像素NFT近年NFT非常火热 , 即便币圈整体缩水 , 并未熄灭大家投入NFT的热情 。 传奇的一笔NFT交易 , 发生在 CryptoPunks(加密朋克) , 一共有一万枚 , 每一枚都是一张像素点组成的头像 。 CryptoPunk #3100是一个带着头带的外星人 , 大约一年前以767万美元的价格售出 , 后续被挂到接近1亿美金的报价(当时的 35000枚ETH) 。
除了web3先驱加巨鳄们的参与 , 饶舌明星 Snoop Dogg 以及 Eminem 都是无聊猿 NFT 的持有者 , 在6月还为此创作了一首歌 ‘From The D 2 The LBC ’ 。
笔者的朋友 Allen 老师 , 也参加了社区的NFT发行 , 据透露最重要的投入就是设计师 。 于是 , 我向有没有一些简单的方法 ,可以把任意一张照片 , 都做成超像素风头像 。
像素化照片的方法 , 简易做法是采用马赛克方式 , 将图片切分为NxM的棋盘格 , 每个格子取像素的均值做填充 。 但成像效果上 , 在局部的连续性上不友好 , 比如银桑的眼睛、剑柄和DeadPool的剑柄 。 经过进一步的调研 , 找到了 SLIC (Simple Linear Iterative Clustering) 方法 , 是一种线性聚类的方法 , 能够将色度接近的邻近像素做聚合 。 下面简单对比了马赛克方式和 SLIC 的效果 。 (想要马赛克代码的同学 , 也可以关注后私信我~)
SLIC原理超像素分割 SLIC 是一种迭代聚类算法 。 出自 PAMI2012 论文 SLIC Superpixels Compared to State-of-the-art Superpixel Methods 。 超像素概念出自于图像分割技术 , 是指有相似纹理、颜色、亮度的相邻的有视觉意义的不规则连续像素块 。
通过图像局部近似性的描述 , 能够把图像的结构语义信息做一层提取 。 用少量的超像素代替大量的像素来做图片表征 , 降低后处理复杂度 。 经常被用在 CV 中的预处理环节 , 广泛用于分割、姿态估计、目标监测等场景 。
slic 算法的逻辑 , 先看一下下图 , 不用被这么多的细节吓到 。 简单讲 , 就两部分:
1)局部 k-means , k-means 算法会遍历所有的像素点 , 但依托图像自身的语义相邻特点 , 我们每次只需要搜索聚类中心附近的像素块就够 , 能够较好的缩减计算量 ;
2) 图像差异距离公式 , 这个公式需要同时能计算得到‘色彩距离’和’像素距离’;
局部k-meanskmeans 的逻辑 , 通过初始化 K 个类簇的中心点 。 遍历紧邻像素区块 , 计算每个像素 和 K个中心点的‘距离’ , 将最近的一个类簇关联到当前像素 。
距离‘距离’等于 ’空间距离’ +‘色彩距离’ 。 空间距离 , 像素点在图片中本身就有 x、y 的空间概念 , 聚类中心同样以归属到当前类像素的 x、y 均值表示 。 这部分直接用欧式距离计算 。 色彩距离用 CIELab 色彩空间l , a , b表示 , 可以简单理解为与 RGB 一致 , 但优于 RGB 表示的一种色彩模式 。 更多 CIELab 的背景知识见附录 。
- 雷军宣布小米13系列将很快登陆全球市场:国外用户激动坏了在中国市场发布后|雷军宣布小米13系列很快登陆全球市场:国外用户激动坏了
- 腾讯云智能打法首揭秘!4条快速路让AI“开箱即用”
- 虚假宣传?特斯拉被勒令免费升级自动驾驶硬件:老用户狂喜
- 近日|余承东:没有5G,我们用4G增强+WIFI 6来弥补
- “通信行程卡”12月13日下线!中国信通院、三大运营商同步删除用户数据
- 终于有人用 AIGC「干正事」了—— 设计蛋白质
- OPPO|OPPO二代自研芯片马里亚纳Y亮相:蓝牙耳机专用
- 贝尔金推出了一款65W双口氮化镓充电器|一款小小充电器近300元用料如何?贝尔金65W氮化镓快充拆解
- 苹果|iPad 10耐用性测试:惨遭一掰两半!质量堪忧
- 宽带|全球第一次:万兆家用宽带成了!上传、下载都是几千兆
