Skip to content

Commit

Permalink
create direct Mat comparison
Browse files Browse the repository at this point in the history
  • Loading branch information
nfeybesse committed Apr 19, 2017
1 parent c691884 commit 4d6fb5c
Showing 1 changed file with 21 additions and 25 deletions.
46 changes: 21 additions & 25 deletions gs-cv/src/main/java/org/genericsystem/cv/Classifier.java
@@ -1,10 +1,5 @@
package org.genericsystem.cv;

import java.io.File;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import org.opencv.core.Core;
import org.opencv.core.DMatch;
import org.opencv.core.Mat;
Expand All @@ -23,29 +18,30 @@ public class Classifier {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}

// public static void main(String[] args) {
// doWork(sourceDirectoryPath);
// }
//
// public static void doWork(String sourceDirectoryPath) {
// List<File> images = Arrays.stream(new File(sourceDirectoryPath).listFiles()).filter(img -> img.getName().endsWith(".png")).collect(Collectors.toList());
// for (File img1 : images) {
// for (File img2 : images) {
// compareFeature(img1.getPath(), img2.getPath());
// }
// }
//
// };
// public static void main(String[] args) {
// doWork(sourceDirectoryPath);
// }
//
// public static void doWork(String sourceDirectoryPath) {
// List<File> images = Arrays.stream(new File(sourceDirectoryPath).listFiles()).filter(img -> img.getName().endsWith(".png")).collect(Collectors.toList());
// for (File img1 : images) {
// for (File img2 : images) {
// compareFeature(img1.getPath(), img2.getPath());
// }
// }
//
// };

public static int compareFeature(String filename1, String filename2) {
int retVal = 0;
long startTime = System.currentTimeMillis();

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

// Load images to compare
Mat img1 = Imgcodecs.imread(filename1, Imgcodecs.CV_LOAD_IMAGE_COLOR);
Mat img2 = Imgcodecs.imread(filename2, Imgcodecs.CV_LOAD_IMAGE_COLOR);
return compareFeature(img1, img2);
}

public static int compareFeature(Mat img1, Mat img2) {

int retVal = 0;
long startTime = System.currentTimeMillis();

// Declare key point of images
MatOfKeyPoint keypoints1 = new MatOfKeyPoint();
Expand Down Expand Up @@ -95,7 +91,7 @@ public static int compareFeature(String filename1, String filename2) {

// Extract good images (distances are under 10)
for (int i = 0; i < descriptors1.rows(); i++) {
if (match[i].distance <= 30) {
if (match[i].distance <= 20) {
retVal++;
}
}
Expand Down

0 comments on commit 4d6fb5c

Please sign in to comment.