Question: import java.util.Scanner; import java.io.*; import bridges.connect.Bridges; import bridges.base.ColorGrid; import bridges.base.Color; /* *Public class to create an image object. This Image class hold the operations needed

import java.util.Scanner; import java.io.*; import bridges.connect.Bridges; import bridges.base.ColorGrid; import bridges.base.Color;

/* *Public class to create an image object. This Image class hold the operations needed to read, create, and display an *image in the BRIDGES. **/ public class Image { // These are the class attributes needed to complete this lab // image dimensions // MaxVal is used for reading in the ppm file. for the default constructor, you can init the value as 0 private int width, height, maxVal;

// image array and processed array definitions private int[] image_array;// array holding the pixel values of the read in image ([r,g,b,r,g,b,...etc]) private int[] processed_array;// array holding the pixel values of the grayscale image ([r,g,b,r,g,b,...etc])

// constructors //TODO: create an Image constructor that initializes all the attribute to a default value public Image() { }

// creates an image object by reading the input image //TODO: Create an Image overloaded constructor that takes in an input file string and calls the read in image function public Image(String input_file){ }

// accessors //TODO: get width accessor public int getWidth() { return 0; }

//TODO: set width mutator public void setWidth(int w) { }

//TODO: get height accessor public int getHeight() { return 0; } //TODO: set height mutator public void setHeight(int h) { }

// reads an image from the given input image file //This function is given to you as a help in understanding how the pixel data is read and initialized public void read(String file_name) { // open the file try { Scanner sc = new Scanner(new File(file_name));

// read the header (assumes PPM text images) String magic; magic = sc.next(); width = sc.nextInt(); height = sc.nextInt(); maxVal = sc.nextInt();

System.out.println("Header:" + magic + " " + width + " " + height + " " + maxVal); //make sure the image arrays are null and then initialize them if (image_array == null) image_array = new int[width*height*3];

if (processed_array == null) processed_array = new int[width*height*3];

// read the pixels int k = 0; for (int i = 0; i < height*width*3; i++) image_array[i] = sc.nextInt(); } catch (FileNotFoundException ex) { System.out.println ("Input image file not found!" + ex); ex.printStackTrace(); } }

// displays image using the BRIDGES color grid //TODO: given the colorgrid object and if you want to display a grayscale or normal image, //populate the colorgrid objects with the pixel values from the read in image. //You can set a colorgrids pixel value by doing: cg.set(i, j, new Color(r, g, b); public void setColorGrid (ColorGrid cg, Boolean processed) { }

Just need the code(java) for the TODOs, please answer correctly please. thank you.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!