cvSmooth 有5种滤波模式的图像模糊平滑函数
函数 cvSmooth 可使用简单模糊、简单无缩放变换的模糊、中值模糊、高斯模糊、双边滤波的任何一种方法平滑图像。每一种方法都有自己的特点以及局限。没有缩放的图像平滑仅支持单通道图像,并且支持8位到16位的转换(与cvSobel和cvaplace相似)和32位浮点数到32位浮点数的变换格式。简单模糊和高斯模糊支持 1- 或 3-通道, 8-比特和 32-比特浮点图像。这两种方法可以(in-place)方式处理图像。中值和双向滤波工作于 1- 或 3-通道, 8-位图像,但是不能以in-place 方式处理图像。
void cvSmooth( const CvArr* src, CvArr* dst, int smoothtype=CV_GAUSSIAN,
int param1=3, int param2=0, double param3=0 ,doubleparam4=0);
参数分析:
src:输入图像.
dst:输出图像.
smoothtype:平滑方法
CV_BLUR_NO_SCALE (简单不带尺度变换的模糊) :
对每个象素的param1×param2 领域求和。如果邻域大小是变化的,可以事先利用函数 cvIntegral 计算积分图像。
CV_BLUR (simple blur) :
对每个象素param1×param2邻域求和并做尺度变换 1/(param1.param2).(参数值越小,滤波 效果更好一些3,4左右