Java用OpenCV求矩阵特征值特征向量出错
package opendemo;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.MatOfDouble;
public class tezheng {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat sample=new Mat(2,2,CvType.CV_8UC1);
sample.put(0, 0, new byte[]{1,2,2,1});
Mat eigenvalues=new Mat();
Mat eigenvector=new Mat();
Core.eigen(sample,eigenvalues,eigenvector);
for(int i=0;i<eigenvalues.rows();i++){
double [] clone=eigenvalues.get(i,0).clone();
double hen=clone[0];
System.out.print(hen+",");
}
}
}
报错为:
OpenCV(3.4.1) Error: Assertion failed (type == 5 || type == 6) in cv::eigen, file C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\core\src\lapack.cpp, line 1396
Exception in thread "main" CvException [org.opencv.core.CvException: cv::Exception: OpenCV(3.4.1) C:\build\master_winpack-bindings-win64-vc14-static\opencv\modules\core\src\lapack.cpp:1396: error: (-215) type == 5 || type == 6 in function cv::eigen
]
at org.opencv.core.Core.eigen_0(Native Method)
at org.opencv.core.Core.eigen(Core.java:315)
at opendemo.tezheng.main(tezheng.java:16)