opencv-mean计算均值

#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 的地方,不计算 

 

 

 

posted @ 2021-11-24 13:41  天子骄龙  阅读(402)  评论(0编辑  收藏  举报