<< Chapter < Page Chapter >> Page >

Get the pixels in the image

Recall that a reference to the Picture object that encapsulates our image is stored in the variable named pic . (See Listing 2 .)

Listing 4 begins by calling the getPixels method on that reference.

All of the pixels in the image are returned in a one-dimensional array.

A reference to the array is stored in a local reference variable of type Pixel[] named pixelArray .

A for-each loop

A special kind of for loop (often called a for-each loop) is used to access and process each pixel in the array. You can learn more aboutthe for-each loop here . (A conventional for loop could also be used here.)

During each iteration of the loop...

The three statements inside the loop modify the red, green, and blue color values of a single pixel.

The first two statements invert the red and green color values by subtracting the values from 255.

The third statement in the loop sets the blue color value to zero.

Every pixel in the image will have been modified as described above when the loop terminates.

Not a reversible process

Because the blue color values were set to zero, the image has now been modified in an irreversible manner.

A reversible process

However, if the blue color values had also been inverted, the process would be reversible.

All that would be necessary to recover the original image would be to invert all of the pixels again.

An important process

Color inversion is a very important process in many areas of computing that involve images. The process is:

  • Computationally cheap
  • Very fast
  • Usually visually obvious
  • Totally reversible

Often used to highlight selected images

For example, many software program invert all of the colors in an image when it is selected for some purpose, such as copying to the clipboard. Thenthe colors are restored to their original values when the image is deselected.

Next to redeye correction, color inversion is probably the most commonly used color modification algorithm in use in modern image processing.

Display again and terminate

The variable named pic still contains a reference to the original Picture object. However, the image that is encapsulated in that object has been significantly modified.

Listing 5 calls the explore method again, creating and displaying another PictureExplorer object that encapsulates a copy of the Picture object with the modified image.

Listing 5 . Display again and terminate.
pic.explore();}//end run method }//end class Prob02Runner

The result is shown in Figure 2 .

The end of the run method

Listing 5 also signals the end of the run method and the end of the Prob02Runner class.

Return control to main

The run method terminates and returns control to the main method in Listing 1 .

The code in the main method calls a getter method to get a reference to the Picture object.

The reference is passed to the println method, which displays the information about the Picture object in the last line of Figure 3 .

The program terminates

Then the main method terminates, at which time the program terminates and returns control to the operating system.

Run the program

I encourage you to copy the code from Listing 6 , compile it and execute it. Experiment with the code, making changes, andobserving the results of your changes. Make certain that you can explain why your changes behave as they do.

Questions & Answers

calculate molarity of NaOH solution when 25.0ml of NaOH titrated with 27.2ml of 0.2m H2SO4
Gasin Reply
what's Thermochemistry
rhoda Reply
the study of the heat energy which is associated with chemical reactions
Kaddija
How was CH4 and o2 was able to produce (Co2)and (H2o
Edafe Reply
explain please
Victory
First twenty elements with their valences
Martine Reply
what is chemistry
asue Reply
what is atom
asue
what is the best way to define periodic table for jamb
Damilola Reply
what is the change of matter from one state to another
Elijah Reply
what is isolation of organic compounds
IKyernum Reply
what is atomic radius
ThankGod Reply
Read Chapter 6, section 5
Dr
Read Chapter 6, section 5
Kareem
Atomic radius is the radius of the atom and is also called the orbital radius
Kareem
atomic radius is the distance between the nucleus of an atom and its valence shell
Amos
Read Chapter 6, section 5
paulino
Bohr's model of the theory atom
Ayom Reply
is there a question?
Dr
when a gas is compressed why it becomes hot?
ATOMIC
It has no oxygen then
Goldyei
read the chapter on thermochemistry...the sections on "PV" work and the First Law of Thermodynamics should help..
Dr
Which element react with water
Mukthar Reply
Mgo
Ibeh
an increase in the pressure of a gas results in the decrease of its
Valentina Reply
definition of the periodic table
Cosmos Reply
What is the lkenes
Da Reply
what were atoms composed of?
Moses Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask