1知识点
1-1 CV_Assert(myImage.depth() == CV_8U);
确保输入图像是无符号字符类型,若该函数括号内的表达式为false,则会抛出一个错误。
1-2 Mat.ptr(int i = 0);
获取像素矩阵的指针,索引 i 表示第几行,从0开始计行数。
1-3 const uchar* current = mylmage.ptr(row);
获得当前行指针
1-4 像素范围处理 saturate_cast <uchar>
此函数的功能是确保RGB值得范围在0~255之间
比如:
saturate_cast<uchar>(-100); 返回0
saturate_cast<uchar> (288); 返回255
saturate_cast<uchar> (100); 返回100
saturate_cast函数,其实就是一个类型转换函数,将( )中的类型转换成< >中的类型。
1-5 Mat dst = Mat::zeros(src.size(), src.type());
把图片dst设置src图片的大小与类型,并将dst清空内容
2 掩膜操作解释
掩膜操作实现图像对比度调整,红色是中心像素,从上到下,从左到右对每个像素做同样的处理操作,得到最终结果就是对比度提高之后的输出图像Mat对象
代码:
Mat src, dst;src = imread("./1.png");if (!src.data) //判断图片是否加载成功!{std::cout << "打开图片失败!" << std::endl;return -1<