【知识点梳理
1、防止溢出
在opencv中,对计算式进行计算的时候经常会出现值溢出(上溢出或下溢出),尤其是对无符号数值进行加减操作时。opencv中使用Saturation Casting“转换很好的解决这个问题,使用saturate_cast<>(),opencv对数组或矩阵进行代数运算或其他操作时,会自动检测underflows and overflows,当结果上溢出时就会用最大的可用值代替,当下溢出时就会用最小的可用值代替。
2、创建全零矩阵图像
Mat new_image = Mat::zeros( image.size(), image.type() );
说明:新图像大小与类型与原图像相同,像素值为零。
3、图像线性变换
image.convertTo(new_image, -1, alpha, beta);
说明:相当于new_image =saturate_cast(alpha(∗this)(x,y)+beta).第二个参数是输出图像的类型或深度,如果为负则与输入图像的类型或深度相同。
4、图像指数变换
5、创建滑动控件
CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname,
int* value, int count,
TrackbarCallback onChange = 0,
void* userdata = 0);
参数一:trackbarname:滑动控件的名称;
参数二:winname:滑动控件用于依附的图像窗口的名称;
参数三: