github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/opencv4/include/opencv2/stitching/detail/autocalib.hpp (about)

     1  /*M///////////////////////////////////////////////////////////////////////////////////////
     2  //
     3  //  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
     4  //
     5  //  By downloading, copying, installing or using the software you agree to this license.
     6  //  If you do not agree to this license, do not download, install,
     7  //  copy or use the software.
     8  //
     9  //
    10  //                          License Agreement
    11  //                For Open Source Computer Vision Library
    12  //
    13  // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
    14  // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
    15  // Third party copyrights are property of their respective owners.
    16  //
    17  // Redistribution and use in source and binary forms, with or without modification,
    18  // are permitted provided that the following conditions are met:
    19  //
    20  //   * Redistribution's of source code must retain the above copyright notice,
    21  //     this list of conditions and the following disclaimer.
    22  //
    23  //   * Redistribution's in binary form must reproduce the above copyright notice,
    24  //     this list of conditions and the following disclaimer in the documentation
    25  //     and/or other materials provided with the distribution.
    26  //
    27  //   * The name of the copyright holders may not be used to endorse or promote products
    28  //     derived from this software without specific prior written permission.
    29  //
    30  // This software is provided by the copyright holders and contributors "as is" and
    31  // any express or implied warranties, including, but not limited to, the implied
    32  // warranties of merchantability and fitness for a particular purpose are disclaimed.
    33  // In no event shall the Intel Corporation or contributors be liable for any direct,
    34  // indirect, incidental, special, exemplary, or consequential damages
    35  // (including, but not limited to, procurement of substitute goods or services;
    36  // loss of use, data, or profits; or business interruption) however caused
    37  // and on any theory of liability, whether in contract, strict liability,
    38  // or tort (including negligence or otherwise) arising in any way out of
    39  // the use of this software, even if advised of the possibility of such damage.
    40  //
    41  //M*/
    42  
    43  #ifndef OPENCV_STITCHING_AUTOCALIB_HPP
    44  #define OPENCV_STITCHING_AUTOCALIB_HPP
    45  
    46  #include "opencv2/core.hpp"
    47  #include "matchers.hpp"
    48  
    49  namespace cv {
    50  namespace detail {
    51  
    52  //! @addtogroup stitching_autocalib
    53  //! @{
    54  
    55  /** @brief Tries to estimate focal lengths from the given homography under the assumption that the camera
    56  undergoes rotations around its centre only.
    57  
    58  @param H Homography.
    59  @param f0 Estimated focal length along X axis.
    60  @param f1 Estimated focal length along Y axis.
    61  @param f0_ok True, if f0 was estimated successfully, false otherwise.
    62  @param f1_ok True, if f1 was estimated successfully, false otherwise.
    63  
    64  See "Construction of Panoramic Image Mosaics with Global and Local Alignment"
    65  by Heung-Yeung Shum and Richard Szeliski.
    66   */
    67  void CV_EXPORTS_W focalsFromHomography(const Mat &H, double &f0, double &f1, bool &f0_ok, bool &f1_ok);
    68  
    69  /** @brief Estimates focal lengths for each given camera.
    70  
    71  @param features Features of images.
    72  @param pairwise_matches Matches between all image pairs.
    73  @param focals Estimated focal lengths for each camera.
    74   */
    75  void CV_EXPORTS estimateFocal(const std::vector<ImageFeatures> &features,
    76                                const std::vector<MatchesInfo> &pairwise_matches,
    77                                std::vector<double> &focals);
    78  
    79  bool CV_EXPORTS_W calibrateRotatingCamera(const std::vector<Mat> &Hs,CV_OUT Mat &K);
    80  
    81  //! @} stitching_autocalib
    82  
    83  } // namespace detail
    84  } // namespace cv
    85  
    86  #endif // OPENCV_STITCHING_AUTOCALIB_HPP