Write-up describing your approach do the images align well


E27: Computer Vision Spring 2016 - HOMEWORK 2

Planar image stitching.

Obtain two or more separate images of a planar (or near-planar) scene and stitch them together by finding the perspective transformation(s) that map corresponding points to each other. For instance, you could try mapping the first image onto the image plane of the second image below to try to get a front-on view of the entire whiteboard:

You can find a small selection of images to stitch together (including the whiteboard images above) on the course website. Of course, you can also take your own images - just make sure you're photographing a planar object!

Here are the steps you will want to follow:

a. Identify a set of n corresponding points in two or more images. I suggest using a MultiPointWidget from cvk2 to help you manage your point sets. Note that this widget is capable of both saving and loading sets of points, so while developing and testing your program, you will be spared the need to click on all of the points from scratch on each run of the program. Check out cvkdemo.py from the starter code for details.

b. Find the transformation(s) that map each set of n points onto the image plane of one particular image. Although you could implement the homogeneous least-squares technique that we discussed in class, OpenCV has already done it for you with the findHomography function.

Note that findHomography expects the point sets you supply to have the shape (n, 1, 2), and to have 32-bit floating-point format. If your list of coordinates is in the numpy array named p, you can put it into the correct format with the code p.astype(numpy.float32).reshape((-1, 1, 2)). See the numpy documentation for more details about data types and array shapes.

c. Use the OpenCV warpPerspective function to compose the images together into a single scene. Look at the transrot.py and t_homog.py sample programs for example usage. Please make sure that the merged image is sufficiently large to show all of the content from both input images, and be aware that you may need to add some extra translation in order to fit everything into the merged image (see t_homog.py).

d. Use the OpenCV imwrite function to save your merged image.

What to turn in:

You should turn in the following:

  • Full source code for your program.
  • Images before and after stitching.
  • Text files specifying the points for each "before" image. Each text file should consist of n lines, where each line specifies an x and y coordinate separated by a space. This format is the one generated by the MultiPointWidget mentioned above.
  • A short (1/2 - 2 page) PDF write-up describing your approach. Do the images align well? If not, why? Does adding more points to the set improve alignment? What setting did you use for findHomography? Is there a particular setting that worked better than the others?

Attachment:- Homography Images.zip

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: Write-up describing your approach do the images align well
Reference No:- TGS01476117

Expected delivery within 24 Hours