CE316 Laboratory: Assignment 1

When you look at the upward during the day, you normally see blue sky and a few clouds.  What could be easier than identifying which parts of the sky are clear and which parts cloudy? Well, your first assignment is to write a program that attempts to do precisely this.

The accompanying zip-file contains 25 images of sky with varying amounts of cloud.  You should write a program which processes images whose names are provided on the command line one by one, displaying the result for each image on the computer screen for two seconds.  For each image, you should make your program automatically identify which pixels contain cloud, mark them in yellow, and display the image and next to it a copy with the cloud pixels marked, as shown below, in the same window.

(Note that the author's 5-minute solution also finds bits of trees and building as sky; you should be able to do better.)

You should do your work mostly during the scheduled CE316 laboratory sessions, where demonstrators are on hand to discuss your ideas with you and help you overcome any programming problems. Demonstrator support is not available outside these sessions, so be sure you make best use of them.

Your program should use OpenCV routines for loading and displaying the images, and for the processing if you wish.  You are free to use whatever algorithm you like.  You may implement your program in any of C, C++ or Python.  If you are using C or C++, you must supply a Makefile that compiles your source code and produces an executable called find-cloud. If you are using Python, your program should be called find-cloud.py.

When marking submissions, your program will be invoked with the command line:

  python find-cloud.py cloudpix/*.jpg
if written in Python and
  ./find-cloud cloudpix/*.jpg
if written in C or C++, so you must make sure it can be used in this way in a Linux environment on the machines in CSEE Lab1.  Failure to work in precisely this way will reduce your mark.

You should present your solution in accordance with the assessment criteria. Note that marks are awarded for commenting and presenting your code in a clear way as well as a good choice of algorithm and elegant implementation.


Submission deadline: Thu16th November at 11:59:59 (noon)
What to submit: the source code of your program
any Makefile etc needed for compilation
but not the images!
Marks returned: three weeks
Assessment criteria: see the detailed description of the criteria

Remember to identify your work with your registration number only.  The coursework system allows you to upload your work as often as you like, so do keep uploading your files as you develop them.

Last updated on 2017-10-06 09:22:47 Web pages maintained by Adrian F. Clark [contact]