For this assignment, you'll implement Exposure Fusion and Panorama Stitching. To get started, download the starter code.
The starter code includes a fully functional user interface for capturing, processing, and previewing images. We have also implemented the JNI wrappers for you. Your task is to implement the necessary code in Panorama.cpp
and HDR.cpp
.
OPENCV_PATH
environment variable in Eclipse's preferences (under C / C++ > Build > Environment).report.pdf
.create-submission.py
in the project folder. This should create a zip archive named [sunet-id]-project-1.zip
.Your submission must be your own work. No external libraries, besides the ones already referenced by the started code, may be used. We expect all students to adhere to the Stanford Honor Code.
We'll be following the implementation described in this paper.
However, feel free to treat it as a baseline and experiment with different methods.
Inside the starter code project, navigate to the file jni/HDR.cpp
. All your code for this section will reside inside this file – you do not need to write any additional Java code. Follow the comments in the source code and implement each section.
The starter code contains two presets for testing your HDR algorithm. These are as follows:
align_images
function for more details.Your report should include the output for both test images.
Include a brief dicussion on the following in your project report:
Extend your implementation to support mult-image stacks consisting of more than 2 images. To receive credit, your implementation must support non-aligned stacks. Include screenshots of the input stack and the fused output.
Inside the starter code project, navigate to the file jni/Panorama.cpp
. All your code for this section will reside inside this file – you do not need to write any additional Java code. Follow the comments in the source code and implement each section.
Use the mountain scene preset provided with the starter code to test your implementation. Once you have it working on the preset, test the live mode. Tapping on the screen in the live mode captures an image. Once two images have been captured, they are sent to the stitching pipeline.
Include the stitched output for both – the preset and the live capture session.
Include a brief discussion on the following in your project report:
Implement either one of these features: