1、获取图像像素的指针
CV_Assert(myImage.depth() == CV_8U);
Mat.ptr(int I = 0) 获取像素矩阵的指针,索引i表示第几行,从0开始计行数;
获取当前行指针const uchar* current = myImage.ptr(row);
获取当前像素点P(row, col)的像素值p(row, col) = current[col]
2、像素范围处理saturate_cast
Saturate_cast(-100),返回0;
Saturate_cast(288),返回255;
Saturate_cast(100),返回100;
函数功能是确保RGB参数值的范围在0~255之间。
3、掩膜操作用来实现图形对比度的提高

4、函数调用filter2D功能
①定义掩膜:Mat kernel = (Mat_(3,3)<<0, -1, 0, -1, 5, -1, 0, -1, 0);
②filter2D(src, image, image.depth(), kernel); 其中src与image是Mat类型变量,src.depth表示位图深度, 有32,、24、8等。
5、getTickCount() 获取执行时间
演示代码
//获取行数和列数
int cols = (src.cols

本文介绍了如何使用OpenCV库进行矩阵掩膜操作来提高图像的对比度,包括获取图像像素指针、像素范围处理、掩膜操作的原理,以及通过filter2D函数应用掩膜。通过定义3x3的掩膜矩阵并调用filter2D函数,实现了图像处理。同时,文中还提及了getTickCount()函数用于获取执行时间。
最低0.47元/天 解锁文章
2788

被折叠的 条评论
为什么被折叠?



