我们知道cv::Mat是OpenCV2和OpenCV3中最基本的数据结构,不仅可以作为图像数据的容器,也可以作为其他类型数据的容器。那么,我们在使用cv::Mat进行数据的处理时,会经常面临求解其最值和均值的问题。下面就介绍一下如何求解cv::Mat中的最值和均值。
1、cv::Mat中最值的求解
当然,我们可以自己遍历cv::Mat中的所有数值,逐个比较,然后获得其最值。但是,这么做费时又费力,也没有必要。因为OpenCV中已经封装了一个求cv::Mat最值的接口,即cv::minMaxLoc,该函数不仅可以同时获取到cv::Mat中的最大和最小值,而且还可以获得最大最小值所在的位置。
具体使用方法如下:
cv::Mat Mat;
//对Mat进行赋值和其他操作
double max, min;
cv::Point min_loc, max_loc;
cv::minMaxLoc(Mat, &min, &max, &min_loc, &max_loc);
2、cv::Mat中均值的求解
OpenCV中封装了一个专门用于求解cv::Mat均值的函数,即cv::mean(&cv::Mat),该函数会得到Mat中各个通道的均值,若要获取指定通道的均值ÿ