minMaxLoc 找到全局最小和最大值
meanStdDev 计算矩阵的均值和标准偏差
找到全局最小和最大值 minmaxloc
minMaxLoc(InputArray src, double* minVal, double* maxVal = 0, Point* minLoc = 0, Point* maxLoc = 0, InputArray mask = noArray());
- src,输入的数组,若是图像,需为单通道图像。
- minVal,返回最小值的指针。若无需返回,此值设为 NULL。
- maxVal,返回最大值的指针。若无需返回,此值设为 NULL。
- minLoc,返回最小值位置的指针(二维情况下)。若无需返回,此值设为 NULL。
- maxVal,返回最大值位置的指针(二维情况下)。若无需返回,此值设为 NULL。
- mask,可选的掩膜操作,非零掩码元素用于标记待统计元素,需要与输入图像集有相同尺寸。
计算矩阵的均值和标准偏差 meanStdDev
void meanStdDev(InputArray src,OutputArray mean, OutputArray stddev, InputArray mask=noArray())
- src:输入矩阵,这个矩阵应该是1-4通道的,这可以将计算结果存在Scalar_ ‘s中
- mean:输出参数,计算均值
- stddev:输出参数,计算标准差
- mask:可选参数
double minv, maxv;
Point minLoc, maxLoc;
std::vector<Mat> mv; //容器
split(image, mv);
for (int i = 0; i < mv.size(); i++) {
minMaxLoc(mv[i], &minv, &maxv, &minLoc, &maxLoc, Mat());
std::cout << "No. channels:" << i << " min value:" << minv << " max value:" << maxv << std::endl;
}
Mat mean, stddev;
Mat redback = Mat::zeros(image.size(), image.type());
redback = Scalar(40, 40, 200);
meanStdDev(redback, mean, stddev);
imshow("redback", redback);
std::cout << "means:" << mean << std::endl;
std::cout << " stddev:" << stddev << std::endl;