3

我在 C++ 中使用 OpenCV。我有一个矩阵来存储来自某个图像的 ROI。现在我想计算所有像素的平均 R、G 和 B 值(基本上是 ROI 矩阵值)。更长的方法是使用两个 for 循环并访问每个像素,然后访问每个流。但是Open CV中有一个功能 Scalar mean(const Mat& mtx) 我可以使用吗?如果是,那么我的标量元素到底有什么。文档说明它是一个 4 元素向量。如果有的话,哪些元素将包含平均 R、G 和 B?

cv::Mat3b roiMat = imgMat(cv::Rect(hSt,vSt,hEn,vEn));
mean =  cv::mean(roiMat);

有/是什么意思?

4

1 回答 1

11

那个怎么样:

cv::Mat3b roiMat = imgMat(cv::Rect(hSt,vSt,hEn,vEn));
cv::Scalar mean;
mean =  cv::mean(roiMat);
std::cout<<mean[0]<<std::endl; //blue mean
std::cout<<mean[1]<<std::endl; //green
std::cout<<mean[2]<<std::endl; //red

希望对你有帮助,祝你好运

于 2012-10-12T10:42:29.353 回答