Go to the documentation of this file.
   33 #ifndef FISHEYE_STITCHER_HPP 
   34 #define FISHEYE_STITCHER_HPP 
   42 #include <opencv2/imgcodecs.hpp> 
   43 #include <opencv2/imgproc.hpp> 
   44 #include <opencv2/highgui.hpp>  
   45 #include <opencv2/calib3d.hpp>  
   46 #include "opencv2/stitching/detail/seam_finders.hpp"  
   47 #include <opencv2/core/utility.hpp> 
   49 #define     MAX_FOVD      195.0f 
   52 #define    P1_    -7.5625e-17 
   53 #define    P2_     1.9589e-13 
   54 #define    P3_    -1.8547e-10 
   55 #define    P4_     6.1997e-08 
   56 #define    P5_    -6.9432e-05 
   66                     bool enb_light_compen, 
bool enb_refine_align,
 
   67                     bool save_unwarped, std::string map_path);
 
   69     cv::Mat 
stitch(
const cv::Mat& image1, 
const cv::Mat& image2,
 
   77     cv::Mat 
unwarp(
const cv::Mat &in_img);
 
   78     std::tuple<double, double> 
fish2Eqt(
const double x_dest, 
 
   83     cv::Mat 
deform( 
const cv::Mat &in_img);
 
   91                              const std::string &img_window, 
 
   92                              const bool disable_display);
 
   94     std::tuple<std::vector<cv::Point2f>, std::vector<cv::Point2f> > 
 
   96             const cv::Point2f &matchLocRight, 
const int row_start, 
 
   97             const int row_end, 
const int p_wid, 
const int p_x1, 
 
   98             const int p_x2, 
const int p_x2_ref);
 
  100     cv::Mat 
blendRight(
const cv::Mat &bg1, 
const cv::Mat &bg2);
 
  101     cv::Mat 
blendLeft(
const cv::Mat &bg1, 
const cv::Mat &bg2);
 
  102     cv::Mat 
blend(
const cv::Mat &left_img, 
const cv::Mat &right_img_aligned);
 
  136 #endif  // FISHEYE_STITCHER_HPP 
  
cv::Mat compenLightFO(const cv::Mat &in_img)
Fisheye Light Fall-off Compensation.
bool m_disable_light_compen
cv::Mat blendLeft(const cv::Mat &bg1, const cv::Mat &bg2)
Ramp blending on the left patch.
void genScaleMap()
Fisheye Light Fall-off Compensation: Scale_Map Construction.
cv::Point2f findMatchLoc(const cv::Mat &Ref, const cv::Mat &Tmpl, const std::string &img_window, const bool disable_display)
Adaptive Alignment: Norm XCorr.
std::tuple< double, double > fish2Eqt(const double x_dest, const double y_dest, const double W_rad)
Convert fisheye-vertical to equirectangular (reference: Panotool)
void createMask()
Mask creation for cropping image data inside the FOVD circle.
cv::Mat deform(const cv::Mat &in_img)
Rigid Moving Least Squares Interpolation.
cv::Mat unwarp(const cv::Mat &in_img)
Fisheye Unwarping.
void createBlendMask()
Create binary mask for blending.
void fish2Map()
Map 2D fisheye image to 2D projected sphere.
std::vector< int > m_blend_post
cv::Mat blend(const cv::Mat &left_img, const cv::Mat &right_img_aligned)
Blending aligned images.
cv::Mat blendRight(const cv::Mat &bg1, const cv::Mat &bg2)
Ramp blending on the right patch.
std::tuple< std::vector< cv::Point2f >, std::vector< cv::Point2f > > createControlPoints(const cv::Point2f &matchLocLeft, const cv::Point2f &matchLocRight, const int row_start, const int row_end, const int p_wid, const int p_x1, const int p_x2, const int p_x2_ref)
Construct control points for affine2D.
FisheyeStitcher(int width, int height, float in_fovd, bool enb_light_compen, bool enb_refine_align, bool save_unwarped, std::string map_path)
cv::Mat stitch(const cv::Mat &image1, const cv::Mat &image2, uint16_t p_wid, uint16_t p_x1, uint16_t p_x2, uint16_t row_start, uint16_t row_end)
single frame stitching
jsk_perception
Author(s): Manabu Saito, Ryohei Ueda 
autogenerated on Fri May 16 2025 03:11:17