Recognize an image

From Computer Science Wiki
This a problem set for you to work through [1]

This is a problem set. Some of these are easy, others are far more difficult. The purpose of these problems sets are:

  1. to build your skill applying computational thinking to a problem
  2. to assess your knowledge and skills of different programming practices

What is this problem set trying to do[edit]

How does a computer system represent an image? How does a computer "see" an image? This problem asks you to write a program which identifies 6 different images. You must understand that images are stored as pixel values within an array.

The Problem[edit]

  1. Please download and save this file
  2. Please download the following images in the same directory as the file you saved. You will need to save image as:
    1. image1.png
    2. image2.png
    3. image3.png
    4. image4.png
    5. image5.png
    6. image6.png

You must write a program which detects the position of edges. You must accurately identify the image. For example, if an image is a triangle your program should detect the edges and determine the image is a triangle.

How you will be assessed[edit]

Your solution will be graded using the following axis:


  • To what extent does your code implement the features required by our specification?
  • To what extent is there evidence of effort?


  • To what extent did your code meet specifications?
  • To what extent did your code meet unit tests?
  • To what extent is your code free of bugs?


  • To what extent is your code written well (i.e. clearly, efficiently, elegantly, and/or logically)?
  • To what extent is your code eliminating repetition?
  • To what extent is your code using functions appropriately?


  • To what extent is your code readable?
  • To what extent is your code commented?
  • To what extent are your variables well named?
  • To what extent do you adhere to style guide?


A possible solution[edit]

Click the expand link to see one possible solution, but NOT before you have tried and failed!

not yet!