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.
Activity description (PDF)
- Instructions for Image Representation activity (English)
- Greek Language Version
- Italian Language Version
- Persian (Farsi) language Version
- French Language Version
- Hungarian Language Version
- Polish Language Version
- Portugese (Brazil) Language Version
- Russian Language Version
- Slovenian Language Translation
- Turkish Language Version
- 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.
- The Computer Science Field Guide has chapters on:
- 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
- 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.
- 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!
- The Mathmaniacs website has a similar activity (lesson 3)
- How Stuff Works: Fax Machine
- Wikipedia has useful articles on fax, run-length encoding and pixels
- 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.
- 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:
- Image Compression vs. Image Quality: Finding the Best Tradeoff:
to measure the quality of compressed and uncompressed images, which will give you important insights into the trade-offs between file size and image quality
- Help! What File Format Should I Use to Save My Favorite Photo?: in this science fair project, you will test if saving an image file in a different format will change the file size
- Image Compression vs. Image Quality: Finding the Best Tradeoff:
- 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
Great Principles of Computer Science [info]
ACM K12 Curriculum [info]Expand
- Level I (Grades K2) 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.