作者:爱干球的RD
图像处理中,有几种常见的基础算法,比如“模糊”、“灰度”、“浮雕”、“黑白”、“底片”、“锐化”。这篇文章讲述采用“均值滤波”的算法实现“模糊”。
一、均值滤波原理
原理非常简单,相信你看完,也能很快实现
1)设定一个均值区域,一般定义滤波半径R,半径越大越模糊
2)逐次移动坐标,求该区域内的所有像素的平均值
二、标准均值滤波
逻辑实在是太简单,直接贴代码
如果对Bitmap的RGB解析不了解,可以参考我之前写的:理解Bitmap的ARGB格式,实现颜色选择器
//std mean filter/*** srcData:原图数据* destData:存放处理结果的图片数据* width:图片宽* height:图片高度* stride:图片一行的步幅(>= width)* radius:模糊半径*/#define MIN2(a, b) ((a) < (b) ? (a) : (b))#define MAX2(a, b) ((a) > (b) ? (a) : (b))#define CLIP3(x, a, b) MIN2(MAX2(a,x), b)int MeanFilter(unsigned char *srcData, unsigned char* destData, int width, int height, int s