如何在Java中使用opencv BowkmeanFilter?
我正在使用opencv 3.2 for Java(使用contrib模块构建源代码),并尝试使用SURF+BowKmeanFilter进行检测,但在运行时会抛出一个错误 我的代码:如何在Java中使用opencv BowkmeanFilter?,opencv,feature-detection,Opencv,Feature Detection,我正在使用opencv 3.2 for Java(使用contrib模块构建源代码),并尝试使用SURF+BowKmeanFilter进行检测,但在运行时会抛出一个错误 我的代码: //read jpg to variable trainMats //... //train Mat allDesc = new Mat(); int clusterCount = 30; FeatureDetector detector = FeatureDetector.create(FeatureDetect
//read jpg to variable trainMats
//...
//train
Mat allDesc = new Mat();
int clusterCount = 30;
FeatureDetector detector = FeatureDetector.create(FeatureDetector.SURF);
DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.SURF);
BOWTrainer bowTrainer = new BOWKMeansTrainer(clusterCount);
for(int i = 0; i < trainMats.size(); i++) {
Mat trainMat = trainMats.get(i);
MatOfKeyPoint matOfKeyPoint = new MatOfKeyPoint();
Mat desc = new Mat();
detector.detect(trainMat, matOfKeyPoint);
extractor.compute(trainMat, matOfKeyPoint, desc);
allDesc.push_back(desc);
}
Mat dictionary = bowTrainer.cluster(allDesc);
//...
是由OpenCV版本提供的。
尝试使用2.4.11
Exception in thread "main" java.lang.Exception: unknown exception
at org.opencv.features2d.BOWKMeansTrainer.cluster_1(Native Method)
at org.opencv.features2d.BOWKMeansTrainer.cluster(BOWKMeansTrainer.java:62)