0
Java 용 opencv 3.2 (contrib 모듈과 함께 소스 빌드)를 사용하고 SURF + BOWKMeansTrainer를 사용하여 탐지하려고하지만 실행시 오류가 발생합니다.Java에서 opencv BOWKMeansTrainer를 사용하는 방법?
내 코드 :
//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);
//...
던져 오류 :
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)