矩阵的掩模是根据掩模来重新计算每个像素的像素值,掩模(mask)也被称为kernel,通过掩模操作实现的图像对比度调整。掩模操作的原理:
红色是中心像素,从上到下,从左到右对每个像素做同样的处理操作,得到最终结果就是对比度提高之后的输出图像Mat对象,计算公式:I(i,j)==5*I(i,j)-[I(i-1,j)+(i+1,j)+(i,j-1)+(i,j+1)]
掩模的操作还可以调用filter2D函数,具体方法如下:
1.定义掩膜:Mat kernel = (Mat_(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
2.filter2D( src, dst, src.depth(), kernel );其中src与dst是Mat类型变量、src.depth表示位图深度,有32、24、8等
本文代码实现的主要函数有:
(1).获取图像像素指针
Mat.ptr(int i=0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数。
获得当前行指针const uchar* current= myImage.ptr(row );
获取当前像素点P(row, col)的像素值 p(row, col) =current[col]
(2)