listAreas.java


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