Passing ORB Descriptors to the Stitcher Class

asked 2015-12-01 22:03:14 -0500

procoding gravatar image

I am working on an image stitching project that requires me to use features that I calculate myself. The reason I am doing so is because I am stitching together images of crop fields (taken via drone), each of which look so similar that finding the same descriptors in adjacent images is nearly impossible. My current strategy is to calculate descriptors for the first image, and then tracking those throughout subsequent images using Kanade Lucas Tomasi optical flow estimation. I am using ORB descriptors, and would like to be able to pass in the descriptors calculated using optical flow for subsequent images to the stitcher. Is this possible? Is this method the best for what I am trying to accomplish? Regards, Jacob

edit retag flag offensive close merge delete

Comments

If you use Stitcher class I don't think it's possible because you need to modify source code. But you can use this example to start your project and there is no problem.

LBerger gravatar imageLBerger ( 2015-12-02 01:27:32 -0500 )edit

Hmm one way to improve your stitching could be to use the knowledge of your flight pattern of the drone. Since you know which two frames are following eachother, you can add a region of interest at the top of frame 1 and at the bottom of frame 2 and only try to match high score features there. That might solve the problem already.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-12-02 04:18:29 -0500 )edit

Would it be possible to modify the source code to use my features and then recompile? I am using python, so how would I do this (I can program in C++, however).

procoding gravatar imageprocoding ( 2015-12-02 20:48:57 -0500 )edit

You will need to locate the OpenCV source code responsible for the feature selection and adapt it internally then rebuilt OpenCV from scratch and hope all works in Python wrappers.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-12-03 02:01:32 -0500 )edit