Assigned: Thursday, January 24,
2008
Due: Friday, Februrary 8, 2008
(by
11:59pm)
Artifact Due:
Friday, Februrary 8, 2008 (by 11:59pm)
Project Head TA: Ryan Kaminsky (send your
questions here first!)
Project Secondary TA: Noah Snavely
***Reminder: Sign-up for Panorama kit here.
In this project, you will implement a system to combine a series of photographs into a 360° panorama (see panorama below). Your software will detect discriminating features in the images, find the best matching features in the other images, automatically align the photographs (determine their overlap and relative positions) and then blend the resulting photos into a single seamless panorama. You will then be able to view the resulting panorama inside an interactive Web viewer. To start your project, you will be supplied with some test images and skeleton code you can use as the basis of your project and instructions on how to use the viewer.
Because this project is more extensive you can work in groups of two. Use this link to register your group on the grouper tool.
This project can be thought of as two major components. Each has its own web page with detailed information:
Step | EXE | |
1. | Take pictures on a tripod (or
handheld) |
|
2. | Warp to spherical coordinates |
(Panorama.exe) |
3. | Extract features |
(Features.exe) |
4. | Match features |
(Features.exe) |
5. | Align neighboring pairs using
RANSAC |
(Panorama.exe) |
6. | Write out list of neighboring
translations |
(Panorama.exe) |
7. | Correct for drift |
(Panorama.exe) |
8. | Read in warped images and blend
them |
(Panorama.exe) |
9. | Crop the result and import into a viewer |
Features.exe and Panorama.exe are command line programs that requires arguments to work properly. Thus you need to run it from the command line, or from a shortcut to the executable that has the arguments specified in the "Target" field of the shortcut properties. The one exception to this is that running Features.exe without command line arguments opens up the UI.
To run from the command line, click the Windows Start button and select "Run". Then enter "cmd" in the "Run" dialog and click "OK". A command window will pop up where you can type DOS commands. Use the DOS "cd" (change directory) command to navigate to the directory where Features.exe or Panorama.exe is located. Then type "Features" or "Panorama" followed by your arguments. If you do not supply any arguments, the program will print out information on what arguments it expects or open the UI in the case of Features.exe.
Another way to pass arguments to a program is to create a shortcut to it. To create a shortcut, right-click on the executable and drag to the location where you wish to place the shortcut. A menu will pop up when you let go of the mouse button. From the menu, select "Create Shortcut Here". Now right-click on the short-cut you've created and select "Properties". In the properties dialog select the "Shortcut" tab and add your arguments after the text in the "Target" field. Your arguments must be outside of the quotation marks and separated with spaces.
You can run the skeleton program from inside Visual Studio. However, you will need to tell Visual Studio what arguments to pass. Here's how:
In addition to your source code and executables, turn in a web page describing your approach and results. In particular:
Feature Detection and Matching
Panorama Mosaic Stitching
This portion of the web page should containin the following:
The web-page should be placed in the project2/artifact directory along with all the images in JPEG format. If you are unfamiliar with HTML you can use any web-page editor such as FrontPage, Word, or Visual Studio 7.0 to make your web-page. The KompoZer HTML editor is easy to use and highly recommended. Here are some webpage design tips.
Last modified on
Jan 21, 2008