获得存储在矩阵中的图像的ROI的平均值R,G和B.

时间:2012-10-12 10:32:43

标签: c++ opencv

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

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

什么意味着/是?

1 个答案:

答案 0 :(得分: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

我希望它有所帮助, 祝你好运