listAreas.javaimport java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import java.util.*;
public class listAreas {
public static void listAreas(BufferedImage img) {
int[] areas = new int[10];
int i, j, val, count=0;
int nrow = img.getHeight();
int ncol = img.getWidth();
for (j=0; j<nrow; j++) {
for (i=0; i<ncol; i++) {
val = img.getRGB(i,j);
val = val&0xFFFFFF;
if (val>0) areas[val-1]++;
if (val>count) count = val;
}
}
for (i=0; i<count; i++) System.out.format("%d ",areas[i]);
System.out.println();
}
public static BufferedImage readImage(String filename) {
BufferedImage img;
try {
img = ImageIO.read(new File(filename));
return img;
} catch (IOException e) {
//System.out.println(e); // e.getMessage());
System.out.println(filename + " not found");
System.exit(-1);
}
return null;
}
public static void main(String [] args) {
String filename = "raw.png";
if (args.length>0) filename = args[0];
BufferedImage img = readImage(filename);
listAreas(img);
}
}
Maintained by John Loomis, updated Wed Apr 17 12:28:26 2019