2012-10-12 80 views
3

我在C++中使用OpenCV。我有一個存儲來自某個圖像的ROI的矩陣。現在我想計算所有像素的平均R,G和B值(ROI矩陣值基本上)。更長的方法是使用兩個for循環並訪問每個像素,然後訪問每個流。但是在Open CV中有一個功能 Scalar mean(const Mat& mtx) 我可以使用它嗎?如果是,那麼我的Scalar元素究竟有什麼特點。該文件聲明它是一個4元素的向量。哪些元素包含平均R,G和B(如果有的話)?獲取矩陣中存儲的圖像ROI的平均值R,G和B

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

什麼將意味着有/是什麼?

回答

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 

我希望它能幫助, 好運

+0

非常感謝。 Semms工作。 –