Bootstrap

C++将图片转换为马赛克效果

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<
;