图像线性变换
Mat src,dst;
src.convertTo(dst,0,alpha,beta);
函数原型:
void convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 )
rtype:变换类型,不知道有几个待选参数
变换公式:dst=src*alpha+beta
alpha改变对比度,beta改变亮度
图像滤波
平滑滤波处理,也叫模糊处理
opencv提供5个常用图像平滑处理操作方法
- 方框滤波——BoxBlur函数
- 均值滤波(邻域平均滤波)——Blur函数
- 高斯滤波——GaussianBlur函数
- 中值滤波——medianBlur函数
- 双边滤波——bilateralFilter函数
方框滤波
CV_EXPORTS_W void boxFilter( InputArray src, OutputArray dst, int ddepth,
Size ksize, Point anchor = Point(-1,-1),
bool normalize = true,
int borderType = BORDER_DEFAULT );
第一个参数:原图像
第二个参数:输出图像
第三个参数:输出图像深度,-1代表原图深度
第四个参数:内核大小,用Size(w,h)表示,w为像素宽度,h为像高度
第五个参数:Point类型的anchor,表示锚点(即被平滑的那个点)。默认值是核的中心为锚点
第六个参数:默认值true,表示内核是否被其区域归一化了
第七个参数,int类型的borderType,用于推断图像外部像素的某种边界模式,有默认值BORDER_DEFAULT
方框滤波器所用内核为:
K=a⎡⎣⎢111111