EE/CSE 576: Image Understanding
|original kidney image||isolated regions|
The CT images and some image analysis programs are available on the course web. You are asked to write two of the programs yourself, to get you familiar with working with image data.
The basic idea is to first find a threshold that will produce a binary image that has most of the organs separated into distinct regions. Use thresh to try various threshold ranges. The morphological operators erode and dilate can be used to help separate organs that are connected together or to fill small holes in organs. (You have to write these yourself.) Once you have a decent binary image, you can feed it to the connected components labeling operator conrgn to produce a labeled image, which should have a distinct label (low integers) for each region. You can convert this to pseudocolor using autocolor. Finally, try the Canny edge detector (canedg plus edge_filter) on the original gray-tone image to see what kind of edges you can get out.
Try your thresholding, morphology, and labeling procedure on the CT images kidney.pgm, g006.pgm, and e030.pgm and try to do something similar to look for objects in blocks.pgm. Run the Canny only on kidney.pgm and blocks.pgm. For each image in your test set, print the original image, the labeling (in color if possible, else gray tones), and the edge image (for those that you do it). Turn in these printouts, a diagram showing what you did to get them, and a listing of any code you wrote. Please put a header on each routine you write for this class with at least the following information: