Bishop’s University
Computer Vision/Image Analysis
Assignment #01
Assignment
The objective of this project is to gain experience with connected components analysis, morphological filters and the use of features computed within it for recognition of objects. A secondary objective is to gain experience with image formats.
Requirements
The student is to implement and/or modify a connected components program so that it will report on all objects found in a gray-level input image. The figure below shows an image of two overlapping playing cards. The program should be able to detect all 11 objects. Moreover, the features reported should indicate which objects are similar to others.
The requirements below intend to specify what is to be done, but not how it should be done. The student should consider various design decisions for constructing a correct program within a short time.
Figure 1: Cards image with black objects
The program should give a brief greeting and announce its purpose
The program should prompt the user for its input. The input is as follows.
The name of the .pgm file that contains the image to process
It is the option of the programmer to allow input of a binary (.pbm format) image as well as a color (.ppm) image; if this option is chosen.
The program should give clean output of all objects detected and their features.
At some points of the process, the program will detect object pixels and perform connected-components labeling of connected pixels.
All object pixels will be surrounded by white background pixels, which will be taken to be 0 if the image is made binary.
The program will identify each 8-connected object region and measure certain features of each. It must report at least the features circularity, bounding box, area, and second moments for each object (similar to what is done in Figure 1.12 of the Shapiro and Stockman textbook). You may assume that every significant object has an area of at least 20 pixels in order to get rid of the noise.
Important program steps must be clearly described. Program code or tools used, developed by others, should be documented.
A document/ report must be submitted that shows the use of the program, the results, and some discussion of the results.
Resources
Example test data files are provided.
Connected components algorithms are defined in Chapter 3 of the textbook
Submission: report + program
You will submit 2 files: one containing your programming work and one containing your report. For the electronic report of your results, you may use Word, PowerPoint, or other document processor to prepare the report. This report must have the following sections: 1) identification of person and assignment, 2) brief problem definition, 3) summary of choices made for the solution, 4) 2 example images and results of running the program on them, 5) brief discussion of results. As a guideline, a well done report need only be 2 typed pages in addition to the pages showing the example results. Section 3) should mention choices of algorithm(s) and reuse of outside code.
Notes
Partial credit will be given for partial completion of the tasks: thus, it is wise to always have a version of the program that correctly computes some of the required outputs.
It is unwise to work with large input images until the program steps are working correctly. It is too difficult to determine problems with large images.
Good luck and remember that any part of this assignment can be discussed with the instructor for more clarifications and hints.
Deadline February 7th.