OpenCV 2 - 矩阵的掩膜操作

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

此函数的功能是确保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对象

OpenCV 2 - 矩阵的掩膜操作_第1张图片

代码:

	Mat src, dst;
	src = imread("./1.png");
	if (!src.data)	//判断图片是否加载成功!
	{
   
		std::cout << "打开图片失败!" << std::endl;
		return -1<

你可能感兴趣的:(OpenCV学习笔记,opencv,矩阵,人工智能)