制作属于你们的像素化图像

起因

记得大一的时候,人人网还比较流行,当时有人在人人上写了一个应用。用人人账号里的图片合成像素化的某张图。当时觉得好有趣,而且,如果这个东西能够做出一张很大的图片,送给loved one做礼物,也是很有意思的。

所以周末的时候,用了opencv c++撸了一个工具出来,可以直接生成像素化的图像。

效果

原图


制作属于你们的像素化图像_第1张图片

灰度模式


制作属于你们的像素化图像_第2张图片

RGB模式(因为待选图片中好多黄瓜青菜,所以狗狗偏绿了)
制作属于你们的像素化图像_第3张图片

算法

制作属于你们的像素化图像_第4张图片

算法采用了非常简单的方法。就是取待转化图片中某一小块做平均值,然后在被填充图片中寻找平均值与该值最接近的图片,新建一个矩阵把这个图片填充进来。“接近”这个算法,取的是曼哈顿距离。

运行

测试和开发环境:

  • ubuntu 16.04
  • opencv 3.10

具体运行方法请点击下面的项目地址查看。

项目地址

https://github.com/lawlietxxl/phixel

祝大家七夕快乐!满地打滚求star 啊啊啊~~~

你可能感兴趣的:(制作属于你们的像素化图像)