马赛克照片拼图的原则是用小的圖片拼成一张大的图片特点是保留了大图的信息,放大后仍能看到每一张小图的内容本文把马赛克照片拼图分为3类,分别为图1的框架型、图2的叠加型和图3的组合型
框架型只关注图像主体的形状,不关心形状的填充颜色如图1的心形的颜色不是重点。叠加型保留大图作為背景小图依次叠加在大图上。按我的理解“叠加型”并不能算作马赛克拼图,因为首先没有对图像进行马赛克处理;其次没有对圖像进行拼接;最后小图仅仅是以一定比例覆盖在大图上,小图的颜色不影响大图的内容最后一种是真正意义上的马赛克拼图,每一张尛图的主体颜色和大图的一个像素块的颜色相近
人脸数据集来自于香港中文大学,地址
首先定义马赛克处理函數
然后依次读取图片文件和二值化二值化时要选择合适的阈值,使得图像主体与背景尽量分开最后进行马赛克处理,效果图如下:
小圖填充的完整代码如下
叠加型不需要对图像进行马赛克处理仅仅要求两张图片以一定权重叠加。假设有两张大小相同的图片w的权重添加到输出图像
组合图完全由图片拼合而成大图的颜色由小图的主体颜色决定。因此在一个位置像素块不再是由随机选取的小图填充,而是由大量图片中颜色最接近像素块的小图填充
maxRow = 50; % 小图最大行数,如果小图行数大于最大行数则调整大小 % img后面与小图可以直接相加,避免多个小图重叠处 %
如果小图的行数大于50,则随机调整行数在[30,50]范围内
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。