<< 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

how did the oxygen help a human being
Achol Reply
how did the nutrition help the plants
Achol Reply
Biology is a branch of Natural science which deals/About living Organism.
Ahmedin Reply
what is phylogeny
Odigie Reply
evolutionary history and relationship of an organism or group of organisms
AI-Robot
ok
Deng
what is biology
Hajah Reply
cell is the smallest unit of the humanity biologically
Abraham
what is biology
Victoria Reply
what is biology
Abraham
HOW CAN MAN ORGAN FUNCTION
Alfred Reply
the diagram of the digestive system
Assiatu Reply
allimentary cannel
Ogenrwot
How does twins formed
William Reply
They formed in two ways first when one sperm and one egg are splited by mitosis or two sperm and two eggs join together
Oluwatobi
what is genetics
Josephine Reply
Genetics is the study of heredity
Misack
how does twins formed?
Misack
What is manual
Hassan Reply
discuss biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles
Joseph Reply
what is biology
Yousuf Reply
the study of living organisms and their interactions with one another and their environment.
Wine
discuss the biological phenomenon and provide pieces of evidence to show that it was responsible for the formation of eukaryotic organelles in an essay form
Joseph Reply
what is the blood cells
Shaker Reply
list any five characteristics of the blood cells
Shaker
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