opencv-calcCovarMatrix协方差矩阵

协方差:https://blog.csdn.net/xiao_lxl/article/details/72730000 

复制代码
    cv::Mat_<float> samples[3];
    samples[0].create(1, 3);
    samples[0](0, 0) = 1;
    samples[0](0, 1) = 2;
    samples[0](0, 2) = 3;

    samples[1].create(1, 3);
    samples[1](0, 0) = 4;
    samples[1](0, 1) = 5;
    samples[1](0, 2) = 6;

    samples[2].create(1, 3);
    samples[2](0, 0) = 7;
    samples[2](0, 1) = 8;
    samples[2](0, 2) = 9;

    cv::Mat_<float> covar, meanMat;
    cv::calcCovarMatrix(samples, 3, covar, meanMat,CV_COVAR_NORMAL | CV_COVAR_ROWS);//求取向量集的协方差矩阵
    //参数1samples: 输入的向量集,它们可以是若干个同样形式的向量组成,也可以是一个矩阵的若干行组成
    // 注意:参数1不能是单独一个3*3的矩阵,必须是由3个1*3的矩阵组成时成功
    //参数2:向量的数目
    //参数3:输出的协方差矩阵
    //参数4:输出的均值矩阵
    /*参数5:操作标志,分别有:CV_COVAR_SCRAMBLED,CV_COVAR_NORMAL,CV_COVAR_USE_AVG,CV_COVAR_SCALE,CV_COVAR_ROWS,CV_COVAR_COLS

        CV_COVAR_ROWS,CV_COVAR_COLS是指当samples 是由一个矩阵时,用来指用单个向量是由其中行向量或者列向量组成
    */
    
    std::cerr << covar << std::endl;
    std::cerr << meanMat << std::endl;
复制代码

 

 

 

posted @   天子骄龙  阅读(215)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示