I would like to warp one fisheye image:
Left:
Into this target image:
The target image is actually a part of the synthetic panorama:
I know a method called mesh warping, like:
But how am I able to find or define a irregular mesh like this? Very grateful if someone can give me some suggestions. I would like to have this mesh, so that I can use this mesh for every frame of a video and warp every frame into this target image.
Is this a one-off project, or are you trying to write an automatic procedure?
If the former, you can just hand-tag corresponding points in the two images till you have enough coverage, particularly in the more "curvy" areas, then warp using (for example) a thin-plate spline defined by the point correspondences. This works iteratively: match some points, warp, figure out where the error is largest, add more point matches there. Doing all this in, say, Matlab or Python+OpenCv is quite easy.
You can then try to automate it using feature extraction and matching. The trouble is you'll need to use both point and line correspondences...
Image warping using mesh