opencv-mean計算均值
阿新 • • 發佈:2021-11-24
#include<opencv2/opencv.hpp> #include<iostream> #include <vector> int main(int argc, char** argv) { cv::Mat src(5, 4, CV_8UC3, cv::Scalar(10, 20, 30)); std::cerr << src << std::endl; cv::Scalar junzi = cv::mean(src); //計算各個通道的均值 float v1 = junzi.val[0]; //返回第一個通道的均值 std::cerr << "第一通道的均值=" << v1<<std::endl; float v2 = junzi.val[1]; //返回第二個通道的均值 std::cerr << "第二通道的均值=" << v2 << std::endl; float v3 = junzi.val[2]; //返回第三個通道的均值 std::cerr << "第三通道的均值=" << v3 << std::endl; cv::waitKey(0); return 0; }
比如:cv::Scalar mean = cv::mean(image, mask);
mask是與iamge一樣大小的矩陣,其中的數值為0或者1,為1的地方,計算出image中所有元素的均值,為0 的地方,不計算