familiarity with basic image processing methods

familiarity with basic image processing methods.

Computer Vision

Assignment 1 Specification

Objectives:

The objective of this assignment is to gain familiarity with basic image processing methods. It also provides an introduction to the common image processing and analysis tasks using OpenCV. After completing this assignment, you will learn how to:

  1. Open and read image files;
  2. Perform simple mathematical operations on images;
  3. Carry out translation based alignment;
  4. Perform image adjustment and restoration;

Task:

Modern cameras cannot capture the full dynamic range of common scenes. In many situations, e.g. scenes combining indoor and outdoor objects, any photograph will be partially under or over-exposed. An effective way for dealing with this problem is to combine multiple images taken in quick succession and at different exposures. The goal of this assignment is to write a program that can take at least three input images and first combine them into a single high dynamic range (HDR) image and then convert it back to a standard low dynamic range image for display.

Below is a sequence of four images taken at different exposures and the final result obtained after merging.


(source: Wikipedia)

It is recommended that you use the OpenCV library in C++ .

Instructions:

Task 1

Photograph several high contrast scenes, with a series of at least three images for each scene, taken 1 or 2 “exposure values” apart. Resize them to approximately 1 megapixel. You can use either a digital camera with manual controls or one of several camera apps for iOS or Android that allow manual exposure settings.

You should then align the images to ensure the correct appearance of the combined HDR photograph. A simple way to perform the alignment is by searching through all possible offsets in some suitable range (e.g. 20 pixels for low resolution images) and computing for each a score measuring the quality of the match. Three suitable metrics include sum of squared differences (SSD), sum of absolute differences (SAD) and the normalised cross correlation (NCC), all of which are implemented in OpenCV.

For this assignment it is sufficient to use an x, y translation transform but feel free to implement other methods.

Task 2

Once you can align several exposures, the next objective is to construct a single high dynamic range image. Most digital cameras have roughly linear response in the middle of their dynamic range and so the following calculation of “true” erradiation H at pixel (x,y) may be appropriate:


with the weight function wi(x,y) given by:


The rationale for including the weight function is that the measurements obtained become less reliable and the linear model less accurate as the sensor receives too little or too much light. Experiment with different values of constants ai and thresholds clow and chigh until you obtain good results (hint: special treatment of images with highest and lowest exposures may be required). It might also be a good idea to start with grayscale images and then apply the developed procedure to each of the red, green and blue channels in turn.

Make sure you can display some meaningful intermediate results.

Task 3

Having obtained an estimate of “true” intensities, the resulting HDR image needs to be converted to the standard 24 bit format for display. Experiment with linear, square root and log functions for the conversion and choose the option that produces ithe most attractive results on your images. Make sure that the entire dynamic range is used (i.e. at least one of the colour channels should have some intensities close to zero and at least one channel should have intensities close to 255).

Optional task: Try to improve the visual quality of the results of the basic algorithm, e.g. through the use of local tone mapping. Other options include automatic parameter tuning or creation of a time-lapse HDR video.

Evaluation: Several multi exposure image sequences (of three images) will be released on the day the assignment is marked. You will take your marker through the steps showing the output of image alignment procedure, a representation of the high dynamic range image and the final output as well as the results you have obtained on your own data.

This assignment is worth 10% of the course total. Tasks 1, 2 iand 3 are sufficient to complete the assignment and will be marked against the maximum mark achievable. The optional task, if completed, will attract a bonus mark.

Deliverables: In addition to demonstrating your work, you will also submit a two page report to your marker, in hard copy on the day. This report should explain briefly the approach you have taken in Tasks 1, 2 and 3 and include some sample input sequences and the results obtained. Optionally, the details of any enhancements you have implemented.

Software: Download OpenCV:[Sourceforge]. Full description of OpenCV can be found here.

The post familiarity with basic image processing methods appeared first on My Assignment Online.

familiarity with basic image processing methods

Posted in Uncategorized