获取存储在矩阵中的图像ROI的平均R、G和B值

3
我正在使用C++中的OpenCV。我有一个矩阵,存储了来自某个图像的ROI。现在我想计算所有像素(即ROI矩阵值)的平均R、G和B值。更长的方法是使用两个for循环并访问每个像素,然后访问每个流。但是,在OpenCV中有一个函数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个回答

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接