C++将图片转换为马赛克效果
1. 算法原理
求出每个小方块内所有像素的颜色平均值,然后用来设置为该小方块的颜色。依次处理每个小方块,即可实现马赛克效果
原图
2. 整张图片处理成马赛克效果
#include "stdafx.h"
#include <graphics.h>
#define N 8
int main()
{
//Step1: 加载图片
IMAGE image;
loadimage(&image, L"C:\\test\\image.jpg");
initgraph(image.getwidth(), image.getheight()); //用图片的大小初始化窗口大小
putimage(0, 0, &image);
//Step2: 对图片经行处理
for (int i = 0; i < image.getheight(); i += N) //遍历整张图片, 步长为N, 即将整张图片分割成若干张N*N大小的小方格,再对每一个N*N的方格依次处理
for (int j = 0; j < image.getwidth<