okdolly
6/14/2016 - 7:05 AM

Duke Java programming

Duke Java programming

#Now put this all together in one program that batch processes several images, 
#creates and saves new images (with new filenames) that are grayscale versions of each image.


import edu.duke.*;
 import java.io.*;

  public class grayScale {
     public ImageResource makeGray(ImageResource inImage){
         ImageResource outImage = new ImageResource(inImage.getWidth(),inImage.getHeight());
         for (Pixel pixel: outImage.pixels()){
             Pixel inPixel = inImage.getPixel(pixel.getX() , pixel.getY());
         int average = (inPixel.getRed() + inPixel.getBlue() + inPixel.getGreen());
         pixel.setRed(average);
         pixel.setGreen(average);
         pixel.setBlue(average);
        }
        return outImage;
    }
    public void selectAndConvert() {
            DirectoryResource dr = new DirectoryResource();
            for (File f:dr.selectedFiles()){
                ImageResource inImage = new ImageResource (f);
                ImageResource outImage = makeGray(inImage);
                outImage.draw();
                String fname = inImage.getFileName();
                String newName = "gray-" + fname;
    outImage.setFileName(newName);
    outImage.draw();
    outImage.save();
            }    
       
        }
    }