我在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);
什么意味着/是?
答案 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
我希望它有所帮助, 祝你好运