Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ openCV中YCBCR帧的最大值和最小值的位置_C++_Opencv - Fatal编程技术网

C++ openCV中YCBCR帧的最大值和最小值的位置

C++ openCV中YCBCR帧的最大值和最小值的位置,c++,opencv,C++,Opencv,如果OpenCV中有任何函数,该调用会告诉我最大值的X和Y位置或Ycbcr帧的平均值。我已经完成了RGB的转换,我可以找到最大值和最小值,但是for循环占用了我太多的内存 提前感谢此功能将帮助您完成此操作 更新:例如: Mat src = imread("image.jpg"), tmp; cvtColor(src, tmp, CV_BGR2YCrCb); //extract Y extractChannel(tmp, tmp, 0); Point min, max; double minV

如果OpenCV中有任何函数,该调用会告诉我最大值的X和Y位置或Ycbcr帧的平均值。我已经完成了RGB的转换,我可以找到最大值和最小值,但是for循环占用了我太多的内存

提前感谢

此功能将帮助您完成此操作

更新:例如:

Mat src = imread("image.jpg"), tmp;
cvtColor(src, tmp, CV_BGR2YCrCb);

//extract Y
extractChannel(tmp, tmp, 0);

Point min, max;
double minV, maxV;
minMaxLoc(tmp, &minV, &maxV, &min, &max);

cout << "Max value is " << maxV << " at position " << max << endl
     << "Min value is " << minV << " at position " << min << endl;

感谢Astor的回答,但是,minMax函数提供了一个向量的最大和最小位置,我不知道如何能够提取Y值并将其放入一个向量而不使用循环。你在说什么?一个向量-它是什么???它将位置点返回到最小或,最大点*minLoc=0,点*maxLoc=0,比如说,我有YCBCR帧,它有3个通道Y,Cb和一个通道C,所以如果我提取Y通道,我不知道如果Y是它的自a矩阵,该怎么做,对于minmaxloc,我需要将它转换为一个向量,这样我就可以得到向量上的最大和最小位置,而不是YCbcr矩阵。我希望我能说清楚:
Max value is 255 at position [52, 19]
Min value is 0 at position [28, 1]