emgucv PCA分析 总是报错

问题描述

emgucv PCA分析 总是报错

求大神指点

private void btn_hg_Click(object sender, EventArgs e)
{
int m = Wavelenth[0].Count;

double[,] data=new double[num,m];
for(int i=0;i
{
for(int j=0;j
{
data[i,j]=Reflectance[j];
}
}
Matrix matrix1 = new Matrix(data);

  •    已引发: "不支持 URI 格式。" (System.ArgumentException)    异常消息 = "不支持 URI 格式。", 异常类型 = "System.ArgumentException", 异常 WinRT 数据 = null   
    
        Matrix<Double> pMean = new Matrix<double>(1, m);//平均值
        Matrix<Double> pEigVals = new Matrix<double>(num,1);//特征值
        Matrix<Double> pEigVecs = new Matrix<double>(num,num);//特征向量
        Matrix<Double> pResult = new Matrix<double>(num, 5);//结果
        Emgu.CV.CvInvoke.cvCalcPCA(matrix1, pMean, pEigVals, pEigVecs, Emgu.CV.CvEnum.PCA_TYPE.CV_PCA_DATA_AS_ROW);
    
  •    已引发: "OpenCV: (evals0.cols == 1 || evals0.rows == 1) && ecount0 <= ecount && evects0.cols == evects.cols && evects0.rows == ecount0" (Emgu.CV.Util.CvException)    异常消息 = "OpenCV: (evals0.cols == 1 || evals0.rows == 1) && ecount0 <= ecount && evects0.cols == evects.cols && evects0.rows == ecount0", 异常类型 = "Emgu.CV.Util.CvException", 异常 WinRT 数据 = null   
    
        //选出前P个特征向量(主成份),然后投影,结果保存在pResult中,pResult中包含了P个系数
        CvInvoke.cvProjectPCA(matrix1, pMean, pEigVecs, pResult);
        MessageBox.Show("OK");
    
    }
    

解决方案

已解决,特征值,特征向量的维数错误;
换成这个:
Matrix matrix1 = new Matrix(data);

Matrix pMean = new Matrix(1, m);//平均值
Matrix pEigVals = new Matrix(Math.Min(m,num) ,1);//特征值
Matrix pEigVecs = new Matrix(Math.Min(m, num),m);//特征向量
Matrix pResult = new Matrix(num, 5);//结果

        Emgu.CV.CvInvoke.cvCalcPCA(matrix1, pMean, pEigVals, pEigVecs,Emgu.CV.CvEnum.PCA_TYPE.CV_PCA_DATA_AS_ROW);
        //选出前P个特征向量(主成份),然后投影,结果保存在pResult中,pResult中包含了P个系数
        CvInvoke.cvProjectPCA(matrix1, pMean, pEigVecs, pResult);
时间: 2024-10-27 18:41:12

emgucv PCA分析 总是报错的相关文章

登录框的报错反馈

这里以淘宝的登录界面为主要示例. 先 来看一下: 1:淘宝并没有使用"用户名"这个最常见的称呼,而是使用了"账户名",或许淘宝认为这样称呼更为准确吧,不过大多数用户对此并不会关心. 2输入框里给出提示:可以输入"手机号/会员名/邮箱",这对于在不同网站拥有不同帐号的用户来说有着很好的提醒作用.比如我,已经忘记了大约三个淘宝账户了. 另外这里有个不得不提的原因: 我分不清淘宝会员和支付宝会员到底有什么不同,你当然可以告诉我淘宝和支付宝是分属于阿里集

javaee hibernate-求助avaee hibernate 项目控制台报错 求帮忙分析下,万分感谢!!

问题描述 求助avaee hibernate 项目控制台报错 求帮忙分析下,万分感谢!! 出现异常时间: [2013年8月9日 15:15:32] org.hibernate.HibernateException: Already disconnectedat com.hiaward.common.util.HibernateUtil.rollbackTransaction(HibernateUtil.java:175) at com.hiaward.common.util.HibernateU

通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: &amp;#39;\xF0...

原文:[原创]通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 'incorrect string value: '\xF0... 这篇blog重点在解决问题,如果你对字符编码并不是特别了解,建议先看看 < [原创]通俗易懂地解决中文乱码问题(1) --- 跨平台乱码 >. 当然,如果只是针对解决这个Mysql插入报错问题,本篇足够了.   一.定位错误   定位错误绝对是至关重要的一环.我建议遇到问题耐心分析一下比较好,毕竟"不是所有的牛奶都叫特仑苏

sap-wsdl2java调用webservce报错,但是用soapui调用没问题,求大神帮忙分析下

问题描述 wsdl2java调用webservce报错,但是用soapui调用没问题,求大神帮忙分析下 AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: System Error faultActor: faultNode: faultDetail: {http://sap.com/xi/WebService/xi2.0}SystemError:RCV

Windows 7登录时出现“您已使用临时配置文件登录” 报错信息问题分析

Windows 7登录时出现"您已使用临时配置文件登录" 报错,如下所示:   原因分析: 出现上述提示是用户配置文件损坏导致无法登录到之前的账户,产生损坏的原因可能有杀毒软件误杀.第三方软件设置有误等原因.这个时候系统会生成一个临时的账户,我们对该账户的任何设置以及保存的文件,在重启之后都会失效.所以请不要在该账户中保存文件.通常情况该问题在我们重新启动计算机之后会解决,如果重启多次都是同样的结果,那么很有可能是之前使用的账户已经损坏,导致无法修复. 解决方案: 一.新建管理账号解决

解决Window10系统下Node安装报错的问题分析_node.js

前言 今天电脑重装了win10系统,在安装Node的过程中出现了下面的问题,下面就和大家分享下用来解决这种问题的小方法. 报错原因 随便问下度娘我们就可以知道,导致报错的原因是由于权限的关系,因此我们只需要使用管理员权限来运行当前Node安装包就可以解决报错问题了. 具体方法 使用管理员权限打开命令行工具并且cd到node安装包的项目文件夹下执行下面代码: msiexec /i package node-v6.9.1-x64.msi 运行指令之后接下来就会自动弹出安装界面,然后我们只需要按照提示

iOS 绘图时使用 UIGraphicsGetCurrentContext() 报错的原因分析

iOS 绘图时使用 UIGraphicsGetCurrentContext() 报错的原因分析 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 问题描述: CGContextRef ctx =

SAP ABAP 因系统维护使ABAP语法不再被支持导致使用很久的程序报错问题之分析

SAP ABAP 因系统维护使ABAP语法不再被支持导致使用很久的程序报错问题之分析 所在项目客户的一家工厂上线已经超过半年,其业务部门提出一个使用了半年的RF枪程序,突然不能使用了.程序直接Dump了:       经过调查,上个周末客户SAP团队对服务器做了一次maintenance.   因此我们初步断定,是此次maintenance里可能是有Kernel升级了,导致之前的程序的语法不能用了.我们找到相关的代码,发现如下代码里(line 447):   Insert into chvw_p

PHP程序执行报错分析

程序|执行 一.执行PHP Zend加密文件报错现象:打开网站,出现以下错误Fatal error: Unable to read **** bytes in或者是Fatal error: Corrupted encoded data detected原因:这种是由于php页面采用了Zend加密,因此FTP上传方式要使用二进制方式.不能采用auto和ASCII,否则就会出现这个错误一定要确保下载和上传时都采用二进制方式,不然都有可能产生错误 二.访问出现500 Internal Server E