opencv利用calcCovarMatrix函数求协方差矩阵存在的问题
来源:互联网 发布:c语言怎么判断奇偶 编辑:程序博客网 时间:2024/04/28 23:57
今天用到opencv求解矩阵的协方差矩阵,无意中发现了一个问题,写出来供大家参考。
只看这个结果你肯定不会发现任何问题,下面让我们看看matlab中的结果
#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;void displayMat(Mat& mat){for (int i = 0;i<mat.rows;i++) { for (int j = 0;j<mat.cols ;j++) { printf("%f ",mat.at<double>(i,j)); } printf("\n"); }}int main(){double data[5][4] = { 1, 2, 3 , 4 , 5, 6, 7 , 8 , 9, 0, 1 , 3 , 2, 4, 6 , 8 , 1, 3, 5 , 9 }; Mat mat(5,4,CV_64FC1) ; for (int i =0;i<mat.rows;i++) { for (int j = 0;j<mat.cols ;j++) { mat.at<double>(i,j) = data[i][j]; }}Mat covMat; Mat meanMat; calcCovarMatrix(mat,covMat,meanMat,CV_COVAR_NORMAL|CV_COVAR_ROWS);cout<<"cov:"<<endl;//打印矩阵displayMat(covMat);cout<<"mean:"<<endl;displayMat(meanMat);return 0;}
实验结果:
cov:47.200000 -11.000000 -15.200000 -19.200000-11.000000 20.000000 21.000000 19.000000-15.200000 21.000000 23.200000 23.200000-19.200000 19.000000 23.200000 29.200000mean:3.600000 3.000000 4.400000 6.400000
只看这个结果你肯定不会发现任何问题,下面让我们看看matlab中的结果
data=[1, 2, 3 , 4; 5, 6, 7 , 8; 9, 0, 1 , 3; 2, 4, 6 , 8; 1, 3, 5 , 9 ];>> cov(data)ans = 11.8000 -2.7500 -3.8000 -4.8000 -2.7500 5.0000 5.2500 4.7500 -3.8000 5.2500 5.8000 5.8000 -4.8000 4.7500 5.8000 7.3000>> cov(data)*4ans = 47.2000 -11.0000 -15.2000 -19.2000 -11.0000 20.0000 21.0000 19.0000 -15.2000 21.0000 23.2000 23.2000 -19.2000 19.0000 23.2000 29.2000
这次你肯定会发现问题了,是的,opencv中求得的协方差矩阵要比matlab中的大4倍!
经过我多次实验的出结论:opencv中求得的协方差矩阵比matlab中的大(n-1)倍!(n是矩阵的行数)
不知道是什么原因,有知道的大神可以说一下。
0 0
- opencv利用calcCovarMatrix函数求协方差矩阵存在的问题
- OpenCV中函数calcCovarMatrix的使用
- opencv协方差矩阵和特征值函数
- OpenCV中协方差矩阵的计算
- 利用OpenCV求矩阵的特征值和特征向量
- PCA中关于协方差矩阵的问题
- matlab里面的求协方差函数
- [线性代数] 如何求协方差矩阵
- numpy.cov()求协方差矩阵
- 协方差矩阵的计算方法
- 协方差矩阵的计算方法
- 协方差矩阵的计算
- 协方差矩阵的意义
- 协方差矩阵的意义
- 协方差、协方差矩阵的解释意义
- 协方差以及协方差矩阵的理解
- Matlab求方差,均值,均方差,协方差的函数
- Matlab求方差,均值,均方差,协方差的函数
- SpringMVC
- C# 上传下载ftp(支持断点续传)
- HNACM(六) 第一题 异形卵
- 最大的算式(BigExp) 动态规划
- 图片“九宫格”布局frame 之通用公式
- opencv利用calcCovarMatrix函数求协方差矩阵存在的问题
- 雷军:我所有的向往
- Android搜索控件的基本使用方法
- Struts2生成验证码小例子
- 最新支付宝集成遇到的问题
- Linux 格式化U盘为ext4格式以及修复分区表方法
- Android——控制ListView滚动
- linux V4L2驱动中新旧版本下video buffer alloc与mmap的处理区别
- Codeforces Round #333 (Div. 2) A. Two Bases