一般来说,图像平滑主要是为了消除噪声。图像的常见噪声主要有加性噪声、乘性噪声和量化噪声等。由于图像的能量主要集中在低频部分,而噪声所在频段主要是高频部分,因此通常采用低通滤波的方法消除噪声。
图像平滑分为空域法和频域法两大类。空域法常常采用均值滤波和中值滤波。
- Smooth 图像平滑
cvSmooth(src,dst,type,param1=3,param2=0,param3=0,param4=0);
//type平滑方法:
//CV_BLUR_NO_SCALE简单不带尺度变换的模糊,param1×param2领域求和
//CV_GAUSSIAN高斯模糊
//CV_MEDIAN中值滤波
//CV_BILATERAL双向滤波,彩色标准param1,空间标准param2
- Filter2D 对图像做卷积运算
cvFilter2D(src,dst,kernel,point);
//kernel卷积核,单通道浮点矩阵
//anchor核的锚点,表示一个被滤波的点在核内的位置,默认在核中心
- CopyMakeBorder 锐化,复制图像,并加边界
cvCopyMakeBorder(src,dst,offset,type,value);
//offset输出图像里待复制矩形的左上角角标
//type被复制输入图像周围的边界类型
//IPL_BORDER_CONSTANT 边界使用由函数参数指定的固定值填充,设置value
//IPL_BORDER_REPLICATE 重复模式,上边界的像素用输入图像最上面的一行填充,下、左、右类似
- Integral 计算积分图像
cvIntegral(image,sum,sqsum,tilted_sum);
//sum积分图像
//sqsum对像素值平方的积分图像
//tilted_sum旋转45度的积分图像
- CvtColor 色彩空间转换
cvCvtColor(src,dst,code);
//code CV_<src_type>2<dst_type>
- Threshold 对单通道数组进行固定阈值操作
cvThreshold(src,dst,threshold,max_value,type);
//threshold 阈值
- AdaptiveThreshold 自适应阈值对图像进行二值化