Line Correspondence Editor
In order to specify a morph as described in the Beier-Neeley paper you need a way of defining line correspondences -- that is, a set of pairs of lines in the two images that indicate the position of corresponding features (i.e. nose to nose, upper lip to upper lip, etc.). The morphing algorithm uses these pairs of corresponding lines to evaluate the morph at each frame in the transition.

We are providing a stand-alone utility (windows and linux) that should help you specify these line correspondences between image pairs. This program is essentially a simple interface that lets you click points in the two images to specify pairs of lines and then lets you save these line correspondences to a text file that can be loaded within the body of your main program (see the function main.cpp::ReadCorrespondences()).

Here is a screenshot of the correspondence editor:
Each blue line in the left image has an associated line in the right image (the dots indicate the start of the line segment since orientation is important). This entire set of lines will define the correspondence used as input for a Beier-Neely morph between these two images.

This application is executed with the following commands:

corr.exe picA.bmp picB.bmp [-s #scale] [-f line_pair_text_file]

In this example, the application loads the images 'picA.bmp' and 'picB.bmp' for specifying line pairs. The optional argument '#scale' specifies the scale of each image in the window (the default is 0.5). The optional argument for 'line_pair_text_file' is an existing text file that contains line correspondences in the format created by this program and read by the function main.cpp::ReadCorrespondences (this allows you to edit the same function several times).

You create line pairs by first specifying the start and end coordinate by clicking in the left image and then doing the same in the right image. Type 'h' to see a list of commands within the program. When you are satisfied with the set of line pairs press the 's' key to save them to a local text file that is in the format expected by the main.cpp::ReadCorrespondences() function in your main program.

Should you encounter any problems/bugs with this application please e-mail the COS426 staff (cos426@cs.princeton.edu).