Image Representation

Images are everywhere on computers. Some are obvious, like photos on web pages and icons on buttons, but others are more subtle: a font is really a collection of images of characters, and a fax machines is really a computer that is good at scanning and printing.

This activity explores how images are displayed, based on the pixel as a building block. In particular, the great quantity of data in an image means that we need to use compression to be able to store and transmit it efficiently. The compression method used in this activity is based on the one used in fax machines, for black and white images.

Although the main activity is based on coloring a few dozen black pixels with a pencil, in live shows we like to demonstrate it on a larger scale. One way to do this is to use a can of black spray paint and a square stencil to make a giant picture pixel-by-pixel. Another is to process a photograph of (say) a teacher to the kidfax code, and have a whole class decode the mystery photo.

Posing

Downloads

Videos

Photos

  • Activity explained at Fujitsu Kids event with JOI, Japan
    Activity explained at Fujitsu Kids event with JOI, Japan

Related Resources

  • Francis Wyffels has created a nice variation of this activity with more images and some thinking about protocols.
  • Hiroki Manabe has created a Flash animation version of the Image Representation activity
  • Tom Bradley, a Computer Science Graduate from Swansea has developed an online Image Representation activity to go along with this Unplugged module.
  • Mordechai (Moti) Ben-Ari from the Weizmann Institute of Science, Israel has programmed the Image Representation (Run Length Encoding) Unplugged activity in Scratch which can be downloaded in a zip file of the complete set of activities. Please read the ReadMe.txt for documentation.
  • The Greenroom resources area using the Greenfoot software has the fax machine activity and exercise you can download and use in the Greenfoot environment.
    If you are a teacher, you can apply easily to join and use the resources there.
  • Computing Science Inside Workshop has an activity In the Picture which is a nice extension activity to this topic. In this workshop pupils consider image identification and explore methods that computers could use to achieve this. Using examples such as airport security and feature recognition it becomes clear why image identification systems are necessary. Pupils then try out one technique for image identification and the session finishes with a competition between teams to see who can correctly identify the most images. After this workshop pupils will appreciate the complexity of tasks such as automatic face recognition, and have some insight into how it could work.
    Note: You will need to apply and register in order to recieve the Workshop Pack for this activity.
  • Computing Science Inside Workshop has another activity Painting by Numbers which is a nice extension activity to this topic. In this workshop pupils look at the concept of image representation and question how computing devices such as digital cameras, phones, scanners and PCs can store and transmit images. The processes of digitisation, storage, transfer and rendering are explored using practical exercises, and there are plenty of options for further work following the workshop.
    Note: You will need to apply and register in order to recieve the Workshop Pack for this activity.
  • Computer Science & Engineering for K-12 (cse4k12.org) has the following activities related to binary numbers and image representation below:
    • Bitmaps Activity where bitmaps are a way of encoding black and white images using binary numbers. A ‘0’ is used to represents a white square in the image and a ‘1’ is used to represent a black square. These worksheets provide a set of 8×8 grids where the student can draw their own black and white images and then write the corresponding binary (and hexadecimal) values.
    • Crossbin Puzzles Activity that are similar to crossword puzzles except that the clues are hexadecimal numbers, and the answers are binary numbers (‘0’s and ‘1’s) instead of words. Also, once the puzzle is complete, if you fill all the ‘1’ squares with black you will see a small picture or pattern.
  • Taha Ben Brahim, Ph.D. candidate in Auburn University’s Department of Computer Science and Software Engineering has programmed this activity using the Textrix robot and RobotC. View the Videos:
  • Picture Logic has a puzzle similar to Run-length coding, but it only represents the number of black squares. You need to use some reasoning to work out where the white gaps are!
  • An older version of this activity can be downloaded in PDF format here. The content is similar to the current version, but there’s some extra technical information.
  • Wikipedia has useful articles on fax, run-length encoding and pixels
  • The Mathmaniacs website has a similar activity (lesson 3)
  • How Stuff Works: Fax Machine
  • Wikipedia: Flatland – A Romance of Many Dimensions is an 1884 satirical novella by the English schoolmaster Edwin Abbott. Writing pseudonymously as “a square”, Abbott used the fictional two-dimensional world of Flatland to offer pointed observations on the social hierarchy of Victorian culture. However, the novella’s more enduring contribution is its examination of dimensions; in a foreword to one of the many publications of the novella, noted science writer Isaac Asimov described Flatland as “The best introduction one can find into the manner of perceiving dimensions.” As such, the novella is still popular amongst mathematics, physics, and computer science students. For some exciting resources on the movie, please visit the following sites:
  • The PrintBall is a graffiti Robot. It works like a giant Ink-Jet printer using a PaintBall Gun as print-head. The PaintBall gun is mounted on a custom made pan & tilt unit, which is connected to a software programmed with PrintWare 6.0. The pan & tilt is controlled by an Atmel chip [programmed in Basic] allowing the PrintWare 6.0 software to move the two stepper motors and to trigger the PaintBall Gun. The software allows the users to load, analyse and shot images. The resolution of the image can be adjusted according to the number of steps between each points. For videos of PrintBall in action visit the above site.
  • stackoverflow has an interesting article called Twitter image encoding challenge which is worth a read about “…how their ideas about encoding can lead to more detail in the limited space that you have available”
  • Hobart and William Smith Colleges has the Data Representation Applet which is a small applet that shows how the same 32 bits stored in the memory of a computer can represent different things, depending on how they are interpreted.
  • SCIENCE BUDDIES offer the following activities:
  • TEACH Engineering has the following K-12 resources in image representation:
    • How Do You Store All This Data? allows students to start seeing the data structure they will use to store their images. Students will be introduced to two dimensional arrays and vector classes. Students will be guided to see that a vector class will be the most efficient way of storing the data for their images.
    • What Makes Up A Colour? helps students learn why image colour becomes important as we distort the outer boundaries of an image and have to interpolate pixels to fill in gaps created from our algorithm. Students learn what a digital image is, what pixels are, and learn to convert between RGB and hexadecimal values.
    • RGB to Hex Conversion Activity where students practice converting between RGB and hexadecimal (hex) formats. They learn about mixing primary colours in order to get the full spectrum of colours, and they learn how to average pixel values.
  • The students at the Fall 2010 Auburn Robo Camp have demonstrated combining this image representation activity with robotics; this video shows a robot decoding a binary image file (using the Textrix robot and RobotC).
  • Wolfram Demonstrations Project has the following demonstration activities. Note: You will need to install the Wolfram CDF Player in order to use these activities. You can either download each demonstration or use your browser to run it.
    • Binary Run-Length Encoding which splits data into runs of zeros and ones. A list of binary distinctions can then be encoded as a list of run-lengths
  • Neuro Productions has Alice in Wonderland (the Bitmap) which is the full story, 12 chapters, more than 25000 words, all are crammed in one Bitmap!

Curriculum Links

Great Principles of Computer Science [info]
  • Recollection
ACM K12 Curriculum [info]
Expand
  • Level I (Grades K–2) Topic 11: Understand how 0s and 1s can be used to represent information, such as digital images and numbers.
New Zealand Curriculum [info]
Expand
  • Mathematics Level 1: Equations and expressions
    • Communicate and explain counting, grouping, and equal-sharing strategies, using words, numbers, and pictures.
  • Mathematics Level 2: Position and orientation
    • Create and use simple maps to show position and direction.
  • Technology Level 1: Technological systems
    • Understand that technological systems have inputs, controlled transformations, and outputs.
  • Technology Level 3: Technological systems
    • Understand that technological systems are represented by symbolic language tools and understand the role played by the “black box” in technological systems.