Opencv PCA Microsoft C ++异常:cv ::内存位置的异常

时间:2015-06-01 14:54:49

标签: c++ opencv pca

我有一个奇怪的问题。我用数据向量(Mat myData)训练pca:

PCA pca(myData, Mat(), CV_PCA_DATA_AS_ROW, 90);

myData中的行数与样本数相对应。奇怪的是,如果我在大约90个样本上训练PCA,它运行没有问题但是当我增加样本数量时它会给我错误:

  

Microsoft C ++异常:cv ::内存位置的异常

当我在Linux机器上运行相同的代码时,它也运行没有任何问题。

有谁知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

最可能的原因是输入不包含您认为的数据量。因此,OpenCV将执行超出范围的内存访问。

这是未定义的行为,很可能在不同的系统上有不同的结果。操作系统通常不会过多地使用一个元素,因此您的PCA不会过分错误。

相关问题