CS676 Jan-Apr 2011

Homework 2

Codes to be shown running on Jan 14.

Histogram Analysis 
Create a new directory called CVDRIKHistogram containing CVDRIKHistogram.h and CVDRIKHistogram.cpp . Construct theGeneral Data Structure (use struct and not class - follow the CVDRIK convention) of the Histogram with user defined number of channels and bins per channel. The following functions should be written for any object you create iniitialize_CVDRIKHistogram( &hist ) - Just set all Pointers to NULL and data sizes to -1 allocate_CVDRIKHistogram( &hist , channelNum , binsPerChannel ) deallocate_CVDRIKHistogram( &hist ) copy_CVDRIKHistogram( &srcHist , &destHist ) computeFromImage_CVDRIKHistogram( &hist , IplImage* frameData ) computeBhattacharyaCoefficient( &hist1 , &hist2 , &bhatCoefVal ); (a) Read the PETS2000 image sequence in a loop - Convert each RGB Image to GRAY - Draw the Histogram of the Monochrome Image : Use cvLine function of OpenCV - Keep the number of bins per channel of the Histogram as an option. (b) Use any 2-3 of the sharp1 sharp2 sharp3 sharp4 sharp5 sharp6 sharp7 (image sequence of about one minute and a half minute video) keep on computing the Bhattacharya Co-efficient between the RGB Histograms of the consecutive images. Detect Shot Boundaires using a Bhattacharya Co-efficient Threshold (vary between 0.6 - 0.9 ). Save the Image Sequences of the different Shots in Different directories.
(Extra Credit): Use fade1 fade2 to compute the fade.

Homework 3

Codes to be shown running on Jan 15

Noise Removal
(a) Take every 5th Pixel (both row and column-wise) and - add Zero-Mean and sigma-standard deviation Gaussian Noise (sigma - user input) - add Salt and Pepper Noise (b) Try Noise Removal using Mean, Median and Mode filtering. Report your observations on each method for different kind of image noise.

Homework 4

Codes for any two masking operation have to be shown running on Jan 16, codes for remaining parts are to be submitted by midnight Jan 18


Masking Operations
(a) Create a 3-Channel Integral Image for a RGB Image. Perform RGB Image Blurring by neighborhood averaging with the Blurring Window sizes as User Input. Observe the Effect of Blurring onVertical/Horizontal Edges while you change the Width/Height of the Blurring Window. (b) Perform Edge Detection on a Monochrome Image using the Integral Image. Experiment with different Mask width/height NOTE: To make Integral Images use IPL_DEPTH_32F as the Data Type while creating the IplImage (c) Combine (a) and (b) for selective Blurring where Edge pixels are avoided. Report the results on the PETS2000 Sequence. (d) Design a Gaussian Mask with user defined sigma_x and sigma_y. Blur an RGB Image with the Gaussian Mask - use the same mask for blurring in all the color channels. NOTE - While looping in the masking operation, no pixel position should be computed in the form ( y * widthStep + 3*x ), rather use the 'baseIndx', 'currIndx' form for the coding. (e) Perform corner detection on a RGB Image. Report your result with a Pre-processing stage of Image Blurring
Please submit all the codes as a .zip file, but do not link it from your page until AFTER 11PM on 18 Jan.