I really appreciate this module, but I have discovered that OpenCV actually provides a transformation that is able to produce the exact output as the fish2pano module. The OpenCV transformation is 50-100% faster depending on the scale of the output.
The caveat is the panorama output is reversed and in a different orientation. Once you apply the rotation and flip actions, the final execution time is only ~30% slower.
One interesting aspect of the OpenCV implementation is it also allows you to reverse the transformation, ie you can convert a panorama to a fisheye perspective.
I really appreciate this module, but I have discovered that OpenCV actually provides a transformation that is able to produce the exact output as the fish2pano module. The OpenCV transformation is 50-100% faster depending on the scale of the output.
The caveat is the panorama output is reversed and in a different orientation. Once you apply the rotation and flip actions, the final execution time is only ~30% slower.
One interesting aspect of the OpenCV implementation is it also allows you to reverse the transformation, ie you can convert a panorama to a fisheye perspective.
https://docs.opencv.org/4.x/da/d54/group__imgproc__transform.html#ga49481ab24fdaa0ffa4d3e63d14c0d5e4
The following code will produce the same image using both workflows: