This paper addresses the problem of reconstructing a high-resolution image from a video sequence. The application of this method is useful when we want to scan a document with a mobile device. In this scenario, one can record a video of a document and capture close shots of that document so the details appear on the video. By having such a video, our method first align video frames to one viewpoint and then stitch them to the final image. In this work, We have extended the accuracy of alignment with eliminating keypoints search space. Also, a sharpness-aware approach is presented for image stitching. We evaluated our method on SmartDoc Video dataset and reported the results.
- CMake : To generate build files
- OpenCV 3.2.0 : To perform Computer vision functions.
- CUDA support required for GPU acceleration
- Json : To parse data.json file
- Put json.hpp to the project root directory.
- FISH Fast Wavelet-Based Algorithm for Global and Local Image Sharpness Estimation
: For quality assessing related functions.
- Download matlab code and create c++ library.put fish.so and fish.h in Libs directory. Then you can follow this gist.github to enable the project to use this library.
Simply create build directory and run these commands:
cmake -DCMAKE_BUILD_TYPE=Release
make
To run project , run such command inside build directory
VideoDocRec -v <input_video_path> -d <input_video_data_json_path> -o <output_image_path>
These are some particular examples :
VideoDocRec -v input.mp4 -d data.json
VideoDocRec -v input.mp4 -d data.json -q fish
VideoDocRec -v input.mp4 -d data.json --gpu true
VideoDocRec -v input.mp4 -d data.json -q vol -gpu true