@Override public double compare(T query, T target) { return comp.compare(query.getFeatureVector(), target.getFeatureVector()); }
@Override public boolean isDistance() { return comp.isDistance(); }
final double distance = comp.compare(query, that);
final double distance = comp.compare(query, that);
double execute() { FeatureVector fv1 = featureOp.extract(im1); FeatureVector fv2 = featureOp.extract(im2); if (compare == FeatureComparison.EQUALS) { if (Arrays.equals(fv1.asDoubleVector(), fv2.asDoubleVector())) return 1; return 0; } else { return getComp(fv1, compare).compare(fv1, fv2); } }
double execute() { FeatureVector fv1 = featureOp.extract(im1); FeatureVector fv2 = featureOp.extract(im2); if (compare == FeatureComparison.EQUALS) { if (Arrays.equals(fv1.asDoubleVector(), fv2.asDoubleVector())) return 1; return 0; } else { return getComp(fv1, compare).compare(fv1, fv2); } }
double v = fvc.compare(fv1, fv2); d = (threshold==-1?v:(v>threshold?0:1));
double v = fvc.compare(fv1, fv2); d = (threshold==-1?v:(v>threshold?0:1));
double execute() { FImage mask1 = FloodFill.floodFill(im1, px1, py1, thresh1); FImage mask2 = FloodFill.floodFill(im2, px2, py2, thresh2); FeatureVector fv1 = featureOp.execute(im1, mask1); FeatureVector fv2 = featureOp.execute(im2, mask2); if (compare == FeatureComparison.EQUALS) { if (Arrays.equals(fv1.asDoubleVector(), fv2.asDoubleVector())) return 1; return 0; } else { return getComp(fv1, compare).compare(fv1, fv2); } }
double execute() { FImage mask1 = FloodFill.floodFill(im1, px1, py1, thresh1); FImage mask2 = FloodFill.floodFill(im2, px2, py2, thresh2); FeatureVector fv1 = featureOp.execute(im1, mask1); FeatureVector fv2 = featureOp.execute(im2, mask2); if (compare == FeatureComparison.EQUALS) { if (Arrays.equals(fv1.asDoubleVector(), fv2.asDoubleVector())) return 1; return 0; } else { return getComp(fv1, compare).compare(fv1, fv2); } }