C++ openCV中YCBCR帧的最大值和最小值的位置
如果OpenCV中有任何函数,该调用会告诉我最大值的X和Y位置或Ycbcr帧的平均值。我已经完成了RGB的转换,我可以找到最大值和最小值,但是for循环占用了我太多的内存 提前感谢此功能将帮助您完成此操作 更新:例如: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
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]