@Override public BlockHistogramModel clone() { BlockHistogramModel model = new BlockHistogramModel(blocks_x, blocks_x, dims); model.histograms = new MultidimensionalHistogram[blocks_y][blocks_x]; for (int y=0; y<blocks_y; y++) for (int x=0; x<blocks_x; x++) model.histograms[y][x] = histograms[y][x].clone(); return model; }
@Override public HistogramModel clone() { final HistogramModel model = new HistogramModel(); model.histogram = histogram.clone(); model.ndims = ndims; return model; }
@Override public BlockHistogramModel clone() { BlockHistogramModel model = new BlockHistogramModel(blocks_x, blocks_x, dims); model.histograms = new MultidimensionalHistogram[blocks_y][blocks_x]; for (int y=0; y<blocks_y; y++) for (int x=0; x<blocks_x; x++) model.histograms[y][x] = histograms[y][x].clone(); return model; }
@Override public HistogramModel clone() { final HistogramModel model = new HistogramModel(); model.histogram = histogram.clone(); model.ndims = ndims; return model; }
/** * Main method * * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // Load the image final URL[] imageURLs = new URL[] { new URL("http://openimaj.org/tutorial/figs/hist1.jpg"), new URL("http://openimaj.org/tutorial/figs/hist2.jpg"), new URL("http://openimaj.org/tutorial/figs/hist3.jpg") }; final List<MultidimensionalHistogram> histograms = new ArrayList<MultidimensionalHistogram>(); final HistogramModel model = new HistogramModel(4, 4, 4); for (final URL u : imageURLs) { model.estimateModel(ImageUtilities.readMBF(u)); histograms.add(model.histogram.clone()); } for (int i = 0; i < histograms.size(); i++) { for (int j = i; j < histograms.size(); j++) { final double distance = histograms.get(i).compare(histograms.get(j), DoubleFVComparison.EUCLIDEAN); System.out.println(distance); } } } }