1、获取图像像素指针
Mat.ptr(int i = 0) 获取像素矩阵的指针,索引i表示第几行,从0开始记行数。
获取当前行指针:
const uchar* current = myimage.ptr<uchar>(row);
myimage.depth() = CV_8U,图像的类型为8U。
获取当前像素点(row,col)的像素值:
p(row,col) = current[col];
2、像素范围处理saturate_cast<uchar>
saturate_cast<uchar>(-100),返回 0。
saturate_cast<uchar>(288),返回255
saturate_cast<uchar>(100),返回100
这个函数的功能是确保RGB值得范围在0~255之间。
3、掩膜操作
红色是中心像素,中心像素的像素值由其自身和上下左右的五个像素的像素值按照上面的公式进行计算。
从上到下,从左到右对每个像素做同样的处理操作,得到最终结果就是对比度提高之后的输出图像Mat对象。
由于边缘的像素没法完全采集到周围的像素点