This repository uses dual-fisheye calibration parameters to map two single-frame square circular fisheye images onto a unit sphere, and provides operation handles for various Graphic Objects. This enables more flexible and immersive panorama viewing with mouse-driven panning and zooming. You can also dynamically adjust stitching parameters and Graphic Object state properties in real time, and control the camera properties via mouse interaction to further modify and enhance the panorama preview experience.
What are dual-fisheye calibration parameters and how are they obtained? Refer to the examples in my another repository (https://github.com/cuixing158/panorama360) whose filenames start with "ExampleDualFisheyeStitching*" to perform calibration. For example, "ExampleDualFisheyeStitchingOptimWithDeepLearning.m" uses a deep-learning-based calibration method to solve for the 12 calibration parameters.
✅ Dual-fisheye Image Rendering Math Theory
✅ Real-time rendering of dual-fisheye images and videos(support immersive view panorama)
❌ Dual-fisheye image stitching and optimization using PSO
✅ Arc and Spherical Intersection visualization for Simulation
❌ Rendering Color blending experiments for seamless transitions
- MATLAB R2024b or later
- Image Processing Toolbox™
- Computer Vision Toolbox™
- Global Optimization Toolbox™
-
Clone this repository
-
Add project root directory to MATLAB path
-
Run example scripts:
% For image rendering Example_DualFisheye_Image_Rendering % For video rendering Example_DualFisheye_Video_Rendering % For Rendering theory Example_Rendering_of_DualFisheye_Theory.mlx
arc.mp4
sphere.mp4
demo.mp4
prepareRenderAxes.m: Prepares rendering axes for dual-fisheye imagecropFisheyeImage.m: Crops and pads fisheye imagerenderSphere.m: Renders final spherical projectionpanorama360ImageViewer.m: Interactive panorama viewer for mouse-driven panning and zooming
[1] https://github.com/cuixing158/DualFisheyeSimulation
[2] panorama360
[5] https://www.mathworks.com/help/matlab/ref/matlab.graphics.primitive.surface-properties.html