listAreas.java
import 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