use of org.apache.commons.math3.ml.clustering.DoublePoint in project imagingbook-common by imagingbook.
the class KMeansClusteringQuantizerApache method makeColorMap.
private int[][] makeColorMap() {
List<int[]> colList = new LinkedList<>();
for (CentroidCluster<DoublePoint> ctr : centers) {
double[] c = ctr.getCenter().getPoint();
int red = (int) Math.round(c[0]);
int grn = (int) Math.round(c[1]);
int blu = (int) Math.round(c[2]);
colList.add(new int[] { red, grn, blu });
}
return colList.toArray(new int[0][]);
}
use of org.apache.commons.math3.ml.clustering.DoublePoint in project imagingbook-common by imagingbook.
the class KMeansClusteringQuantizerApache method cluster.
// --------------------------------------------------------------
private List<CentroidCluster<DoublePoint>> cluster(int[] pixels) {
KMeansPlusPlusClusterer<DoublePoint> clusterer = new KMeansPlusPlusClusterer<>(params.maxColors, params.maxIterations);
List<DoublePoint> points = new ArrayList<>();
for (int i = 0; i < pixels.length; i++) {
points.add(new DoublePoint(intToRgbDouble(pixels[i])));
}
return clusterer.cluster(points);
}
use of org.apache.commons.math3.ml.clustering.DoublePoint in project ACManager by kun368.
the class MyTest2 method test6.
@Test
public void test6() throws Exception {
Clusterer<DoublePoint> clusterer = new KMeansPlusPlusClusterer<DoublePoint>(3);
List<DoublePoint> list = new ArrayList<>();
list.add(new DoublePoint(new double[] { 1 }));
list.add(new DoublePoint(new double[] { 1.5 }));
list.add(new DoublePoint(new double[] { 1.8 }));
list.add(new DoublePoint(new double[] { 3.5 }));
list.add(new DoublePoint(new double[] { 3.6 }));
list.add(new DoublePoint(new double[] { 4 }));
list.add(new DoublePoint(new double[] { 4.2 }));
System.out.println(list);
List<? extends Cluster<DoublePoint>> res = clusterer.cluster(list);
System.out.println("!!!");
System.out.println(res.size());
for (Cluster<DoublePoint> re : res) {
System.out.println(re.getPoints());
}
}
Aggregations