From 0b16e08dc9b21b593102994bca466c14cbb8bf61 Mon Sep 17 00:00:00 2001 From: yushulx Date: Fri, 14 Jun 2024 16:04:01 +0800 Subject: [PATCH] Added a camera lib project built with OpenCV --- camera_lib/CMakeLists.txt | 12 + camera_lib/README.md | 34 + camera_lib/example/CMakeLists.txt | 22 + camera_lib/example/main.cpp | 34 + camera_lib/include/camera_lib.h | 43 + camera_lib/include/opencv2/core.hpp | 3374 +++++++++++ camera_lib/include/opencv2/core/affine.hpp | 678 +++ camera_lib/include/opencv2/core/async.hpp | 105 + camera_lib/include/opencv2/core/base.hpp | 664 +++ .../include/opencv2/core/bindings_utils.hpp | 352 ++ .../include/opencv2/core/bufferpool.hpp | 40 + camera_lib/include/opencv2/core/check.hpp | 170 + camera_lib/include/opencv2/core/core.hpp | 48 + camera_lib/include/opencv2/core/core_c.h | 3128 ++++++++++ camera_lib/include/opencv2/core/cuda.hpp | 1309 +++++ camera_lib/include/opencv2/core/cuda.inl.hpp | 763 +++ .../opencv2/core/cuda_stream_accessor.hpp | 86 + .../include/opencv2/core/cuda_types.hpp | 144 + .../include/opencv2/core/cv_cpu_dispatch.h | 381 ++ .../include/opencv2/core/cv_cpu_helper.h | 550 ++ camera_lib/include/opencv2/core/cvdef.h | 974 ++++ camera_lib/include/opencv2/core/cvstd.hpp | 190 + camera_lib/include/opencv2/core/cvstd.inl.hpp | 197 + .../include/opencv2/core/cvstd_wrapper.hpp | 154 + camera_lib/include/opencv2/core/directx.hpp | 184 + .../include/opencv2/core/dualquaternion.hpp | 979 ++++ .../opencv2/core/dualquaternion.inl.hpp | 487 ++ camera_lib/include/opencv2/core/eigen.hpp | 404 ++ camera_lib/include/opencv2/core/fast_math.hpp | 433 ++ .../include/opencv2/core/hal/interface.h | 190 + camera_lib/include/opencv2/core/mat.hpp | 3796 +++++++++++++ camera_lib/include/opencv2/core/mat.inl.hpp | 3422 +++++++++++ camera_lib/include/opencv2/core/matx.hpp | 1536 +++++ .../include/opencv2/core/neon_utils.hpp | 128 + camera_lib/include/opencv2/core/ocl.hpp | 918 +++ .../include/opencv2/core/ocl_genbase.hpp | 69 + camera_lib/include/opencv2/core/opengl.hpp | 733 +++ .../include/opencv2/core/operations.hpp | 612 ++ camera_lib/include/opencv2/core/optim.hpp | 307 + camera_lib/include/opencv2/core/ovx.hpp | 28 + .../include/opencv2/core/persistence.hpp | 1350 +++++ .../include/opencv2/core/private.cuda.hpp | 169 + camera_lib/include/opencv2/core/private.hpp | 903 +++ .../include/opencv2/core/quaternion.hpp | 1696 ++++++ .../include/opencv2/core/quaternion.inl.hpp | 1063 ++++ camera_lib/include/opencv2/core/saturate.hpp | 180 + .../include/opencv2/core/simd_intrinsics.hpp | 87 + camera_lib/include/opencv2/core/softfloat.hpp | 514 ++ camera_lib/include/opencv2/core/sse_utils.hpp | 652 +++ camera_lib/include/opencv2/core/traits.hpp | 417 ++ camera_lib/include/opencv2/core/types.hpp | 2463 ++++++++ camera_lib/include/opencv2/core/types_c.h | 2126 +++++++ camera_lib/include/opencv2/core/utility.hpp | 1229 ++++ camera_lib/include/opencv2/core/va_intel.hpp | 75 + camera_lib/include/opencv2/core/version.hpp | 26 + camera_lib/include/opencv2/core/vsx_utils.hpp | 1047 ++++ camera_lib/include/opencv2/cvconfig.h | 155 + camera_lib/include/opencv2/highgui.hpp | 870 +++ .../include/opencv2/highgui/highgui.hpp | 48 + .../include/opencv2/highgui/highgui_c.h | 251 + .../include/opencv2/highgui/highgui_winrt.hpp | 48 + camera_lib/include/opencv2/imgcodecs.hpp | 419 ++ .../include/opencv2/imgcodecs/imgcodecs.hpp | 48 + .../include/opencv2/imgcodecs/imgcodecs_c.h | 1 + camera_lib/include/opencv2/imgcodecs/ios.h | 59 + camera_lib/include/opencv2/imgcodecs/macosx.h | 20 + camera_lib/include/opencv2/imgproc.hpp | 5035 +++++++++++++++++ .../include/opencv2/imgproc/bindings.hpp | 34 + .../opencv2/imgproc/detail/gcgraph.hpp | 395 ++ .../include/opencv2/imgproc/hal/hal.hpp | 246 + .../include/opencv2/imgproc/hal/interface.h | 46 + .../include/opencv2/imgproc/imgproc.hpp | 48 + .../include/opencv2/imgproc/imgproc_c.h | 1177 ++++ .../include/opencv2/imgproc/segmentation.hpp | 141 + camera_lib/include/opencv2/imgproc/types_c.h | 659 +++ camera_lib/include/opencv2/opencv.hpp | 95 + camera_lib/include/opencv2/opencv_modules.hpp | 19 + camera_lib/include/opencv2/videoio.hpp | 1169 ++++ camera_lib/include/opencv2/videoio/cap_ios.h | 150 + .../include/opencv2/videoio/cap_winrt.hpp | 132 + .../opencv2/videoio/container_avi.private.hpp | 192 + .../include/opencv2/videoio/registry.hpp | 72 + .../include/opencv2/videoio/videoio.hpp | 48 + .../include/opencv2/videoio/videoio_c.h | 153 + camera_lib/lib/opencv_core480.dll | Bin 0 -> 4232704 bytes camera_lib/lib/opencv_core480.lib | Bin 0 -> 880042 bytes camera_lib/lib/opencv_highgui480.dll | Bin 0 -> 346112 bytes camera_lib/lib/opencv_highgui480.lib | Bin 0 -> 208386 bytes camera_lib/lib/opencv_imgcodecs480.dll | Bin 0 -> 3556352 bytes camera_lib/lib/opencv_imgcodecs480.lib | Bin 0 -> 159204 bytes camera_lib/lib/opencv_imgproc480.dll | Bin 0 -> 5698560 bytes camera_lib/lib/opencv_imgproc480.lib | Bin 0 -> 310866 bytes camera_lib/lib/opencv_videoio480.dll | Bin 0 -> 740352 bytes camera_lib/lib/opencv_videoio480.lib | Bin 0 -> 202410 bytes camera_lib/src/CMakeLists.txt | 12 + camera_lib/src/camera_lib.cpp | 85 + 96 files changed, 53502 insertions(+) create mode 100644 camera_lib/CMakeLists.txt create mode 100644 camera_lib/README.md create mode 100644 camera_lib/example/CMakeLists.txt create mode 100644 camera_lib/example/main.cpp create mode 100644 camera_lib/include/camera_lib.h create mode 100644 camera_lib/include/opencv2/core.hpp create mode 100644 camera_lib/include/opencv2/core/affine.hpp create mode 100644 camera_lib/include/opencv2/core/async.hpp create mode 100644 camera_lib/include/opencv2/core/base.hpp create mode 100644 camera_lib/include/opencv2/core/bindings_utils.hpp create mode 100644 camera_lib/include/opencv2/core/bufferpool.hpp create mode 100644 camera_lib/include/opencv2/core/check.hpp create mode 100644 camera_lib/include/opencv2/core/core.hpp create mode 100644 camera_lib/include/opencv2/core/core_c.h create mode 100644 camera_lib/include/opencv2/core/cuda.hpp create mode 100644 camera_lib/include/opencv2/core/cuda.inl.hpp create mode 100644 camera_lib/include/opencv2/core/cuda_stream_accessor.hpp create mode 100644 camera_lib/include/opencv2/core/cuda_types.hpp create mode 100644 camera_lib/include/opencv2/core/cv_cpu_dispatch.h create mode 100644 camera_lib/include/opencv2/core/cv_cpu_helper.h create mode 100644 camera_lib/include/opencv2/core/cvdef.h create mode 100644 camera_lib/include/opencv2/core/cvstd.hpp create mode 100644 camera_lib/include/opencv2/core/cvstd.inl.hpp create mode 100644 camera_lib/include/opencv2/core/cvstd_wrapper.hpp create mode 100644 camera_lib/include/opencv2/core/directx.hpp create mode 100644 camera_lib/include/opencv2/core/dualquaternion.hpp create mode 100644 camera_lib/include/opencv2/core/dualquaternion.inl.hpp create mode 100644 camera_lib/include/opencv2/core/eigen.hpp create mode 100644 camera_lib/include/opencv2/core/fast_math.hpp create mode 100644 camera_lib/include/opencv2/core/hal/interface.h create mode 100644 camera_lib/include/opencv2/core/mat.hpp create mode 100644 camera_lib/include/opencv2/core/mat.inl.hpp create mode 100644 camera_lib/include/opencv2/core/matx.hpp create mode 100644 camera_lib/include/opencv2/core/neon_utils.hpp create mode 100644 camera_lib/include/opencv2/core/ocl.hpp create mode 100644 camera_lib/include/opencv2/core/ocl_genbase.hpp create mode 100644 camera_lib/include/opencv2/core/opengl.hpp create mode 100644 camera_lib/include/opencv2/core/operations.hpp create mode 100644 camera_lib/include/opencv2/core/optim.hpp create mode 100644 camera_lib/include/opencv2/core/ovx.hpp create mode 100644 camera_lib/include/opencv2/core/persistence.hpp create mode 100644 camera_lib/include/opencv2/core/private.cuda.hpp create mode 100644 camera_lib/include/opencv2/core/private.hpp create mode 100644 camera_lib/include/opencv2/core/quaternion.hpp create mode 100644 camera_lib/include/opencv2/core/quaternion.inl.hpp create mode 100644 camera_lib/include/opencv2/core/saturate.hpp create mode 100644 camera_lib/include/opencv2/core/simd_intrinsics.hpp create mode 100644 camera_lib/include/opencv2/core/softfloat.hpp create mode 100644 camera_lib/include/opencv2/core/sse_utils.hpp create mode 100644 camera_lib/include/opencv2/core/traits.hpp create mode 100644 camera_lib/include/opencv2/core/types.hpp create mode 100644 camera_lib/include/opencv2/core/types_c.h create mode 100644 camera_lib/include/opencv2/core/utility.hpp create mode 100644 camera_lib/include/opencv2/core/va_intel.hpp create mode 100644 camera_lib/include/opencv2/core/version.hpp create mode 100644 camera_lib/include/opencv2/core/vsx_utils.hpp create mode 100644 camera_lib/include/opencv2/cvconfig.h create mode 100644 camera_lib/include/opencv2/highgui.hpp create mode 100644 camera_lib/include/opencv2/highgui/highgui.hpp create mode 100644 camera_lib/include/opencv2/highgui/highgui_c.h create mode 100644 camera_lib/include/opencv2/highgui/highgui_winrt.hpp create mode 100644 camera_lib/include/opencv2/imgcodecs.hpp create mode 100644 camera_lib/include/opencv2/imgcodecs/imgcodecs.hpp create mode 100644 camera_lib/include/opencv2/imgcodecs/imgcodecs_c.h create mode 100644 camera_lib/include/opencv2/imgcodecs/ios.h create mode 100644 camera_lib/include/opencv2/imgcodecs/macosx.h create mode 100644 camera_lib/include/opencv2/imgproc.hpp create mode 100644 camera_lib/include/opencv2/imgproc/bindings.hpp create mode 100644 camera_lib/include/opencv2/imgproc/detail/gcgraph.hpp create mode 100644 camera_lib/include/opencv2/imgproc/hal/hal.hpp create mode 100644 camera_lib/include/opencv2/imgproc/hal/interface.h create mode 100644 camera_lib/include/opencv2/imgproc/imgproc.hpp create mode 100644 camera_lib/include/opencv2/imgproc/imgproc_c.h create mode 100644 camera_lib/include/opencv2/imgproc/segmentation.hpp create mode 100644 camera_lib/include/opencv2/imgproc/types_c.h create mode 100644 camera_lib/include/opencv2/opencv.hpp create mode 100644 camera_lib/include/opencv2/opencv_modules.hpp create mode 100644 camera_lib/include/opencv2/videoio.hpp create mode 100644 camera_lib/include/opencv2/videoio/cap_ios.h create mode 100644 camera_lib/include/opencv2/videoio/cap_winrt.hpp create mode 100644 camera_lib/include/opencv2/videoio/container_avi.private.hpp create mode 100644 camera_lib/include/opencv2/videoio/registry.hpp create mode 100644 camera_lib/include/opencv2/videoio/videoio.hpp create mode 100644 camera_lib/include/opencv2/videoio/videoio_c.h create mode 100644 camera_lib/lib/opencv_core480.dll create mode 100644 camera_lib/lib/opencv_core480.lib create mode 100644 camera_lib/lib/opencv_highgui480.dll create mode 100644 camera_lib/lib/opencv_highgui480.lib create mode 100644 camera_lib/lib/opencv_imgcodecs480.dll create mode 100644 camera_lib/lib/opencv_imgcodecs480.lib create mode 100644 camera_lib/lib/opencv_imgproc480.dll create mode 100644 camera_lib/lib/opencv_imgproc480.lib create mode 100644 camera_lib/lib/opencv_videoio480.dll create mode 100644 camera_lib/lib/opencv_videoio480.lib create mode 100644 camera_lib/src/CMakeLists.txt create mode 100644 camera_lib/src/camera_lib.cpp diff --git a/camera_lib/CMakeLists.txt b/camera_lib/CMakeLists.txt new file mode 100644 index 0000000..f2ac559 --- /dev/null +++ b/camera_lib/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.10) +project(camera_lib) +# find_package(OpenCV REQUIRED) +# set(OpenCV_DIR "c:/opencv/sources") # Update this path to the location of your OpenCV source code + +# set(OpenCV_MODULES_CORE ON) +# set(OpenCV_MODULES_IMGPROC ON) +# set(OpenCV_MODULES_HIGHGUI ON) +# set(OpenCV_MODULES_VIDEOIO ON) + +add_subdirectory(src) +add_subdirectory(example) diff --git a/camera_lib/README.md b/camera_lib/README.md new file mode 100644 index 0000000..86809b9 --- /dev/null +++ b/camera_lib/README.md @@ -0,0 +1,34 @@ +# Slimmed Down OpenCV for Camera Applications +1. Download the OpenCV source code from the [OpenCV GitHub repository](https://github.com/opencv/opencv). +2. Open a terminal or command prompt, create a build directory, and navigate into it: + + ```bash + mkdir build + cd build + ``` +3. Run the following CMake command to configure the build, disabling unnecessary components: + + ```bash + cmake -DBUILD_SHARED_LIBS=ON -DBUILD_opencv_world=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=OFF -DBUILD_opencv_dnn=OFF -DBUILD_opencv_features2d=OFF -DBUILD_opencv_flann=OFF -DBUILD_opencv_gapi=OFF -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF -DBUILD_opencv_photo=OFF -DBUILD_opencv_stitching=OFF -DBUILD_opencv_video=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=OFF .. + ``` + +4. Build the OpenCV library: + + ```bash + cmake --build . --config Release + ``` + +5. Copy the library files `opencv_imgproc`, `opencv_core`, `opencv_imgcodecs`, `opencv_videoio`, and `opencv_highgui` to the `lib` directory. +6. Configure `src/CMakeLists.txt` to link against the OpenCV library. + + ```cmake + target_link_libraries(camera_lib opencv_core480 opencv_highgui480 opencv_videoio480 opencv_imgproc480) + ``` +7. Build the camera application: + + ```bash + mkdir build + cd build + cmake .. + cmake --build . --config Release + ``` \ No newline at end of file diff --git a/camera_lib/example/CMakeLists.txt b/camera_lib/example/CMakeLists.txt new file mode 100644 index 0000000..ab82d8c --- /dev/null +++ b/camera_lib/example/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.10) +project(camera_example) + +link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../lib) +# Create the executable +add_executable(camera_example main.cpp) +target_include_directories(camera_example PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../include) +target_link_libraries(camera_example camera_lib) + +add_custom_command(TARGET camera_example POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $) + +# Find all DLL files in the specified directory +file(GLOB DLL_FILES "${CMAKE_CURRENT_SOURCE_DIR}/../lib/*.dll") + +# Copy the DLL files to the executable directory +foreach(DLL_FILE ${DLL_FILES}) + add_custom_command(TARGET camera_example POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${DLL_FILE} + $) +endforeach() \ No newline at end of file diff --git a/camera_lib/example/main.cpp b/camera_lib/example/main.cpp new file mode 100644 index 0000000..3213b53 --- /dev/null +++ b/camera_lib/example/main.cpp @@ -0,0 +1,34 @@ +#include +#include "camera_lib.h" + +int main() +{ + if (open_camera(0) == 0) + { + std::cout << "Camera opened successfully." << std::endl; + while (true) + { + ImageData frame = get_frame(); + if (frame.data) + { + draw_line(&frame, 50, 50, 200, 200, 2, 255, 0, 0); + draw_line(&frame, 50, 200, 200, 50, 2, 0, 255, 0); + draw_text(&frame, "Hello, OpenCV!", 50, 50, 1, 2, 0, 255, 0); + + display_image(&frame); + if (wait_key(30) >= 0) + { // Add a delay and check for key press + release_image(&frame); + break; // Exit the loop if any key is pressed + } + release_image(&frame); + } + } + close_camera(); + } + else + { + std::cerr << "Failed to open camera." << std::endl; + } + return 0; +} diff --git a/camera_lib/include/camera_lib.h b/camera_lib/include/camera_lib.h new file mode 100644 index 0000000..ce67c18 --- /dev/null +++ b/camera_lib/include/camera_lib.h @@ -0,0 +1,43 @@ +#ifndef CAMERA_LIB_H +#define CAMERA_LIB_H + +#ifdef _WIN32 +#ifdef CAMERA_LIB_EXPORTS +#define CAMERA_LIB_API __declspec(dllexport) +#else +#define CAMERA_LIB_API __declspec(dllimport) +#endif +#else +#define CAMERA_LIB_API +#endif + +#include + +enum PixelFormat +{ + PIXEL_FORMAT_BGR, + PIXEL_FORMAT_GRAY +}; + +extern "C" +{ + typedef struct + { + int width; + int height; + int stride; + PixelFormat pixel_format; + uint8_t *data; + } ImageData; + + CAMERA_LIB_API int open_camera(int camera_index); + CAMERA_LIB_API void close_camera(); + CAMERA_LIB_API ImageData get_frame(); + CAMERA_LIB_API void release_image(ImageData *image); + CAMERA_LIB_API void display_image(const ImageData *image); + CAMERA_LIB_API void draw_line(ImageData *image, int x1, int y1, int x2, int y2, int thickness, int r, int g, int b); + CAMERA_LIB_API void draw_text(ImageData *image, const char *text, int x, int y, int font_scale, int thickness, int r, int g, int b); + CAMERA_LIB_API int wait_key(int delay); +} + +#endif // CAMERA_LIB_H diff --git a/camera_lib/include/opencv2/core.hpp b/camera_lib/include/opencv2/core.hpp new file mode 100644 index 0000000..d9a2170 --- /dev/null +++ b/camera_lib/include/opencv2/core.hpp @@ -0,0 +1,3374 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2015, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved. +// Copyright (C) 2015, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_HPP +#define OPENCV_CORE_HPP + +#ifndef __cplusplus +# error core.hpp header must be compiled as C++ +#endif + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/base.hpp" +#include "opencv2/core/cvstd.hpp" +#include "opencv2/core/traits.hpp" +#include "opencv2/core/matx.hpp" +#include "opencv2/core/types.hpp" +#include "opencv2/core/mat.hpp" +#include "opencv2/core/persistence.hpp" + +/** +@defgroup core Core functionality +@{ + @defgroup core_basic Basic structures + @defgroup core_c C structures and operations + @{ + @defgroup core_c_glue Connections with C++ + @} + @defgroup core_array Operations on arrays + @defgroup core_async Asynchronous API + @defgroup core_xml XML/YAML Persistence + @defgroup core_cluster Clustering + @defgroup core_utils Utility and system functions and macros + @{ + @defgroup core_logging Logging facilities + @defgroup core_utils_sse SSE utilities + @defgroup core_utils_neon NEON utilities + @defgroup core_utils_vsx VSX utilities + @defgroup core_utils_softfloat Softfloat support + @defgroup core_utils_samples Utility functions for OpenCV samples + @} + @defgroup core_opengl OpenGL interoperability + @defgroup core_ipp Intel IPP Asynchronous C/C++ Converters + @defgroup core_optim Optimization Algorithms + @defgroup core_directx DirectX interoperability + @defgroup core_eigen Eigen support + @defgroup core_opencl OpenCL support + @defgroup core_va_intel Intel VA-API/OpenCL (CL-VA) interoperability + @defgroup core_hal Hardware Acceleration Layer + @{ + @defgroup core_hal_functions Functions + @defgroup core_hal_interface Interface + @defgroup core_hal_intrin Universal intrinsics + @{ + @defgroup core_hal_intrin_impl Private implementation helpers + @} + @defgroup core_lowlevel_api Low-level API for external libraries / plugins + @} + @defgroup core_parallel Parallel Processing + @{ + @defgroup core_parallel_backend Parallel backends API + @} +@} + */ + +namespace cv { + +//! @addtogroup core_utils +//! @{ + +/*! @brief Class passed to an error. + +This class encapsulates all or almost all necessary +information about the error happened in the program. The exception is +usually constructed and thrown implicitly via CV_Error and CV_Error_ macros. +@see error + */ +class CV_EXPORTS Exception : public std::exception +{ +public: + /*! + Default constructor + */ + Exception(); + /*! + Full constructor. Normally the constructor is not called explicitly. + Instead, the macros CV_Error(), CV_Error_() and CV_Assert() are used. + */ + Exception(int _code, const String& _err, const String& _func, const String& _file, int _line); + virtual ~Exception() throw(); + + /*! + \return the error description and the context as a text string. + */ + virtual const char *what() const throw() CV_OVERRIDE; + void formatMessage(); + + String msg; ///< the formatted error message + + int code; ///< error code @see CVStatus + String err; ///< error description + String func; ///< function name. Available only when the compiler supports getting it + String file; ///< source file name where the error has occurred + int line; ///< line number in the source file where the error has occurred +}; + +/*! @brief Signals an error and raises the exception. + +By default the function prints information about the error to stderr, +then it either stops if cv::setBreakOnError() had been called before or raises the exception. +It is possible to alternate error processing by using #redirectError(). +@param exc the exception raisen. +@deprecated drop this version + */ +CV_EXPORTS CV_NORETURN void error(const Exception& exc); + +enum SortFlags { SORT_EVERY_ROW = 0, //!< each matrix row is sorted independently + SORT_EVERY_COLUMN = 1, //!< each matrix column is sorted + //!< independently; this flag and the previous one are + //!< mutually exclusive. + SORT_ASCENDING = 0, //!< each matrix row is sorted in the ascending + //!< order. + SORT_DESCENDING = 16 //!< each matrix row is sorted in the + //!< descending order; this flag and the previous one are also + //!< mutually exclusive. + }; + +//! @} core_utils + +//! @addtogroup core +//! @{ + +//! Covariation flags +enum CovarFlags { + /** The output covariance matrix is calculated as: + \f[\texttt{scale} \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...]^T \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...],\f] + The covariance matrix will be nsamples x nsamples. Such an unusual covariance matrix is used + for fast PCA of a set of very large vectors (see, for example, the EigenFaces technique for + face recognition). Eigenvalues of this "scrambled" matrix match the eigenvalues of the true + covariance matrix. The "true" eigenvectors can be easily calculated from the eigenvectors of + the "scrambled" covariance matrix. */ + COVAR_SCRAMBLED = 0, + /**The output covariance matrix is calculated as: + \f[\texttt{scale} \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...] \cdot [ \texttt{vects} [0]- \texttt{mean} , \texttt{vects} [1]- \texttt{mean} ,...]^T,\f] + covar will be a square matrix of the same size as the total number of elements in each input + vector. One and only one of #COVAR_SCRAMBLED and #COVAR_NORMAL must be specified.*/ + COVAR_NORMAL = 1, + /** If the flag is specified, the function does not calculate mean from + the input vectors but, instead, uses the passed mean vector. This is useful if mean has been + pre-calculated or known in advance, or if the covariance matrix is calculated by parts. In + this case, mean is not a mean vector of the input sub-set of vectors but rather the mean + vector of the whole set.*/ + COVAR_USE_AVG = 2, + /** If the flag is specified, the covariance matrix is scaled. In the + "normal" mode, scale is 1./nsamples . In the "scrambled" mode, scale is the reciprocal of the + total number of elements in each input vector. By default (if the flag is not specified), the + covariance matrix is not scaled ( scale=1 ).*/ + COVAR_SCALE = 4, + /** If the flag is + specified, all the input vectors are stored as rows of the samples matrix. mean should be a + single-row vector in this case.*/ + COVAR_ROWS = 8, + /** If the flag is + specified, all the input vectors are stored as columns of the samples matrix. mean should be a + single-column vector in this case.*/ + COVAR_COLS = 16 +}; + +//! @addtogroup core_cluster +//! @{ + +//! k-Means flags +enum KmeansFlags { + /** Select random initial centers in each attempt.*/ + KMEANS_RANDOM_CENTERS = 0, + /** Use kmeans++ center initialization by Arthur and Vassilvitskii [Arthur2007].*/ + KMEANS_PP_CENTERS = 2, + /** During the first (and possibly the only) attempt, use the + user-supplied labels instead of computing them from the initial centers. For the second and + further attempts, use the random or semi-random centers. Use one of KMEANS_\*_CENTERS flag + to specify the exact method.*/ + KMEANS_USE_INITIAL_LABELS = 1 +}; + +//! @} core_cluster + +//! @addtogroup core_array +//! @{ + +enum ReduceTypes { REDUCE_SUM = 0, //!< the output is the sum of all rows/columns of the matrix. + REDUCE_AVG = 1, //!< the output is the mean vector of all rows/columns of the matrix. + REDUCE_MAX = 2, //!< the output is the maximum (column/row-wise) of all rows/columns of the matrix. + REDUCE_MIN = 3, //!< the output is the minimum (column/row-wise) of all rows/columns of the matrix. + REDUCE_SUM2 = 4 //!< the output is the sum of all squared rows/columns of the matrix. + }; + +//! @} core_array + +/** @brief Swaps two matrices +*/ +CV_EXPORTS void swap(Mat& a, Mat& b); +/** @overload */ +CV_EXPORTS void swap( UMat& a, UMat& b ); + +//! @} core + +//! @addtogroup core_array +//! @{ + +/** @brief Computes the source location of an extrapolated pixel. + +The function computes and returns the coordinate of a donor pixel corresponding to the specified +extrapolated pixel when using the specified extrapolation border mode. For example, if you use +cv::BORDER_WRAP mode in the horizontal direction, cv::BORDER_REFLECT_101 in the vertical direction and +want to compute value of the "virtual" pixel Point(-5, 100) in a floating-point image img , it +looks like: +@code{.cpp} + float val = img.at(borderInterpolate(100, img.rows, cv::BORDER_REFLECT_101), + borderInterpolate(-5, img.cols, cv::BORDER_WRAP)); +@endcode +Normally, the function is not called directly. It is used inside filtering functions and also in +copyMakeBorder. +@param p 0-based coordinate of the extrapolated pixel along one of the axes, likely \<0 or \>= len +@param len Length of the array along the corresponding axis. +@param borderType Border type, one of the #BorderTypes, except for #BORDER_TRANSPARENT and +#BORDER_ISOLATED . When borderType==#BORDER_CONSTANT , the function always returns -1, regardless +of p and len. + +@sa copyMakeBorder +*/ +CV_EXPORTS_W int borderInterpolate(int p, int len, int borderType); + +/** @example samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp +An example using copyMakeBorder function. +Check @ref tutorial_copyMakeBorder "the corresponding tutorial" for more details +*/ + +/** @brief Forms a border around an image. + +The function copies the source image into the middle of the destination image. The areas to the +left, to the right, above and below the copied source image will be filled with extrapolated +pixels. This is not what filtering functions based on it do (they extrapolate pixels on-fly), but +what other more complex functions, including your own, may do to simplify image boundary handling. + +The function supports the mode when src is already in the middle of dst . In this case, the +function does not copy src itself but simply constructs the border, for example: + +@code{.cpp} + // let border be the same in all directions + int border=2; + // constructs a larger image to fit both the image and the border + Mat gray_buf(rgb.rows + border*2, rgb.cols + border*2, rgb.depth()); + // select the middle part of it w/o copying data + Mat gray(gray_canvas, Rect(border, border, rgb.cols, rgb.rows)); + // convert image from RGB to grayscale + cvtColor(rgb, gray, COLOR_RGB2GRAY); + // form a border in-place + copyMakeBorder(gray, gray_buf, border, border, + border, border, BORDER_REPLICATE); + // now do some custom filtering ... + ... +@endcode +@note When the source image is a part (ROI) of a bigger image, the function will try to use the +pixels outside of the ROI to form a border. To disable this feature and always do extrapolation, as +if src was not a ROI, use borderType | #BORDER_ISOLATED. + +@param src Source image. +@param dst Destination image of the same type as src and the size Size(src.cols+left+right, +src.rows+top+bottom) . +@param top the top pixels +@param bottom the bottom pixels +@param left the left pixels +@param right Parameter specifying how many pixels in each direction from the source image rectangle +to extrapolate. For example, top=1, bottom=1, left=1, right=1 mean that 1 pixel-wide border needs +to be built. +@param borderType Border type. See borderInterpolate for details. +@param value Border value if borderType==BORDER_CONSTANT . + +@sa borderInterpolate +*/ +CV_EXPORTS_W void copyMakeBorder(InputArray src, OutputArray dst, + int top, int bottom, int left, int right, + int borderType, const Scalar& value = Scalar() ); + +/** @brief Calculates the per-element sum of two arrays or an array and a scalar. + +The function add calculates: +- Sum of two arrays when both input arrays have the same size and the same number of channels: +\f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1}(I) + \texttt{src2}(I)) \quad \texttt{if mask}(I) \ne0\f] +- Sum of an array and a scalar when src2 is constructed from Scalar or has the same number of +elements as `src1.channels()`: +\f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1}(I) + \texttt{src2} ) \quad \texttt{if mask}(I) \ne0\f] +- Sum of a scalar and an array when src1 is constructed from Scalar or has the same number of +elements as `src2.channels()`: +\f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1} + \texttt{src2}(I) ) \quad \texttt{if mask}(I) \ne0\f] +where `I` is a multi-dimensional index of array elements. In case of multi-channel arrays, each +channel is processed independently. + +The first function in the list above can be replaced with matrix expressions: +@code{.cpp} + dst = src1 + src2; + dst += src1; // equivalent to add(dst, src1, dst); +@endcode +The input arrays and the output array can all have the same or different depths. For example, you +can add a 16-bit unsigned array to a 8-bit signed array and store the sum as a 32-bit +floating-point array. Depth of the output array is determined by the dtype parameter. In the second +and third cases above, as well as in the first case, when src1.depth() == src2.depth(), dtype can +be set to the default -1. In this case, the output array will have the same depth as the input +array, be it src1, src2 or both. +@note Saturation is not applied when the output array has the depth CV_32S. You may even get +result of an incorrect sign in the case of overflow. +@param src1 first input array or a scalar. +@param src2 second input array or a scalar. +@param dst output array that has the same size and number of channels as the input array(s); the +depth is defined by dtype or src1/src2. +@param mask optional operation mask - 8-bit single channel array, that specifies elements of the +output array to be changed. +@param dtype optional depth of the output array (see the discussion below). +@sa subtract, addWeighted, scaleAdd, Mat::convertTo +*/ +CV_EXPORTS_W void add(InputArray src1, InputArray src2, OutputArray dst, + InputArray mask = noArray(), int dtype = -1); + +/** @brief Calculates the per-element difference between two arrays or array and a scalar. + +The function subtract calculates: +- Difference between two arrays, when both input arrays have the same size and the same number of +channels: + \f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1}(I) - \texttt{src2}(I)) \quad \texttt{if mask}(I) \ne0\f] +- Difference between an array and a scalar, when src2 is constructed from Scalar or has the same +number of elements as `src1.channels()`: + \f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1}(I) - \texttt{src2} ) \quad \texttt{if mask}(I) \ne0\f] +- Difference between a scalar and an array, when src1 is constructed from Scalar or has the same +number of elements as `src2.channels()`: + \f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src1} - \texttt{src2}(I) ) \quad \texttt{if mask}(I) \ne0\f] +- The reverse difference between a scalar and an array in the case of `SubRS`: + \f[\texttt{dst}(I) = \texttt{saturate} ( \texttt{src2} - \texttt{src1}(I) ) \quad \texttt{if mask}(I) \ne0\f] +where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each +channel is processed independently. + +The first function in the list above can be replaced with matrix expressions: +@code{.cpp} + dst = src1 - src2; + dst -= src1; // equivalent to subtract(dst, src1, dst); +@endcode +The input arrays and the output array can all have the same or different depths. For example, you +can subtract to 8-bit unsigned arrays and store the difference in a 16-bit signed array. Depth of +the output array is determined by dtype parameter. In the second and third cases above, as well as +in the first case, when src1.depth() == src2.depth(), dtype can be set to the default -1. In this +case the output array will have the same depth as the input array, be it src1, src2 or both. +@note Saturation is not applied when the output array has the depth CV_32S. You may even get +result of an incorrect sign in the case of overflow. +@param src1 first input array or a scalar. +@param src2 second input array or a scalar. +@param dst output array of the same size and the same number of channels as the input array. +@param mask optional operation mask; this is an 8-bit single channel array that specifies elements +of the output array to be changed. +@param dtype optional depth of the output array +@sa add, addWeighted, scaleAdd, Mat::convertTo + */ +CV_EXPORTS_W void subtract(InputArray src1, InputArray src2, OutputArray dst, + InputArray mask = noArray(), int dtype = -1); + + +/** @brief Calculates the per-element scaled product of two arrays. + +The function multiply calculates the per-element product of two arrays: + +\f[\texttt{dst} (I)= \texttt{saturate} ( \texttt{scale} \cdot \texttt{src1} (I) \cdot \texttt{src2} (I))\f] + +There is also a @ref MatrixExpressions -friendly variant of the first function. See Mat::mul . + +For a not-per-element matrix product, see gemm . + +@note Saturation is not applied when the output array has the depth +CV_32S. You may even get result of an incorrect sign in the case of +overflow. +@param src1 first input array. +@param src2 second input array of the same size and the same type as src1. +@param dst output array of the same size and type as src1. +@param scale optional scale factor. +@param dtype optional depth of the output array +@sa add, subtract, divide, scaleAdd, addWeighted, accumulate, accumulateProduct, accumulateSquare, +Mat::convertTo +*/ +CV_EXPORTS_W void multiply(InputArray src1, InputArray src2, + OutputArray dst, double scale = 1, int dtype = -1); + +/** @brief Performs per-element division of two arrays or a scalar by an array. + +The function cv::divide divides one array by another: +\f[\texttt{dst(I) = saturate(src1(I)*scale/src2(I))}\f] +or a scalar by an array when there is no src1 : +\f[\texttt{dst(I) = saturate(scale/src2(I))}\f] + +Different channels of multi-channel arrays are processed independently. + +For integer types when src2(I) is zero, dst(I) will also be zero. + +@note In case of floating point data there is no special defined behavior for zero src2(I) values. +Regular floating-point division is used. +Expect correct IEEE-754 behaviour for floating-point data (with NaN, Inf result values). + +@note Saturation is not applied when the output array has the depth CV_32S. You may even get +result of an incorrect sign in the case of overflow. +@param src1 first input array. +@param src2 second input array of the same size and type as src1. +@param scale scalar factor. +@param dst output array of the same size and type as src2. +@param dtype optional depth of the output array; if -1, dst will have depth src2.depth(), but in +case of an array-by-array division, you can only pass -1 when src1.depth()==src2.depth(). +@sa multiply, add, subtract +*/ +CV_EXPORTS_W void divide(InputArray src1, InputArray src2, OutputArray dst, + double scale = 1, int dtype = -1); + +/** @overload */ +CV_EXPORTS_W void divide(double scale, InputArray src2, + OutputArray dst, int dtype = -1); + +/** @brief Calculates the sum of a scaled array and another array. + +The function scaleAdd is one of the classical primitive linear algebra operations, known as DAXPY +or SAXPY in [BLAS](http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms). It calculates +the sum of a scaled array and another array: +\f[\texttt{dst} (I)= \texttt{scale} \cdot \texttt{src1} (I) + \texttt{src2} (I)\f] +The function can also be emulated with a matrix expression, for example: +@code{.cpp} + Mat A(3, 3, CV_64F); + ... + A.row(0) = A.row(1)*2 + A.row(2); +@endcode +@param src1 first input array. +@param alpha scale factor for the first array. +@param src2 second input array of the same size and type as src1. +@param dst output array of the same size and type as src1. +@sa add, addWeighted, subtract, Mat::dot, Mat::convertTo +*/ +CV_EXPORTS_W void scaleAdd(InputArray src1, double alpha, InputArray src2, OutputArray dst); + +/** @example samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp +Check @ref tutorial_trackbar "the corresponding tutorial" for more details +*/ + +/** @brief Calculates the weighted sum of two arrays. + +The function addWeighted calculates the weighted sum of two arrays as follows: +\f[\texttt{dst} (I)= \texttt{saturate} ( \texttt{src1} (I)* \texttt{alpha} + \texttt{src2} (I)* \texttt{beta} + \texttt{gamma} )\f] +where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each +channel is processed independently. +The function can be replaced with a matrix expression: +@code{.cpp} + dst = src1*alpha + src2*beta + gamma; +@endcode +@note Saturation is not applied when the output array has the depth CV_32S. You may even get +result of an incorrect sign in the case of overflow. +@param src1 first input array. +@param alpha weight of the first array elements. +@param src2 second input array of the same size and channel number as src1. +@param beta weight of the second array elements. +@param gamma scalar added to each sum. +@param dst output array that has the same size and number of channels as the input arrays. +@param dtype optional depth of the output array; when both input arrays have the same depth, dtype +can be set to -1, which will be equivalent to src1.depth(). +@sa add, subtract, scaleAdd, Mat::convertTo +*/ +CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2, + double beta, double gamma, OutputArray dst, int dtype = -1); + +/** @brief Scales, calculates absolute values, and converts the result to 8-bit. + +On each element of the input array, the function convertScaleAbs +performs three operations sequentially: scaling, taking an absolute +value, conversion to an unsigned 8-bit type: +\f[\texttt{dst} (I)= \texttt{saturate\_cast} (| \texttt{src} (I)* \texttt{alpha} + \texttt{beta} |)\f] +In case of multi-channel arrays, the function processes each channel +independently. When the output is not 8-bit, the operation can be +emulated by calling the Mat::convertTo method (or by using matrix +expressions) and then by calculating an absolute value of the result. +For example: +@code{.cpp} + Mat_ A(30,30); + randu(A, Scalar(-100), Scalar(100)); + Mat_ B = A*5 + 3; + B = abs(B); + // Mat_ B = abs(A*5+3) will also do the job, + // but it will allocate a temporary matrix +@endcode +@param src input array. +@param dst output array. +@param alpha optional scale factor. +@param beta optional delta added to the scaled values. +@sa Mat::convertTo, cv::abs(const Mat&) +*/ +CV_EXPORTS_W void convertScaleAbs(InputArray src, OutputArray dst, + double alpha = 1, double beta = 0); + +/** @brief Converts an array to half precision floating number. + +This function converts FP32 (single precision floating point) from/to FP16 (half precision floating point). CV_16S format is used to represent FP16 data. +There are two use modes (src -> dst): CV_32F -> CV_16S and CV_16S -> CV_32F. The input array has to have type of CV_32F or +CV_16S to represent the bit depth. If the input array is neither of them, the function will raise an error. +The format of half precision floating point is defined in IEEE 754-2008. + +@param src input array. +@param dst output array. +*/ +CV_EXPORTS_W void convertFp16(InputArray src, OutputArray dst); + +/** @brief Performs a look-up table transform of an array. + +The function LUT fills the output array with values from the look-up table. Indices of the entries +are taken from the input array. That is, the function processes each element of src as follows: +\f[\texttt{dst} (I) \leftarrow \texttt{lut(src(I) + d)}\f] +where +\f[d = \fork{0}{if \(\texttt{src}\) has depth \(\texttt{CV_8U}\)}{128}{if \(\texttt{src}\) has depth \(\texttt{CV_8S}\)}\f] +@param src input array of 8-bit elements. +@param lut look-up table of 256 elements; in case of multi-channel input array, the table should +either have a single channel (in this case the same table is used for all channels) or the same +number of channels as in the input array. +@param dst output array of the same size and number of channels as src, and the same depth as lut. +@sa convertScaleAbs, Mat::convertTo +*/ +CV_EXPORTS_W void LUT(InputArray src, InputArray lut, OutputArray dst); + +/** @brief Calculates the sum of array elements. + +The function cv::sum calculates and returns the sum of array elements, +independently for each channel. +@param src input array that must have from 1 to 4 channels. +@sa countNonZero, mean, meanStdDev, norm, minMaxLoc, reduce +*/ +CV_EXPORTS_AS(sumElems) Scalar sum(InputArray src); + +/** @brief Checks for the presence of at least one non-zero array element. + +The function returns whether there are non-zero elements in src +@param src single-channel array. +@sa mean, meanStdDev, norm, minMaxLoc, calcCovarMatrix +*/ +CV_EXPORTS_W bool hasNonZero( InputArray src ); + +/** @brief Counts non-zero array elements. + +The function returns the number of non-zero elements in src : +\f[\sum _{I: \; \texttt{src} (I) \ne0 } 1\f] +@param src single-channel array. +@sa mean, meanStdDev, norm, minMaxLoc, calcCovarMatrix +*/ +CV_EXPORTS_W int countNonZero( InputArray src ); + +/** @brief Returns the list of locations of non-zero pixels + +Given a binary matrix (likely returned from an operation such +as threshold(), compare(), >, ==, etc, return all of +the non-zero indices as a cv::Mat or std::vector (x,y) +For example: +@code{.cpp} + cv::Mat binaryImage; // input, binary image + cv::Mat locations; // output, locations of non-zero pixels + cv::findNonZero(binaryImage, locations); + + // access pixel coordinates + Point pnt = locations.at(i); +@endcode +or +@code{.cpp} + cv::Mat binaryImage; // input, binary image + vector locations; // output, locations of non-zero pixels + cv::findNonZero(binaryImage, locations); + + // access pixel coordinates + Point pnt = locations[i]; +@endcode +@param src single-channel array +@param idx the output array, type of cv::Mat or std::vector, corresponding to non-zero indices in the input +*/ +CV_EXPORTS_W void findNonZero( InputArray src, OutputArray idx ); + +/** @brief Calculates an average (mean) of array elements. + +The function cv::mean calculates the mean value M of array elements, +independently for each channel, and return it: +\f[\begin{array}{l} N = \sum _{I: \; \texttt{mask} (I) \ne 0} 1 \\ M_c = \left ( \sum _{I: \; \texttt{mask} (I) \ne 0}{ \texttt{mtx} (I)_c} \right )/N \end{array}\f] +When all the mask elements are 0's, the function returns Scalar::all(0) +@param src input array that should have from 1 to 4 channels so that the result can be stored in +Scalar_ . +@param mask optional operation mask. +@sa countNonZero, meanStdDev, norm, minMaxLoc +*/ +CV_EXPORTS_W Scalar mean(InputArray src, InputArray mask = noArray()); + +/** Calculates a mean and standard deviation of array elements. + +The function cv::meanStdDev calculates the mean and the standard deviation M +of array elements independently for each channel and returns it via the +output parameters: +\f[\begin{array}{l} N = \sum _{I, \texttt{mask} (I) \ne 0} 1 \\ \texttt{mean} _c = \frac{\sum_{ I: \; \texttt{mask}(I) \ne 0} \texttt{src} (I)_c}{N} \\ \texttt{stddev} _c = \sqrt{\frac{\sum_{ I: \; \texttt{mask}(I) \ne 0} \left ( \texttt{src} (I)_c - \texttt{mean} _c \right )^2}{N}} \end{array}\f] +When all the mask elements are 0's, the function returns +mean=stddev=Scalar::all(0). +@note The calculated standard deviation is only the diagonal of the +complete normalized covariance matrix. If the full matrix is needed, you +can reshape the multi-channel array M x N to the single-channel array +M\*N x mtx.channels() (only possible when the matrix is continuous) and +then pass the matrix to calcCovarMatrix . +@param src input array that should have from 1 to 4 channels so that the results can be stored in +Scalar_ 's. +@param mean output parameter: calculated mean value. +@param stddev output parameter: calculated standard deviation. +@param mask optional operation mask. +@sa countNonZero, mean, norm, minMaxLoc, calcCovarMatrix +*/ +CV_EXPORTS_W void meanStdDev(InputArray src, OutputArray mean, OutputArray stddev, + InputArray mask=noArray()); + +/** @brief Calculates the absolute norm of an array. + +This version of #norm calculates the absolute norm of src1. The type of norm to calculate is specified using #NormTypes. + +As example for one array consider the function \f$r(x)= \begin{pmatrix} x \\ 1-x \end{pmatrix}, x \in [-1;1]\f$. +The \f$ L_{1}, L_{2} \f$ and \f$ L_{\infty} \f$ norm for the sample value \f$r(-1) = \begin{pmatrix} -1 \\ 2 \end{pmatrix}\f$ +is calculated as follows +\f{align*} + \| r(-1) \|_{L_1} &= |-1| + |2| = 3 \\ + \| r(-1) \|_{L_2} &= \sqrt{(-1)^{2} + (2)^{2}} = \sqrt{5} \\ + \| r(-1) \|_{L_\infty} &= \max(|-1|,|2|) = 2 +\f} +and for \f$r(0.5) = \begin{pmatrix} 0.5 \\ 0.5 \end{pmatrix}\f$ the calculation is +\f{align*} + \| r(0.5) \|_{L_1} &= |0.5| + |0.5| = 1 \\ + \| r(0.5) \|_{L_2} &= \sqrt{(0.5)^{2} + (0.5)^{2}} = \sqrt{0.5} \\ + \| r(0.5) \|_{L_\infty} &= \max(|0.5|,|0.5|) = 0.5. +\f} +The following graphic shows all values for the three norm functions \f$\| r(x) \|_{L_1}, \| r(x) \|_{L_2}\f$ and \f$\| r(x) \|_{L_\infty}\f$. +It is notable that the \f$ L_{1} \f$ norm forms the upper and the \f$ L_{\infty} \f$ norm forms the lower border for the example function \f$ r(x) \f$. +![Graphs for the different norm functions from the above example](pics/NormTypes_OneArray_1-2-INF.png) + +When the mask parameter is specified and it is not empty, the norm is + +If normType is not specified, #NORM_L2 is used. +calculated only over the region specified by the mask. + +Multi-channel input arrays are treated as single-channel arrays, that is, +the results for all channels are combined. + +Hamming norms can only be calculated with CV_8U depth arrays. + +@param src1 first input array. +@param normType type of the norm (see #NormTypes). +@param mask optional operation mask; it must have the same size as src1 and CV_8UC1 type. +*/ +CV_EXPORTS_W double norm(InputArray src1, int normType = NORM_L2, InputArray mask = noArray()); + +/** @brief Calculates an absolute difference norm or a relative difference norm. + +This version of cv::norm calculates the absolute difference norm +or the relative difference norm of arrays src1 and src2. +The type of norm to calculate is specified using #NormTypes. + +@param src1 first input array. +@param src2 second input array of the same size and the same type as src1. +@param normType type of the norm (see #NormTypes). +@param mask optional operation mask; it must have the same size as src1 and CV_8UC1 type. +*/ +CV_EXPORTS_W double norm(InputArray src1, InputArray src2, + int normType = NORM_L2, InputArray mask = noArray()); +/** @overload +@param src first input array. +@param normType type of the norm (see #NormTypes). +*/ +CV_EXPORTS double norm( const SparseMat& src, int normType ); + +/** @brief Computes the Peak Signal-to-Noise Ratio (PSNR) image quality metric. + +This function calculates the Peak Signal-to-Noise Ratio (PSNR) image quality metric in decibels (dB), +between two input arrays src1 and src2. The arrays must have the same type. + +The PSNR is calculated as follows: + +\f[ +\texttt{PSNR} = 10 \cdot \log_{10}{\left( \frac{R^2}{MSE} \right) } +\f] + +where R is the maximum integer value of depth (e.g. 255 in the case of CV_8U data) +and MSE is the mean squared error between the two arrays. + +@param src1 first input array. +@param src2 second input array of the same size as src1. +@param R the maximum pixel value (255 by default) + + */ +CV_EXPORTS_W double PSNR(InputArray src1, InputArray src2, double R=255.); + +/** @brief naive nearest neighbor finder + +see http://en.wikipedia.org/wiki/Nearest_neighbor_search +@todo document + */ +CV_EXPORTS_W void batchDistance(InputArray src1, InputArray src2, + OutputArray dist, int dtype, OutputArray nidx, + int normType = NORM_L2, int K = 0, + InputArray mask = noArray(), int update = 0, + bool crosscheck = false); + +/** @brief Normalizes the norm or value range of an array. + +The function cv::normalize normalizes scale and shift the input array elements so that +\f[\| \texttt{dst} \| _{L_p}= \texttt{alpha}\f] +(where p=Inf, 1 or 2) when normType=NORM_INF, NORM_L1, or NORM_L2, respectively; or so that +\f[\min _I \texttt{dst} (I)= \texttt{alpha} , \, \, \max _I \texttt{dst} (I)= \texttt{beta}\f] + +when normType=NORM_MINMAX (for dense arrays only). The optional mask specifies a sub-array to be +normalized. This means that the norm or min-n-max are calculated over the sub-array, and then this +sub-array is modified to be normalized. If you want to only use the mask to calculate the norm or +min-max but modify the whole array, you can use norm and Mat::convertTo. + +In case of sparse matrices, only the non-zero values are analyzed and transformed. Because of this, +the range transformation for sparse matrices is not allowed since it can shift the zero level. + +Possible usage with some positive example data: +@code{.cpp} + vector positiveData = { 2.0, 8.0, 10.0 }; + vector normalizedData_l1, normalizedData_l2, normalizedData_inf, normalizedData_minmax; + + // Norm to probability (total count) + // sum(numbers) = 20.0 + // 2.0 0.1 (2.0/20.0) + // 8.0 0.4 (8.0/20.0) + // 10.0 0.5 (10.0/20.0) + normalize(positiveData, normalizedData_l1, 1.0, 0.0, NORM_L1); + + // Norm to unit vector: ||positiveData|| = 1.0 + // 2.0 0.15 + // 8.0 0.62 + // 10.0 0.77 + normalize(positiveData, normalizedData_l2, 1.0, 0.0, NORM_L2); + + // Norm to max element + // 2.0 0.2 (2.0/10.0) + // 8.0 0.8 (8.0/10.0) + // 10.0 1.0 (10.0/10.0) + normalize(positiveData, normalizedData_inf, 1.0, 0.0, NORM_INF); + + // Norm to range [0.0;1.0] + // 2.0 0.0 (shift to left border) + // 8.0 0.75 (6.0/8.0) + // 10.0 1.0 (shift to right border) + normalize(positiveData, normalizedData_minmax, 1.0, 0.0, NORM_MINMAX); +@endcode + +@param src input array. +@param dst output array of the same size as src . +@param alpha norm value to normalize to or the lower range boundary in case of the range +normalization. +@param beta upper range boundary in case of the range normalization; it is not used for the norm +normalization. +@param norm_type normalization type (see cv::NormTypes). +@param dtype when negative, the output array has the same type as src; otherwise, it has the same +number of channels as src and the depth =CV_MAT_DEPTH(dtype). +@param mask optional operation mask. +@sa norm, Mat::convertTo, SparseMat::convertTo +*/ +CV_EXPORTS_W void normalize( InputArray src, InputOutputArray dst, double alpha = 1, double beta = 0, + int norm_type = NORM_L2, int dtype = -1, InputArray mask = noArray()); + +/** @overload +@param src input array. +@param dst output array of the same size as src . +@param alpha norm value to normalize to or the lower range boundary in case of the range +normalization. +@param normType normalization type (see cv::NormTypes). +*/ +CV_EXPORTS void normalize( const SparseMat& src, SparseMat& dst, double alpha, int normType ); + +/** @brief Finds the global minimum and maximum in an array. + +The function cv::minMaxLoc finds the minimum and maximum element values and their positions. The +extremums are searched across the whole array or, if mask is not an empty array, in the specified +array region. + +The function do not work with multi-channel arrays. If you need to find minimum or maximum +elements across all the channels, use Mat::reshape first to reinterpret the array as +single-channel. Or you may extract the particular channel using either extractImageCOI , or +mixChannels , or split . +@param src input single-channel array. +@param minVal pointer to the returned minimum value; NULL is used if not required. +@param maxVal pointer to the returned maximum value; NULL is used if not required. +@param minLoc pointer to the returned minimum location (in 2D case); NULL is used if not required. +@param maxLoc pointer to the returned maximum location (in 2D case); NULL is used if not required. +@param mask optional mask used to select a sub-array. +@sa max, min, reduceArgMin, reduceArgMax, compare, inRange, extractImageCOI, mixChannels, split, Mat::reshape +*/ +CV_EXPORTS_W void minMaxLoc(InputArray src, CV_OUT double* minVal, + CV_OUT double* maxVal = 0, CV_OUT Point* minLoc = 0, + CV_OUT Point* maxLoc = 0, InputArray mask = noArray()); + +/** + * @brief Finds indices of min elements along provided axis + * + * @note + * - If input or output array is not continuous, this function will create an internal copy. + * - NaN handling is left unspecified, see patchNaNs(). + * - The returned index is always in bounds of input matrix. + * + * @param src input single-channel array. + * @param dst output array of type CV_32SC1 with the same dimensionality as src, + * except for axis being reduced - it should be set to 1. + * @param lastIndex whether to get the index of first or last occurrence of min. + * @param axis axis to reduce along. + * @sa reduceArgMax, minMaxLoc, min, max, compare, reduce + */ +CV_EXPORTS_W void reduceArgMin(InputArray src, OutputArray dst, int axis, bool lastIndex = false); + +/** + * @brief Finds indices of max elements along provided axis + * + * @note + * - If input or output array is not continuous, this function will create an internal copy. + * - NaN handling is left unspecified, see patchNaNs(). + * - The returned index is always in bounds of input matrix. + * + * @param src input single-channel array. + * @param dst output array of type CV_32SC1 with the same dimensionality as src, + * except for axis being reduced - it should be set to 1. + * @param lastIndex whether to get the index of first or last occurrence of max. + * @param axis axis to reduce along. + * @sa reduceArgMin, minMaxLoc, min, max, compare, reduce + */ +CV_EXPORTS_W void reduceArgMax(InputArray src, OutputArray dst, int axis, bool lastIndex = false); + +/** @brief Finds the global minimum and maximum in an array + +The function cv::minMaxIdx finds the minimum and maximum element values and their positions. The +extremums are searched across the whole array or, if mask is not an empty array, in the specified +array region. The function does not work with multi-channel arrays. If you need to find minimum or +maximum elements across all the channels, use Mat::reshape first to reinterpret the array as +single-channel. Or you may extract the particular channel using either extractImageCOI , or +mixChannels , or split . In case of a sparse matrix, the minimum is found among non-zero elements +only. +@note When minIdx is not NULL, it must have at least 2 elements (as well as maxIdx), even if src is +a single-row or single-column matrix. In OpenCV (following MATLAB) each array has at least 2 +dimensions, i.e. single-column matrix is Mx1 matrix (and therefore minIdx/maxIdx will be +(i1,0)/(i2,0)) and single-row matrix is 1xN matrix (and therefore minIdx/maxIdx will be +(0,j1)/(0,j2)). +@param src input single-channel array. +@param minVal pointer to the returned minimum value; NULL is used if not required. +@param maxVal pointer to the returned maximum value; NULL is used if not required. +@param minIdx pointer to the returned minimum location (in nD case); NULL is used if not required; +Otherwise, it must point to an array of src.dims elements, the coordinates of the minimum element +in each dimension are stored there sequentially. +@param maxIdx pointer to the returned maximum location (in nD case). NULL is used if not required. +@param mask specified array region +*/ +CV_EXPORTS void minMaxIdx(InputArray src, double* minVal, double* maxVal = 0, + int* minIdx = 0, int* maxIdx = 0, InputArray mask = noArray()); + +/** @overload +@param a input single-channel array. +@param minVal pointer to the returned minimum value; NULL is used if not required. +@param maxVal pointer to the returned maximum value; NULL is used if not required. +@param minIdx pointer to the returned minimum location (in nD case); NULL is used if not required; +Otherwise, it must point to an array of src.dims elements, the coordinates of the minimum element +in each dimension are stored there sequentially. +@param maxIdx pointer to the returned maximum location (in nD case). NULL is used if not required. +*/ +CV_EXPORTS void minMaxLoc(const SparseMat& a, double* minVal, + double* maxVal, int* minIdx = 0, int* maxIdx = 0); + +/** @brief Reduces a matrix to a vector. + +The function #reduce reduces the matrix to a vector by treating the matrix rows/columns as a set of +1D vectors and performing the specified operation on the vectors until a single row/column is +obtained. For example, the function can be used to compute horizontal and vertical projections of a +raster image. In case of #REDUCE_MAX and #REDUCE_MIN , the output image should have the same type as the source one. +In case of #REDUCE_SUM, #REDUCE_SUM2 and #REDUCE_AVG , the output may have a larger element bit-depth to preserve accuracy. +And multi-channel arrays are also supported in these two reduction modes. + +The following code demonstrates its usage for a single channel matrix. +@snippet snippets/core_reduce.cpp example + +And the following code demonstrates its usage for a two-channel matrix. +@snippet snippets/core_reduce.cpp example2 + +@param src input 2D matrix. +@param dst output vector. Its size and type is defined by dim and dtype parameters. +@param dim dimension index along which the matrix is reduced. 0 means that the matrix is reduced to +a single row. 1 means that the matrix is reduced to a single column. +@param rtype reduction operation that could be one of #ReduceTypes +@param dtype when negative, the output vector will have the same type as the input matrix, +otherwise, its type will be CV_MAKE_TYPE(CV_MAT_DEPTH(dtype), src.channels()). +@sa repeat, reduceArgMin, reduceArgMax +*/ +CV_EXPORTS_W void reduce(InputArray src, OutputArray dst, int dim, int rtype, int dtype = -1); + +/** @brief Creates one multi-channel array out of several single-channel ones. + +The function cv::merge merges several arrays to make a single multi-channel array. That is, each +element of the output array will be a concatenation of the elements of the input arrays, where +elements of i-th input array are treated as mv[i].channels()-element vectors. + +The function cv::split does the reverse operation. If you need to shuffle channels in some other +advanced way, use cv::mixChannels. + +The following example shows how to merge 3 single channel matrices into a single 3-channel matrix. +@snippet snippets/core_merge.cpp example + +@param mv input array of matrices to be merged; all the matrices in mv must have the same +size and the same depth. +@param count number of input matrices when mv is a plain C array; it must be greater than zero. +@param dst output array of the same size and the same depth as mv[0]; The number of channels will +be equal to the parameter count. +@sa mixChannels, split, Mat::reshape +*/ +CV_EXPORTS void merge(const Mat* mv, size_t count, OutputArray dst); + +/** @overload +@param mv input vector of matrices to be merged; all the matrices in mv must have the same +size and the same depth. +@param dst output array of the same size and the same depth as mv[0]; The number of channels will +be the total number of channels in the matrix array. + */ +CV_EXPORTS_W void merge(InputArrayOfArrays mv, OutputArray dst); + +/** @brief Divides a multi-channel array into several single-channel arrays. + +The function cv::split splits a multi-channel array into separate single-channel arrays: +\f[\texttt{mv} [c](I) = \texttt{src} (I)_c\f] +If you need to extract a single channel or do some other sophisticated channel permutation, use +mixChannels . + +The following example demonstrates how to split a 3-channel matrix into 3 single channel matrices. +@snippet snippets/core_split.cpp example + +@param src input multi-channel array. +@param mvbegin output array; the number of arrays must match src.channels(); the arrays themselves are +reallocated, if needed. +@sa merge, mixChannels, cvtColor +*/ +CV_EXPORTS void split(const Mat& src, Mat* mvbegin); + +/** @overload +@param m input multi-channel array. +@param mv output vector of arrays; the arrays themselves are reallocated, if needed. +*/ +CV_EXPORTS_W void split(InputArray m, OutputArrayOfArrays mv); + +/** @brief Copies specified channels from input arrays to the specified channels of +output arrays. + +The function cv::mixChannels provides an advanced mechanism for shuffling image channels. + +cv::split,cv::merge,cv::extractChannel,cv::insertChannel and some forms of cv::cvtColor are partial cases of cv::mixChannels. + +In the example below, the code splits a 4-channel BGRA image into a 3-channel BGR (with B and R +channels swapped) and a separate alpha-channel image: +@code{.cpp} + Mat bgra( 100, 100, CV_8UC4, Scalar(255,0,0,255) ); + Mat bgr( bgra.rows, bgra.cols, CV_8UC3 ); + Mat alpha( bgra.rows, bgra.cols, CV_8UC1 ); + + // forming an array of matrices is a quite efficient operation, + // because the matrix data is not copied, only the headers + Mat out[] = { bgr, alpha }; + // bgra[0] -> bgr[2], bgra[1] -> bgr[1], + // bgra[2] -> bgr[0], bgra[3] -> alpha[0] + int from_to[] = { 0,2, 1,1, 2,0, 3,3 }; + mixChannels( &bgra, 1, out, 2, from_to, 4 ); +@endcode +@note Unlike many other new-style C++ functions in OpenCV (see the introduction section and +Mat::create ), cv::mixChannels requires the output arrays to be pre-allocated before calling the +function. +@param src input array or vector of matrices; all of the matrices must have the same size and the +same depth. +@param nsrcs number of matrices in `src`. +@param dst output array or vector of matrices; all the matrices **must be allocated**; their size and +depth must be the same as in `src[0]`. +@param ndsts number of matrices in `dst`. +@param fromTo array of index pairs specifying which channels are copied and where; fromTo[k\*2] is +a 0-based index of the input channel in src, fromTo[k\*2+1] is an index of the output channel in +dst; the continuous channel numbering is used: the first input image channels are indexed from 0 to +src[0].channels()-1, the second input image channels are indexed from src[0].channels() to +src[0].channels() + src[1].channels()-1, and so on, the same scheme is used for the output image +channels; as a special case, when fromTo[k\*2] is negative, the corresponding output channel is +filled with zero . +@param npairs number of index pairs in `fromTo`. +@sa split, merge, extractChannel, insertChannel, cvtColor +*/ +CV_EXPORTS void mixChannels(const Mat* src, size_t nsrcs, Mat* dst, size_t ndsts, + const int* fromTo, size_t npairs); + +/** @overload +@param src input array or vector of matrices; all of the matrices must have the same size and the +same depth. +@param dst output array or vector of matrices; all the matrices **must be allocated**; their size and +depth must be the same as in src[0]. +@param fromTo array of index pairs specifying which channels are copied and where; fromTo[k\*2] is +a 0-based index of the input channel in src, fromTo[k\*2+1] is an index of the output channel in +dst; the continuous channel numbering is used: the first input image channels are indexed from 0 to +src[0].channels()-1, the second input image channels are indexed from src[0].channels() to +src[0].channels() + src[1].channels()-1, and so on, the same scheme is used for the output image +channels; as a special case, when fromTo[k\*2] is negative, the corresponding output channel is +filled with zero . +@param npairs number of index pairs in fromTo. +*/ +CV_EXPORTS void mixChannels(InputArrayOfArrays src, InputOutputArrayOfArrays dst, + const int* fromTo, size_t npairs); + +/** @overload +@param src input array or vector of matrices; all of the matrices must have the same size and the +same depth. +@param dst output array or vector of matrices; all the matrices **must be allocated**; their size and +depth must be the same as in src[0]. +@param fromTo array of index pairs specifying which channels are copied and where; fromTo[k\*2] is +a 0-based index of the input channel in src, fromTo[k\*2+1] is an index of the output channel in +dst; the continuous channel numbering is used: the first input image channels are indexed from 0 to +src[0].channels()-1, the second input image channels are indexed from src[0].channels() to +src[0].channels() + src[1].channels()-1, and so on, the same scheme is used for the output image +channels; as a special case, when fromTo[k\*2] is negative, the corresponding output channel is +filled with zero . +*/ +CV_EXPORTS_W void mixChannels(InputArrayOfArrays src, InputOutputArrayOfArrays dst, + const std::vector& fromTo); + +/** @brief Extracts a single channel from src (coi is 0-based index) +@param src input array +@param dst output array +@param coi index of channel to extract +@sa mixChannels, split +*/ +CV_EXPORTS_W void extractChannel(InputArray src, OutputArray dst, int coi); + +/** @brief Inserts a single channel to dst (coi is 0-based index) +@param src input array +@param dst output array +@param coi index of channel for insertion +@sa mixChannels, merge +*/ +CV_EXPORTS_W void insertChannel(InputArray src, InputOutputArray dst, int coi); + +/** @brief Flips a 2D array around vertical, horizontal, or both axes. + +The function cv::flip flips the array in one of three different ways (row +and column indices are 0-based): +\f[\texttt{dst} _{ij} = +\left\{ +\begin{array}{l l} +\texttt{src} _{\texttt{src.rows}-i-1,j} & if\; \texttt{flipCode} = 0 \\ +\texttt{src} _{i, \texttt{src.cols} -j-1} & if\; \texttt{flipCode} > 0 \\ +\texttt{src} _{ \texttt{src.rows} -i-1, \texttt{src.cols} -j-1} & if\; \texttt{flipCode} < 0 \\ +\end{array} +\right.\f] +The example scenarios of using the function are the following: +* Vertical flipping of the image (flipCode == 0) to switch between + top-left and bottom-left image origin. This is a typical operation + in video processing on Microsoft Windows\* OS. +* Horizontal flipping of the image with the subsequent horizontal + shift and absolute difference calculation to check for a + vertical-axis symmetry (flipCode \> 0). +* Simultaneous horizontal and vertical flipping of the image with + the subsequent shift and absolute difference calculation to check + for a central symmetry (flipCode \< 0). +* Reversing the order of point arrays (flipCode \> 0 or + flipCode == 0). +@param src input array. +@param dst output array of the same size and type as src. +@param flipCode a flag to specify how to flip the array; 0 means +flipping around the x-axis and positive value (for example, 1) means +flipping around y-axis. Negative value (for example, -1) means flipping +around both axes. +@sa transpose , repeat , completeSymm +*/ +CV_EXPORTS_W void flip(InputArray src, OutputArray dst, int flipCode); + +/** @brief Flips a n-dimensional at given axis + * @param src input array + * @param dst output array that has the same shape of src + * @param axis axis that performs a flip on. 0 <= axis < src.dims. + */ +CV_EXPORTS_W void flipND(InputArray src, OutputArray dst, int axis); + +enum RotateFlags { + ROTATE_90_CLOCKWISE = 0, //! A = (cv::Mat_(3, 2) << 1, 4, + 2, 5, + 3, 6); + cv::Mat_ B = (cv::Mat_(3, 2) << 7, 10, + 8, 11, + 9, 12); + + cv::Mat C; + cv::hconcat(A, B, C); + //C: + //[1, 4, 7, 10; + // 2, 5, 8, 11; + // 3, 6, 9, 12] + @endcode + @param src1 first input array to be considered for horizontal concatenation. + @param src2 second input array to be considered for horizontal concatenation. + @param dst output array. It has the same number of rows and depth as the src1 and src2, and the sum of cols of the src1 and src2. + */ +CV_EXPORTS void hconcat(InputArray src1, InputArray src2, OutputArray dst); +/** @overload + @code{.cpp} + std::vector matrices = { cv::Mat(4, 1, CV_8UC1, cv::Scalar(1)), + cv::Mat(4, 1, CV_8UC1, cv::Scalar(2)), + cv::Mat(4, 1, CV_8UC1, cv::Scalar(3)),}; + + cv::Mat out; + cv::hconcat( matrices, out ); + //out: + //[1, 2, 3; + // 1, 2, 3; + // 1, 2, 3; + // 1, 2, 3] + @endcode + @param src input array or vector of matrices. all of the matrices must have the same number of rows and the same depth. + @param dst output array. It has the same number of rows and depth as the src, and the sum of cols of the src. +same depth. + */ +CV_EXPORTS_W void hconcat(InputArrayOfArrays src, OutputArray dst); + +/** @brief Applies vertical concatenation to given matrices. + +The function vertically concatenates two or more cv::Mat matrices (with the same number of cols). +@code{.cpp} + cv::Mat matArray[] = { cv::Mat(1, 4, CV_8UC1, cv::Scalar(1)), + cv::Mat(1, 4, CV_8UC1, cv::Scalar(2)), + cv::Mat(1, 4, CV_8UC1, cv::Scalar(3)),}; + + cv::Mat out; + cv::vconcat( matArray, 3, out ); + //out: + //[1, 1, 1, 1; + // 2, 2, 2, 2; + // 3, 3, 3, 3] +@endcode +@param src input array or vector of matrices. all of the matrices must have the same number of cols and the same depth. +@param nsrc number of matrices in src. +@param dst output array. It has the same number of cols and depth as the src, and the sum of rows of the src. +@sa cv::hconcat(const Mat*, size_t, OutputArray), @sa cv::hconcat(InputArrayOfArrays, OutputArray) and @sa cv::hconcat(InputArray, InputArray, OutputArray) +*/ +CV_EXPORTS void vconcat(const Mat* src, size_t nsrc, OutputArray dst); +/** @overload + @code{.cpp} + cv::Mat_ A = (cv::Mat_(3, 2) << 1, 7, + 2, 8, + 3, 9); + cv::Mat_ B = (cv::Mat_(3, 2) << 4, 10, + 5, 11, + 6, 12); + + cv::Mat C; + cv::vconcat(A, B, C); + //C: + //[1, 7; + // 2, 8; + // 3, 9; + // 4, 10; + // 5, 11; + // 6, 12] + @endcode + @param src1 first input array to be considered for vertical concatenation. + @param src2 second input array to be considered for vertical concatenation. + @param dst output array. It has the same number of cols and depth as the src1 and src2, and the sum of rows of the src1 and src2. + */ +CV_EXPORTS void vconcat(InputArray src1, InputArray src2, OutputArray dst); +/** @overload + @code{.cpp} + std::vector matrices = { cv::Mat(1, 4, CV_8UC1, cv::Scalar(1)), + cv::Mat(1, 4, CV_8UC1, cv::Scalar(2)), + cv::Mat(1, 4, CV_8UC1, cv::Scalar(3)),}; + + cv::Mat out; + cv::vconcat( matrices, out ); + //out: + //[1, 1, 1, 1; + // 2, 2, 2, 2; + // 3, 3, 3, 3] + @endcode + @param src input array or vector of matrices. all of the matrices must have the same number of cols and the same depth + @param dst output array. It has the same number of cols and depth as the src, and the sum of rows of the src. +same depth. + */ +CV_EXPORTS_W void vconcat(InputArrayOfArrays src, OutputArray dst); + +/** @brief computes bitwise conjunction of the two arrays (dst = src1 & src2) +Calculates the per-element bit-wise conjunction of two arrays or an +array and a scalar. + +The function cv::bitwise_and calculates the per-element bit-wise logical conjunction for: +* Two arrays when src1 and src2 have the same size: + \f[\texttt{dst} (I) = \texttt{src1} (I) \wedge \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0\f] +* An array and a scalar when src2 is constructed from Scalar or has + the same number of elements as `src1.channels()`: + \f[\texttt{dst} (I) = \texttt{src1} (I) \wedge \texttt{src2} \quad \texttt{if mask} (I) \ne0\f] +* A scalar and an array when src1 is constructed from Scalar or has + the same number of elements as `src2.channels()`: + \f[\texttt{dst} (I) = \texttt{src1} \wedge \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0\f] +In case of floating-point arrays, their machine-specific bit +representations (usually IEEE754-compliant) are used for the operation. +In case of multi-channel arrays, each channel is processed +independently. In the second and third cases above, the scalar is first +converted to the array type. +@param src1 first input array or a scalar. +@param src2 second input array or a scalar. +@param dst output array that has the same size and type as the input +arrays. +@param mask optional operation mask, 8-bit single channel array, that +specifies elements of the output array to be changed. +*/ +CV_EXPORTS_W void bitwise_and(InputArray src1, InputArray src2, + OutputArray dst, InputArray mask = noArray()); + +/** @brief Calculates the per-element bit-wise disjunction of two arrays or an +array and a scalar. + +The function cv::bitwise_or calculates the per-element bit-wise logical disjunction for: +* Two arrays when src1 and src2 have the same size: + \f[\texttt{dst} (I) = \texttt{src1} (I) \vee \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0\f] +* An array and a scalar when src2 is constructed from Scalar or has + the same number of elements as `src1.channels()`: + \f[\texttt{dst} (I) = \texttt{src1} (I) \vee \texttt{src2} \quad \texttt{if mask} (I) \ne0\f] +* A scalar and an array when src1 is constructed from Scalar or has + the same number of elements as `src2.channels()`: + \f[\texttt{dst} (I) = \texttt{src1} \vee \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0\f] +In case of floating-point arrays, their machine-specific bit +representations (usually IEEE754-compliant) are used for the operation. +In case of multi-channel arrays, each channel is processed +independently. In the second and third cases above, the scalar is first +converted to the array type. +@param src1 first input array or a scalar. +@param src2 second input array or a scalar. +@param dst output array that has the same size and type as the input +arrays. +@param mask optional operation mask, 8-bit single channel array, that +specifies elements of the output array to be changed. +*/ +CV_EXPORTS_W void bitwise_or(InputArray src1, InputArray src2, + OutputArray dst, InputArray mask = noArray()); + +/** @brief Calculates the per-element bit-wise "exclusive or" operation on two +arrays or an array and a scalar. + +The function cv::bitwise_xor calculates the per-element bit-wise logical "exclusive-or" +operation for: +* Two arrays when src1 and src2 have the same size: + \f[\texttt{dst} (I) = \texttt{src1} (I) \oplus \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0\f] +* An array and a scalar when src2 is constructed from Scalar or has + the same number of elements as `src1.channels()`: + \f[\texttt{dst} (I) = \texttt{src1} (I) \oplus \texttt{src2} \quad \texttt{if mask} (I) \ne0\f] +* A scalar and an array when src1 is constructed from Scalar or has + the same number of elements as `src2.channels()`: + \f[\texttt{dst} (I) = \texttt{src1} \oplus \texttt{src2} (I) \quad \texttt{if mask} (I) \ne0\f] +In case of floating-point arrays, their machine-specific bit +representations (usually IEEE754-compliant) are used for the operation. +In case of multi-channel arrays, each channel is processed +independently. In the 2nd and 3rd cases above, the scalar is first +converted to the array type. +@param src1 first input array or a scalar. +@param src2 second input array or a scalar. +@param dst output array that has the same size and type as the input +arrays. +@param mask optional operation mask, 8-bit single channel array, that +specifies elements of the output array to be changed. +*/ +CV_EXPORTS_W void bitwise_xor(InputArray src1, InputArray src2, + OutputArray dst, InputArray mask = noArray()); + +/** @brief Inverts every bit of an array. + +The function cv::bitwise_not calculates per-element bit-wise inversion of the input +array: +\f[\texttt{dst} (I) = \neg \texttt{src} (I)\f] +In case of a floating-point input array, its machine-specific bit +representation (usually IEEE754-compliant) is used for the operation. In +case of multi-channel arrays, each channel is processed independently. +@param src input array. +@param dst output array that has the same size and type as the input +array. +@param mask optional operation mask, 8-bit single channel array, that +specifies elements of the output array to be changed. +*/ +CV_EXPORTS_W void bitwise_not(InputArray src, OutputArray dst, + InputArray mask = noArray()); + +/** @brief Calculates the per-element absolute difference between two arrays or between an array and a scalar. + +The function cv::absdiff calculates: +* Absolute difference between two arrays when they have the same + size and type: + \f[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2}(I)|)\f] +* Absolute difference between an array and a scalar when the second + array is constructed from Scalar or has as many elements as the + number of channels in `src1`: + \f[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2} |)\f] +* Absolute difference between a scalar and an array when the first + array is constructed from Scalar or has as many elements as the + number of channels in `src2`: + \f[\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1} - \texttt{src2}(I) |)\f] + where I is a multi-dimensional index of array elements. In case of + multi-channel arrays, each channel is processed independently. +@note Saturation is not applied when the arrays have the depth CV_32S. +You may even get a negative value in the case of overflow. +@param src1 first input array or a scalar. +@param src2 second input array or a scalar. +@param dst output array that has the same size and type as input arrays. +@sa cv::abs(const Mat&) +*/ +CV_EXPORTS_W void absdiff(InputArray src1, InputArray src2, OutputArray dst); + +/** @brief This is an overloaded member function, provided for convenience (python) +Copies the matrix to another one. +When the operation mask is specified, if the Mat::create call shown above reallocates the matrix, the newly allocated matrix is initialized with all zeros before copying the data. +@param src source matrix. +@param dst Destination matrix. If it does not have a proper size or type before the operation, it is +reallocated. +@param mask Operation mask of the same size as \*this. Its non-zero elements indicate which matrix +elements need to be copied. The mask has to be of type CV_8U and can have 1 or multiple channels. +*/ + +void CV_EXPORTS_W copyTo(InputArray src, OutputArray dst, InputArray mask); +/** @brief Checks if array elements lie between the elements of two other arrays. + +The function checks the range as follows: +- For every element of a single-channel input array: + \f[\texttt{dst} (I)= \texttt{lowerb} (I)_0 \leq \texttt{src} (I)_0 \leq \texttt{upperb} (I)_0\f] +- For two-channel arrays: + \f[\texttt{dst} (I)= \texttt{lowerb} (I)_0 \leq \texttt{src} (I)_0 \leq \texttt{upperb} (I)_0 \land \texttt{lowerb} (I)_1 \leq \texttt{src} (I)_1 \leq \texttt{upperb} (I)_1\f] +- and so forth. + +That is, dst (I) is set to 255 (all 1 -bits) if src (I) is within the +specified 1D, 2D, 3D, ... box and 0 otherwise. + +When the lower and/or upper boundary parameters are scalars, the indexes +(I) at lowerb and upperb in the above formulas should be omitted. +@param src first input array. +@param lowerb inclusive lower boundary array or a scalar. +@param upperb inclusive upper boundary array or a scalar. +@param dst output array of the same size as src and CV_8U type. +*/ +CV_EXPORTS_W void inRange(InputArray src, InputArray lowerb, + InputArray upperb, OutputArray dst); + +/** @brief Performs the per-element comparison of two arrays or an array and scalar value. + +The function compares: +* Elements of two arrays when src1 and src2 have the same size: + \f[\texttt{dst} (I) = \texttt{src1} (I) \,\texttt{cmpop}\, \texttt{src2} (I)\f] +* Elements of src1 with a scalar src2 when src2 is constructed from + Scalar or has a single element: + \f[\texttt{dst} (I) = \texttt{src1}(I) \,\texttt{cmpop}\, \texttt{src2}\f] +* src1 with elements of src2 when src1 is constructed from Scalar or + has a single element: + \f[\texttt{dst} (I) = \texttt{src1} \,\texttt{cmpop}\, \texttt{src2} (I)\f] +When the comparison result is true, the corresponding element of output +array is set to 255. The comparison operations can be replaced with the +equivalent matrix expressions: +@code{.cpp} + Mat dst1 = src1 >= src2; + Mat dst2 = src1 < 8; + ... +@endcode +@param src1 first input array or a scalar; when it is an array, it must have a single channel. +@param src2 second input array or a scalar; when it is an array, it must have a single channel. +@param dst output array of type ref CV_8U that has the same size and the same number of channels as + the input arrays. +@param cmpop a flag, that specifies correspondence between the arrays (cv::CmpTypes) +@sa checkRange, min, max, threshold +*/ +CV_EXPORTS_W void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop); + +/** @brief Calculates per-element minimum of two arrays or an array and a scalar. + +The function cv::min calculates the per-element minimum of two arrays: +\f[\texttt{dst} (I)= \min ( \texttt{src1} (I), \texttt{src2} (I))\f] +or array and a scalar: +\f[\texttt{dst} (I)= \min ( \texttt{src1} (I), \texttt{value} )\f] +@param src1 first input array. +@param src2 second input array of the same size and type as src1. +@param dst output array of the same size and type as src1. +@sa max, compare, inRange, minMaxLoc +*/ +CV_EXPORTS_W void min(InputArray src1, InputArray src2, OutputArray dst); +/** @overload +needed to avoid conflicts with const _Tp& std::min(const _Tp&, const _Tp&, _Compare) +*/ +CV_EXPORTS void min(const Mat& src1, const Mat& src2, Mat& dst); +/** @overload +needed to avoid conflicts with const _Tp& std::min(const _Tp&, const _Tp&, _Compare) +*/ +CV_EXPORTS void min(const UMat& src1, const UMat& src2, UMat& dst); + +/** @brief Calculates per-element maximum of two arrays or an array and a scalar. + +The function cv::max calculates the per-element maximum of two arrays: +\f[\texttt{dst} (I)= \max ( \texttt{src1} (I), \texttt{src2} (I))\f] +or array and a scalar: +\f[\texttt{dst} (I)= \max ( \texttt{src1} (I), \texttt{value} )\f] +@param src1 first input array. +@param src2 second input array of the same size and type as src1 . +@param dst output array of the same size and type as src1. +@sa min, compare, inRange, minMaxLoc, @ref MatrixExpressions +*/ +CV_EXPORTS_W void max(InputArray src1, InputArray src2, OutputArray dst); +/** @overload +needed to avoid conflicts with const _Tp& std::min(const _Tp&, const _Tp&, _Compare) +*/ +CV_EXPORTS void max(const Mat& src1, const Mat& src2, Mat& dst); +/** @overload +needed to avoid conflicts with const _Tp& std::min(const _Tp&, const _Tp&, _Compare) +*/ +CV_EXPORTS void max(const UMat& src1, const UMat& src2, UMat& dst); + +/** @brief Calculates a square root of array elements. + +The function cv::sqrt calculates a square root of each input array element. +In case of multi-channel arrays, each channel is processed +independently. The accuracy is approximately the same as of the built-in +std::sqrt . +@param src input floating-point array. +@param dst output array of the same size and type as src. +*/ +CV_EXPORTS_W void sqrt(InputArray src, OutputArray dst); + +/** @brief Raises every array element to a power. + +The function cv::pow raises every element of the input array to power : +\f[\texttt{dst} (I) = \fork{\texttt{src}(I)^{power}}{if \(\texttt{power}\) is integer}{|\texttt{src}(I)|^{power}}{otherwise}\f] + +So, for a non-integer power exponent, the absolute values of input array +elements are used. However, it is possible to get true values for +negative values using some extra operations. In the example below, +computing the 5th root of array src shows: +@code{.cpp} + Mat mask = src < 0; + pow(src, 1./5, dst); + subtract(Scalar::all(0), dst, dst, mask); +@endcode +For some values of power, such as integer values, 0.5 and -0.5, +specialized faster algorithms are used. + +Special values (NaN, Inf) are not handled. +@param src input array. +@param power exponent of power. +@param dst output array of the same size and type as src. +@sa sqrt, exp, log, cartToPolar, polarToCart +*/ +CV_EXPORTS_W void pow(InputArray src, double power, OutputArray dst); + +/** @brief Calculates the exponent of every array element. + +The function cv::exp calculates the exponent of every element of the input +array: +\f[\texttt{dst} [I] = e^{ src(I) }\f] + +The maximum relative error is about 7e-6 for single-precision input and +less than 1e-10 for double-precision input. Currently, the function +converts denormalized values to zeros on output. Special values (NaN, +Inf) are not handled. +@param src input array. +@param dst output array of the same size and type as src. +@sa log , cartToPolar , polarToCart , phase , pow , sqrt , magnitude +*/ +CV_EXPORTS_W void exp(InputArray src, OutputArray dst); + +/** @brief Calculates the natural logarithm of every array element. + +The function cv::log calculates the natural logarithm of every element of the input array: +\f[\texttt{dst} (I) = \log (\texttt{src}(I)) \f] + +Output on zero, negative and special (NaN, Inf) values is undefined. + +@param src input array. +@param dst output array of the same size and type as src . +@sa exp, cartToPolar, polarToCart, phase, pow, sqrt, magnitude +*/ +CV_EXPORTS_W void log(InputArray src, OutputArray dst); + +/** @brief Calculates x and y coordinates of 2D vectors from their magnitude and angle. + +The function cv::polarToCart calculates the Cartesian coordinates of each 2D +vector represented by the corresponding elements of magnitude and angle: +\f[\begin{array}{l} \texttt{x} (I) = \texttt{magnitude} (I) \cos ( \texttt{angle} (I)) \\ \texttt{y} (I) = \texttt{magnitude} (I) \sin ( \texttt{angle} (I)) \\ \end{array}\f] + +The relative accuracy of the estimated coordinates is about 1e-6. +@param magnitude input floating-point array of magnitudes of 2D vectors; +it can be an empty matrix (=Mat()), in this case, the function assumes +that all the magnitudes are =1; if it is not empty, it must have the +same size and type as angle. +@param angle input floating-point array of angles of 2D vectors. +@param x output array of x-coordinates of 2D vectors; it has the same +size and type as angle. +@param y output array of y-coordinates of 2D vectors; it has the same +size and type as angle. +@param angleInDegrees when true, the input angles are measured in +degrees, otherwise, they are measured in radians. +@sa cartToPolar, magnitude, phase, exp, log, pow, sqrt +*/ +CV_EXPORTS_W void polarToCart(InputArray magnitude, InputArray angle, + OutputArray x, OutputArray y, bool angleInDegrees = false); + +/** @brief Calculates the magnitude and angle of 2D vectors. + +The function cv::cartToPolar calculates either the magnitude, angle, or both +for every 2D vector (x(I),y(I)): +\f[\begin{array}{l} \texttt{magnitude} (I)= \sqrt{\texttt{x}(I)^2+\texttt{y}(I)^2} , \\ \texttt{angle} (I)= \texttt{atan2} ( \texttt{y} (I), \texttt{x} (I))[ \cdot180 / \pi ] \end{array}\f] + +The angles are calculated with accuracy about 0.3 degrees. For the point +(0,0), the angle is set to 0. +@param x array of x-coordinates; this must be a single-precision or +double-precision floating-point array. +@param y array of y-coordinates, that must have the same size and same type as x. +@param magnitude output array of magnitudes of the same size and type as x. +@param angle output array of angles that has the same size and type as +x; the angles are measured in radians (from 0 to 2\*Pi) or in degrees (0 to 360 degrees). +@param angleInDegrees a flag, indicating whether the angles are measured +in radians (which is by default), or in degrees. +@sa Sobel, Scharr +*/ +CV_EXPORTS_W void cartToPolar(InputArray x, InputArray y, + OutputArray magnitude, OutputArray angle, + bool angleInDegrees = false); + +/** @brief Calculates the rotation angle of 2D vectors. + +The function cv::phase calculates the rotation angle of each 2D vector that +is formed from the corresponding elements of x and y : +\f[\texttt{angle} (I) = \texttt{atan2} ( \texttt{y} (I), \texttt{x} (I))\f] + +The angle estimation accuracy is about 0.3 degrees. When x(I)=y(I)=0 , +the corresponding angle(I) is set to 0. +@param x input floating-point array of x-coordinates of 2D vectors. +@param y input array of y-coordinates of 2D vectors; it must have the +same size and the same type as x. +@param angle output array of vector angles; it has the same size and +same type as x . +@param angleInDegrees when true, the function calculates the angle in +degrees, otherwise, they are measured in radians. +*/ +CV_EXPORTS_W void phase(InputArray x, InputArray y, OutputArray angle, + bool angleInDegrees = false); + +/** @brief Calculates the magnitude of 2D vectors. + +The function cv::magnitude calculates the magnitude of 2D vectors formed +from the corresponding elements of x and y arrays: +\f[\texttt{dst} (I) = \sqrt{\texttt{x}(I)^2 + \texttt{y}(I)^2}\f] +@param x floating-point array of x-coordinates of the vectors. +@param y floating-point array of y-coordinates of the vectors; it must +have the same size as x. +@param magnitude output array of the same size and type as x. +@sa cartToPolar, polarToCart, phase, sqrt +*/ +CV_EXPORTS_W void magnitude(InputArray x, InputArray y, OutputArray magnitude); + +/** @brief Checks every element of an input array for invalid values. + +The function cv::checkRange checks that every array element is neither NaN nor infinite. When minVal \> +-DBL_MAX and maxVal \< DBL_MAX, the function also checks that each value is between minVal and +maxVal. In case of multi-channel arrays, each channel is processed independently. If some values +are out of range, position of the first outlier is stored in pos (when pos != NULL). Then, the +function either returns false (when quiet=true) or throws an exception. +@param a input array. +@param quiet a flag, indicating whether the functions quietly return false when the array elements +are out of range or they throw an exception. +@param pos optional output parameter, when not NULL, must be a pointer to array of src.dims +elements. +@param minVal inclusive lower boundary of valid values range. +@param maxVal exclusive upper boundary of valid values range. +*/ +CV_EXPORTS_W bool checkRange(InputArray a, bool quiet = true, CV_OUT Point* pos = 0, + double minVal = -DBL_MAX, double maxVal = DBL_MAX); + +/** @brief converts NaNs to the given number +@param a input/output matrix (CV_32F type). +@param val value to convert the NaNs +*/ +CV_EXPORTS_W void patchNaNs(InputOutputArray a, double val = 0); + +/** @brief Performs generalized matrix multiplication. + +The function cv::gemm performs generalized matrix multiplication similar to the +gemm functions in BLAS level 3. For example, +`gemm(src1, src2, alpha, src3, beta, dst, GEMM_1_T + GEMM_3_T)` +corresponds to +\f[\texttt{dst} = \texttt{alpha} \cdot \texttt{src1} ^T \cdot \texttt{src2} + \texttt{beta} \cdot \texttt{src3} ^T\f] + +In case of complex (two-channel) data, performed a complex matrix +multiplication. + +The function can be replaced with a matrix expression. For example, the +above call can be replaced with: +@code{.cpp} + dst = alpha*src1.t()*src2 + beta*src3.t(); +@endcode +@param src1 first multiplied input matrix that could be real(CV_32FC1, +CV_64FC1) or complex(CV_32FC2, CV_64FC2). +@param src2 second multiplied input matrix of the same type as src1. +@param alpha weight of the matrix product. +@param src3 third optional delta matrix added to the matrix product; it +should have the same type as src1 and src2. +@param beta weight of src3. +@param dst output matrix; it has the proper size and the same type as +input matrices. +@param flags operation flags (cv::GemmFlags) +@sa mulTransposed , transform +*/ +CV_EXPORTS_W void gemm(InputArray src1, InputArray src2, double alpha, + InputArray src3, double beta, OutputArray dst, int flags = 0); + +/** @brief Calculates the product of a matrix and its transposition. + +The function cv::mulTransposed calculates the product of src and its +transposition: +\f[\texttt{dst} = \texttt{scale} ( \texttt{src} - \texttt{delta} )^T ( \texttt{src} - \texttt{delta} )\f] +if aTa=true , and +\f[\texttt{dst} = \texttt{scale} ( \texttt{src} - \texttt{delta} ) ( \texttt{src} - \texttt{delta} )^T\f] +otherwise. The function is used to calculate the covariance matrix. With +zero delta, it can be used as a faster substitute for general matrix +product A\*B when B=A' +@param src input single-channel matrix. Note that unlike gemm, the +function can multiply not only floating-point matrices. +@param dst output square matrix. +@param aTa Flag specifying the multiplication ordering. See the +description below. +@param delta Optional delta matrix subtracted from src before the +multiplication. When the matrix is empty ( delta=noArray() ), it is +assumed to be zero, that is, nothing is subtracted. If it has the same +size as src , it is simply subtracted. Otherwise, it is "repeated" (see +repeat ) to cover the full src and then subtracted. Type of the delta +matrix, when it is not empty, must be the same as the type of created +output matrix. See the dtype parameter description below. +@param scale Optional scale factor for the matrix product. +@param dtype Optional type of the output matrix. When it is negative, +the output matrix will have the same type as src . Otherwise, it will be +type=CV_MAT_DEPTH(dtype) that should be either CV_32F or CV_64F . +@sa calcCovarMatrix, gemm, repeat, reduce +*/ +CV_EXPORTS_W void mulTransposed( InputArray src, OutputArray dst, bool aTa, + InputArray delta = noArray(), + double scale = 1, int dtype = -1 ); + +/** @brief Transposes a matrix. + +The function cv::transpose transposes the matrix src : +\f[\texttt{dst} (i,j) = \texttt{src} (j,i)\f] +@note No complex conjugation is done in case of a complex matrix. It +should be done separately if needed. +@param src input array. +@param dst output array of the same type as src. +*/ +CV_EXPORTS_W void transpose(InputArray src, OutputArray dst); + +/** @brief Transpose for n-dimensional matrices. + * + * @note Input should be continuous single-channel matrix. + * @param src input array. + * @param order a permutation of [0,1,..,N-1] where N is the number of axes of src. + * The i’th axis of dst will correspond to the axis numbered order[i] of the input. + * @param dst output array of the same type as src. + */ +CV_EXPORTS_W void transposeND(InputArray src, const std::vector& order, OutputArray dst); + +/** @brief Performs the matrix transformation of every array element. + +The function cv::transform performs the matrix transformation of every +element of the array src and stores the results in dst : +\f[\texttt{dst} (I) = \texttt{m} \cdot \texttt{src} (I)\f] +(when m.cols=src.channels() ), or +\f[\texttt{dst} (I) = \texttt{m} \cdot [ \texttt{src} (I); 1]\f] +(when m.cols=src.channels()+1 ) + +Every element of the N -channel array src is interpreted as N -element +vector that is transformed using the M x N or M x (N+1) matrix m to +M-element vector - the corresponding element of the output array dst . + +The function may be used for geometrical transformation of +N -dimensional points, arbitrary linear color space transformation (such +as various kinds of RGB to YUV transforms), shuffling the image +channels, and so forth. +@param src input array that must have as many channels (1 to 4) as +m.cols or m.cols-1. +@param dst output array of the same size and depth as src; it has as +many channels as m.rows. +@param m transformation 2x2 or 2x3 floating-point matrix. +@sa perspectiveTransform, getAffineTransform, estimateAffine2D, warpAffine, warpPerspective +*/ +CV_EXPORTS_W void transform(InputArray src, OutputArray dst, InputArray m ); + +/** @brief Performs the perspective matrix transformation of vectors. + +The function cv::perspectiveTransform transforms every element of src by +treating it as a 2D or 3D vector, in the following way: +\f[(x, y, z) \rightarrow (x'/w, y'/w, z'/w)\f] +where +\f[(x', y', z', w') = \texttt{mat} \cdot \begin{bmatrix} x & y & z & 1 \end{bmatrix}\f] +and +\f[w = \fork{w'}{if \(w' \ne 0\)}{\infty}{otherwise}\f] + +Here a 3D vector transformation is shown. In case of a 2D vector +transformation, the z component is omitted. + +@note The function transforms a sparse set of 2D or 3D vectors. If you +want to transform an image using perspective transformation, use +warpPerspective . If you have an inverse problem, that is, you want to +compute the most probable perspective transformation out of several +pairs of corresponding points, you can use getPerspectiveTransform or +findHomography . +@param src input two-channel or three-channel floating-point array; each +element is a 2D/3D vector to be transformed. +@param dst output array of the same size and type as src. +@param m 3x3 or 4x4 floating-point transformation matrix. +@sa transform, warpPerspective, getPerspectiveTransform, findHomography +*/ +CV_EXPORTS_W void perspectiveTransform(InputArray src, OutputArray dst, InputArray m ); + +/** @brief Copies the lower or the upper half of a square matrix to its another half. + +The function cv::completeSymm copies the lower or the upper half of a square matrix to +its another half. The matrix diagonal remains unchanged: + - \f$\texttt{m}_{ij}=\texttt{m}_{ji}\f$ for \f$i > j\f$ if + lowerToUpper=false + - \f$\texttt{m}_{ij}=\texttt{m}_{ji}\f$ for \f$i < j\f$ if + lowerToUpper=true + +@param m input-output floating-point square matrix. +@param lowerToUpper operation flag; if true, the lower half is copied to +the upper half. Otherwise, the upper half is copied to the lower half. +@sa flip, transpose +*/ +CV_EXPORTS_W void completeSymm(InputOutputArray m, bool lowerToUpper = false); + +/** @brief Initializes a scaled identity matrix. + +The function cv::setIdentity initializes a scaled identity matrix: +\f[\texttt{mtx} (i,j)= \fork{\texttt{value}}{ if \(i=j\)}{0}{otherwise}\f] + +The function can also be emulated using the matrix initializers and the +matrix expressions: +@code + Mat A = Mat::eye(4, 3, CV_32F)*5; + // A will be set to [[5, 0, 0], [0, 5, 0], [0, 0, 5], [0, 0, 0]] +@endcode +@param mtx matrix to initialize (not necessarily square). +@param s value to assign to diagonal elements. +@sa Mat::zeros, Mat::ones, Mat::setTo, Mat::operator= +*/ +CV_EXPORTS_W void setIdentity(InputOutputArray mtx, const Scalar& s = Scalar(1)); + +/** @brief Returns the determinant of a square floating-point matrix. + +The function cv::determinant calculates and returns the determinant of the +specified matrix. For small matrices ( mtx.cols=mtx.rows\<=3 ), the +direct method is used. For larger matrices, the function uses LU +factorization with partial pivoting. + +For symmetric positively-determined matrices, it is also possible to use +eigen decomposition to calculate the determinant. +@param mtx input matrix that must have CV_32FC1 or CV_64FC1 type and +square size. +@sa trace, invert, solve, eigen, @ref MatrixExpressions +*/ +CV_EXPORTS_W double determinant(InputArray mtx); + +/** @brief Returns the trace of a matrix. + +The function cv::trace returns the sum of the diagonal elements of the +matrix mtx . +\f[\mathrm{tr} ( \texttt{mtx} ) = \sum _i \texttt{mtx} (i,i)\f] +@param mtx input matrix. +*/ +CV_EXPORTS_W Scalar trace(InputArray mtx); + +/** @brief Finds the inverse or pseudo-inverse of a matrix. + +The function cv::invert inverts the matrix src and stores the result in dst +. When the matrix src is singular or non-square, the function calculates +the pseudo-inverse matrix (the dst matrix) so that norm(src\*dst - I) is +minimal, where I is an identity matrix. + +In case of the #DECOMP_LU method, the function returns non-zero value if +the inverse has been successfully calculated and 0 if src is singular. + +In case of the #DECOMP_SVD method, the function returns the inverse +condition number of src (the ratio of the smallest singular value to the +largest singular value) and 0 if src is singular. The SVD method +calculates a pseudo-inverse matrix if src is singular. + +Similarly to #DECOMP_LU, the method #DECOMP_CHOLESKY works only with +non-singular square matrices that should also be symmetrical and +positively defined. In this case, the function stores the inverted +matrix in dst and returns non-zero. Otherwise, it returns 0. + +@param src input floating-point M x N matrix. +@param dst output matrix of N x M size and the same type as src. +@param flags inversion method (cv::DecompTypes) +@sa solve, SVD +*/ +CV_EXPORTS_W double invert(InputArray src, OutputArray dst, int flags = DECOMP_LU); + +/** @brief Solves one or more linear systems or least-squares problems. + +The function cv::solve solves a linear system or least-squares problem (the +latter is possible with SVD or QR methods, or by specifying the flag +#DECOMP_NORMAL ): +\f[\texttt{dst} = \arg \min _X \| \texttt{src1} \cdot \texttt{X} - \texttt{src2} \|\f] + +If #DECOMP_LU or #DECOMP_CHOLESKY method is used, the function returns 1 +if src1 (or \f$\texttt{src1}^T\texttt{src1}\f$ ) is non-singular. Otherwise, +it returns 0. In the latter case, dst is not valid. Other methods find a +pseudo-solution in case of a singular left-hand side part. + +@note If you want to find a unity-norm solution of an under-defined +singular system \f$\texttt{src1}\cdot\texttt{dst}=0\f$ , the function solve +will not do the work. Use SVD::solveZ instead. + +@param src1 input matrix on the left-hand side of the system. +@param src2 input matrix on the right-hand side of the system. +@param dst output solution. +@param flags solution (matrix inversion) method (#DecompTypes) +@sa invert, SVD, eigen +*/ +CV_EXPORTS_W bool solve(InputArray src1, InputArray src2, + OutputArray dst, int flags = DECOMP_LU); + +/** @brief Sorts each row or each column of a matrix. + +The function cv::sort sorts each matrix row or each matrix column in +ascending or descending order. So you should pass two operation flags to +get desired behaviour. If you want to sort matrix rows or columns +lexicographically, you can use STL std::sort generic function with the +proper comparison predicate. + +@param src input single-channel array. +@param dst output array of the same size and type as src. +@param flags operation flags, a combination of #SortFlags +@sa sortIdx, randShuffle +*/ +CV_EXPORTS_W void sort(InputArray src, OutputArray dst, int flags); + +/** @brief Sorts each row or each column of a matrix. + +The function cv::sortIdx sorts each matrix row or each matrix column in the +ascending or descending order. So you should pass two operation flags to +get desired behaviour. Instead of reordering the elements themselves, it +stores the indices of sorted elements in the output array. For example: +@code + Mat A = Mat::eye(3,3,CV_32F), B; + sortIdx(A, B, SORT_EVERY_ROW + SORT_ASCENDING); + // B will probably contain + // (because of equal elements in A some permutations are possible): + // [[1, 2, 0], [0, 2, 1], [0, 1, 2]] +@endcode +@param src input single-channel array. +@param dst output integer array of the same size as src. +@param flags operation flags that could be a combination of cv::SortFlags +@sa sort, randShuffle +*/ +CV_EXPORTS_W void sortIdx(InputArray src, OutputArray dst, int flags); + +/** @brief Finds the real roots of a cubic equation. + +The function solveCubic finds the real roots of a cubic equation: +- if coeffs is a 4-element vector: +\f[\texttt{coeffs} [0] x^3 + \texttt{coeffs} [1] x^2 + \texttt{coeffs} [2] x + \texttt{coeffs} [3] = 0\f] +- if coeffs is a 3-element vector: +\f[x^3 + \texttt{coeffs} [0] x^2 + \texttt{coeffs} [1] x + \texttt{coeffs} [2] = 0\f] + +The roots are stored in the roots array. +@param coeffs equation coefficients, an array of 3 or 4 elements. +@param roots output array of real roots that has 1 or 3 elements. +@return number of real roots. It can be 0, 1 or 2. +*/ +CV_EXPORTS_W int solveCubic(InputArray coeffs, OutputArray roots); + +/** @brief Finds the real or complex roots of a polynomial equation. + +The function cv::solvePoly finds real and complex roots of a polynomial equation: +\f[\texttt{coeffs} [n] x^{n} + \texttt{coeffs} [n-1] x^{n-1} + ... + \texttt{coeffs} [1] x + \texttt{coeffs} [0] = 0\f] +@param coeffs array of polynomial coefficients. +@param roots output (complex) array of roots. +@param maxIters maximum number of iterations the algorithm does. +*/ +CV_EXPORTS_W double solvePoly(InputArray coeffs, OutputArray roots, int maxIters = 300); + +/** @brief Calculates eigenvalues and eigenvectors of a symmetric matrix. + +The function cv::eigen calculates just eigenvalues, or eigenvalues and eigenvectors of the symmetric +matrix src: +@code + src*eigenvectors.row(i).t() = eigenvalues.at(i)*eigenvectors.row(i).t() +@endcode + +@note Use cv::eigenNonSymmetric for calculation of real eigenvalues and eigenvectors of non-symmetric matrix. + +@param src input matrix that must have CV_32FC1 or CV_64FC1 type, square size and be symmetrical +(src ^T^ == src). +@param eigenvalues output vector of eigenvalues of the same type as src; the eigenvalues are stored +in the descending order. +@param eigenvectors output matrix of eigenvectors; it has the same size and type as src; the +eigenvectors are stored as subsequent matrix rows, in the same order as the corresponding +eigenvalues. +@sa eigenNonSymmetric, completeSymm , PCA +*/ +CV_EXPORTS_W bool eigen(InputArray src, OutputArray eigenvalues, + OutputArray eigenvectors = noArray()); + +/** @brief Calculates eigenvalues and eigenvectors of a non-symmetric matrix (real eigenvalues only). + +@note Assumes real eigenvalues. + +The function calculates eigenvalues and eigenvectors (optional) of the square matrix src: +@code + src*eigenvectors.row(i).t() = eigenvalues.at(i)*eigenvectors.row(i).t() +@endcode + +@param src input matrix (CV_32FC1 or CV_64FC1 type). +@param eigenvalues output vector of eigenvalues (type is the same type as src). +@param eigenvectors output matrix of eigenvectors (type is the same type as src). The eigenvectors are stored as subsequent matrix rows, in the same order as the corresponding eigenvalues. +@sa eigen +*/ +CV_EXPORTS_W void eigenNonSymmetric(InputArray src, OutputArray eigenvalues, + OutputArray eigenvectors); + +/** @brief Calculates the covariance matrix of a set of vectors. + +The function cv::calcCovarMatrix calculates the covariance matrix and, optionally, the mean vector of +the set of input vectors. +@param samples samples stored as separate matrices +@param nsamples number of samples +@param covar output covariance matrix of the type ctype and square size. +@param mean input or output (depending on the flags) array as the average value of the input vectors. +@param flags operation flags as a combination of #CovarFlags +@param ctype type of the matrixl; it equals 'CV_64F' by default. +@sa PCA, mulTransposed, Mahalanobis +@todo InputArrayOfArrays +*/ +CV_EXPORTS void calcCovarMatrix( const Mat* samples, int nsamples, Mat& covar, Mat& mean, + int flags, int ctype = CV_64F); + +/** @overload +@note use #COVAR_ROWS or #COVAR_COLS flag +@param samples samples stored as rows/columns of a single matrix. +@param covar output covariance matrix of the type ctype and square size. +@param mean input or output (depending on the flags) array as the average value of the input vectors. +@param flags operation flags as a combination of #CovarFlags +@param ctype type of the matrixl; it equals 'CV_64F' by default. +*/ +CV_EXPORTS_W void calcCovarMatrix( InputArray samples, OutputArray covar, + InputOutputArray mean, int flags, int ctype = CV_64F); + +/** wrap PCA::operator() */ +CV_EXPORTS_W void PCACompute(InputArray data, InputOutputArray mean, + OutputArray eigenvectors, int maxComponents = 0); + +/** wrap PCA::operator() and add eigenvalues output parameter */ +CV_EXPORTS_AS(PCACompute2) void PCACompute(InputArray data, InputOutputArray mean, + OutputArray eigenvectors, OutputArray eigenvalues, + int maxComponents = 0); + +/** wrap PCA::operator() */ +CV_EXPORTS_W void PCACompute(InputArray data, InputOutputArray mean, + OutputArray eigenvectors, double retainedVariance); + +/** wrap PCA::operator() and add eigenvalues output parameter */ +CV_EXPORTS_AS(PCACompute2) void PCACompute(InputArray data, InputOutputArray mean, + OutputArray eigenvectors, OutputArray eigenvalues, + double retainedVariance); + +/** wrap PCA::project */ +CV_EXPORTS_W void PCAProject(InputArray data, InputArray mean, + InputArray eigenvectors, OutputArray result); + +/** wrap PCA::backProject */ +CV_EXPORTS_W void PCABackProject(InputArray data, InputArray mean, + InputArray eigenvectors, OutputArray result); + +/** wrap SVD::compute */ +CV_EXPORTS_W void SVDecomp( InputArray src, OutputArray w, OutputArray u, OutputArray vt, int flags = 0 ); + +/** wrap SVD::backSubst */ +CV_EXPORTS_W void SVBackSubst( InputArray w, InputArray u, InputArray vt, + InputArray rhs, OutputArray dst ); + +/** @brief Calculates the Mahalanobis distance between two vectors. + +The function cv::Mahalanobis calculates and returns the weighted distance between two vectors: +\f[d( \texttt{vec1} , \texttt{vec2} )= \sqrt{\sum_{i,j}{\texttt{icovar(i,j)}\cdot(\texttt{vec1}(I)-\texttt{vec2}(I))\cdot(\texttt{vec1(j)}-\texttt{vec2(j)})} }\f] +The covariance matrix may be calculated using the #calcCovarMatrix function and then inverted using +the invert function (preferably using the #DECOMP_SVD method, as the most accurate). +@param v1 first 1D input vector. +@param v2 second 1D input vector. +@param icovar inverse covariance matrix. +*/ +CV_EXPORTS_W double Mahalanobis(InputArray v1, InputArray v2, InputArray icovar); + +/** @brief Performs a forward or inverse Discrete Fourier transform of a 1D or 2D floating-point array. + +The function cv::dft performs one of the following: +- Forward the Fourier transform of a 1D vector of N elements: + \f[Y = F^{(N)} \cdot X,\f] + where \f$F^{(N)}_{jk}=\exp(-2\pi i j k/N)\f$ and \f$i=\sqrt{-1}\f$ +- Inverse the Fourier transform of a 1D vector of N elements: + \f[\begin{array}{l} X'= \left (F^{(N)} \right )^{-1} \cdot Y = \left (F^{(N)} \right )^* \cdot y \\ X = (1/N) \cdot X, \end{array}\f] + where \f$F^*=\left(\textrm{Re}(F^{(N)})-\textrm{Im}(F^{(N)})\right)^T\f$ +- Forward the 2D Fourier transform of a M x N matrix: + \f[Y = F^{(M)} \cdot X \cdot F^{(N)}\f] +- Inverse the 2D Fourier transform of a M x N matrix: + \f[\begin{array}{l} X'= \left (F^{(M)} \right )^* \cdot Y \cdot \left (F^{(N)} \right )^* \\ X = \frac{1}{M \cdot N} \cdot X' \end{array}\f] + +In case of real (single-channel) data, the output spectrum of the forward Fourier transform or input +spectrum of the inverse Fourier transform can be represented in a packed format called *CCS* +(complex-conjugate-symmetrical). It was borrowed from IPL (Intel\* Image Processing Library). Here +is how 2D *CCS* spectrum looks: +\f[\begin{bmatrix} Re Y_{0,0} & Re Y_{0,1} & Im Y_{0,1} & Re Y_{0,2} & Im Y_{0,2} & \cdots & Re Y_{0,N/2-1} & Im Y_{0,N/2-1} & Re Y_{0,N/2} \\ Re Y_{1,0} & Re Y_{1,1} & Im Y_{1,1} & Re Y_{1,2} & Im Y_{1,2} & \cdots & Re Y_{1,N/2-1} & Im Y_{1,N/2-1} & Re Y_{1,N/2} \\ Im Y_{1,0} & Re Y_{2,1} & Im Y_{2,1} & Re Y_{2,2} & Im Y_{2,2} & \cdots & Re Y_{2,N/2-1} & Im Y_{2,N/2-1} & Im Y_{1,N/2} \\ \hdotsfor{9} \\ Re Y_{M/2-1,0} & Re Y_{M-3,1} & Im Y_{M-3,1} & \hdotsfor{3} & Re Y_{M-3,N/2-1} & Im Y_{M-3,N/2-1}& Re Y_{M/2-1,N/2} \\ Im Y_{M/2-1,0} & Re Y_{M-2,1} & Im Y_{M-2,1} & \hdotsfor{3} & Re Y_{M-2,N/2-1} & Im Y_{M-2,N/2-1}& Im Y_{M/2-1,N/2} \\ Re Y_{M/2,0} & Re Y_{M-1,1} & Im Y_{M-1,1} & \hdotsfor{3} & Re Y_{M-1,N/2-1} & Im Y_{M-1,N/2-1}& Re Y_{M/2,N/2} \end{bmatrix}\f] + +In case of 1D transform of a real vector, the output looks like the first row of the matrix above. + +So, the function chooses an operation mode depending on the flags and size of the input array: +- If #DFT_ROWS is set or the input array has a single row or single column, the function + performs a 1D forward or inverse transform of each row of a matrix when #DFT_ROWS is set. + Otherwise, it performs a 2D transform. +- If the input array is real and #DFT_INVERSE is not set, the function performs a forward 1D or + 2D transform: + - When #DFT_COMPLEX_OUTPUT is set, the output is a complex matrix of the same size as + input. + - When #DFT_COMPLEX_OUTPUT is not set, the output is a real matrix of the same size as + input. In case of 2D transform, it uses the packed format as shown above. In case of a + single 1D transform, it looks like the first row of the matrix above. In case of + multiple 1D transforms (when using the #DFT_ROWS flag), each row of the output matrix + looks like the first row of the matrix above. +- If the input array is complex and either #DFT_INVERSE or #DFT_REAL_OUTPUT are not set, the + output is a complex array of the same size as input. The function performs a forward or + inverse 1D or 2D transform of the whole input array or each row of the input array + independently, depending on the flags DFT_INVERSE and DFT_ROWS. +- When #DFT_INVERSE is set and the input array is real, or it is complex but #DFT_REAL_OUTPUT + is set, the output is a real array of the same size as input. The function performs a 1D or 2D + inverse transformation of the whole input array or each individual row, depending on the flags + #DFT_INVERSE and #DFT_ROWS. + +If #DFT_SCALE is set, the scaling is done after the transformation. + +Unlike dct , the function supports arrays of arbitrary size. But only those arrays are processed +efficiently, whose sizes can be factorized in a product of small prime numbers (2, 3, and 5 in the +current implementation). Such an efficient DFT size can be calculated using the getOptimalDFTSize +method. + +The sample below illustrates how to calculate a DFT-based convolution of two 2D real arrays: +@code + void convolveDFT(InputArray A, InputArray B, OutputArray C) + { + // reallocate the output array if needed + C.create(abs(A.rows - B.rows)+1, abs(A.cols - B.cols)+1, A.type()); + Size dftSize; + // calculate the size of DFT transform + dftSize.width = getOptimalDFTSize(A.cols + B.cols - 1); + dftSize.height = getOptimalDFTSize(A.rows + B.rows - 1); + + // allocate temporary buffers and initialize them with 0's + Mat tempA(dftSize, A.type(), Scalar::all(0)); + Mat tempB(dftSize, B.type(), Scalar::all(0)); + + // copy A and B to the top-left corners of tempA and tempB, respectively + Mat roiA(tempA, Rect(0,0,A.cols,A.rows)); + A.copyTo(roiA); + Mat roiB(tempB, Rect(0,0,B.cols,B.rows)); + B.copyTo(roiB); + + // now transform the padded A & B in-place; + // use "nonzeroRows" hint for faster processing + dft(tempA, tempA, 0, A.rows); + dft(tempB, tempB, 0, B.rows); + + // multiply the spectrums; + // the function handles packed spectrum representations well + mulSpectrums(tempA, tempB, tempA); + + // transform the product back from the frequency domain. + // Even though all the result rows will be non-zero, + // you need only the first C.rows of them, and thus you + // pass nonzeroRows == C.rows + dft(tempA, tempA, DFT_INVERSE + DFT_SCALE, C.rows); + + // now copy the result back to C. + tempA(Rect(0, 0, C.cols, C.rows)).copyTo(C); + + // all the temporary buffers will be deallocated automatically + } +@endcode +To optimize this sample, consider the following approaches: +- Since nonzeroRows != 0 is passed to the forward transform calls and since A and B are copied to + the top-left corners of tempA and tempB, respectively, it is not necessary to clear the whole + tempA and tempB. It is only necessary to clear the tempA.cols - A.cols ( tempB.cols - B.cols) + rightmost columns of the matrices. +- This DFT-based convolution does not have to be applied to the whole big arrays, especially if B + is significantly smaller than A or vice versa. Instead, you can calculate convolution by parts. + To do this, you need to split the output array C into multiple tiles. For each tile, estimate + which parts of A and B are required to calculate convolution in this tile. If the tiles in C are + too small, the speed will decrease a lot because of repeated work. In the ultimate case, when + each tile in C is a single pixel, the algorithm becomes equivalent to the naive convolution + algorithm. If the tiles are too big, the temporary arrays tempA and tempB become too big and + there is also a slowdown because of bad cache locality. So, there is an optimal tile size + somewhere in the middle. +- If different tiles in C can be calculated in parallel and, thus, the convolution is done by + parts, the loop can be threaded. + +All of the above improvements have been implemented in #matchTemplate and #filter2D . Therefore, by +using them, you can get the performance even better than with the above theoretically optimal +implementation. Though, those two functions actually calculate cross-correlation, not convolution, +so you need to "flip" the second convolution operand B vertically and horizontally using flip . +@note +- An example using the discrete fourier transform can be found at + opencv_source_code/samples/cpp/dft.cpp +- (Python) An example using the dft functionality to perform Wiener deconvolution can be found + at opencv_source/samples/python/deconvolution.py +- (Python) An example rearranging the quadrants of a Fourier image can be found at + opencv_source/samples/python/dft.py +@param src input array that could be real or complex. +@param dst output array whose size and type depends on the flags . +@param flags transformation flags, representing a combination of the #DftFlags +@param nonzeroRows when the parameter is not zero, the function assumes that only the first +nonzeroRows rows of the input array (#DFT_INVERSE is not set) or only the first nonzeroRows of the +output array (#DFT_INVERSE is set) contain non-zeros, thus, the function can handle the rest of the +rows more efficiently and save some time; this technique is very useful for calculating array +cross-correlation or convolution using DFT. +@sa dct , getOptimalDFTSize , mulSpectrums, filter2D , matchTemplate , flip , cartToPolar , +magnitude , phase +*/ +CV_EXPORTS_W void dft(InputArray src, OutputArray dst, int flags = 0, int nonzeroRows = 0); + +/** @brief Calculates the inverse Discrete Fourier Transform of a 1D or 2D array. + +idft(src, dst, flags) is equivalent to dft(src, dst, flags | #DFT_INVERSE) . +@note None of dft and idft scales the result by default. So, you should pass #DFT_SCALE to one of +dft or idft explicitly to make these transforms mutually inverse. +@sa dft, dct, idct, mulSpectrums, getOptimalDFTSize +@param src input floating-point real or complex array. +@param dst output array whose size and type depend on the flags. +@param flags operation flags (see dft and #DftFlags). +@param nonzeroRows number of dst rows to process; the rest of the rows have undefined content (see +the convolution sample in dft description. +*/ +CV_EXPORTS_W void idft(InputArray src, OutputArray dst, int flags = 0, int nonzeroRows = 0); + +/** @brief Performs a forward or inverse discrete Cosine transform of 1D or 2D array. + +The function cv::dct performs a forward or inverse discrete Cosine transform (DCT) of a 1D or 2D +floating-point array: +- Forward Cosine transform of a 1D vector of N elements: + \f[Y = C^{(N)} \cdot X\f] + where + \f[C^{(N)}_{jk}= \sqrt{\alpha_j/N} \cos \left ( \frac{\pi(2k+1)j}{2N} \right )\f] + and + \f$\alpha_0=1\f$, \f$\alpha_j=2\f$ for *j \> 0*. +- Inverse Cosine transform of a 1D vector of N elements: + \f[X = \left (C^{(N)} \right )^{-1} \cdot Y = \left (C^{(N)} \right )^T \cdot Y\f] + (since \f$C^{(N)}\f$ is an orthogonal matrix, \f$C^{(N)} \cdot \left(C^{(N)}\right)^T = I\f$ ) +- Forward 2D Cosine transform of M x N matrix: + \f[Y = C^{(N)} \cdot X \cdot \left (C^{(N)} \right )^T\f] +- Inverse 2D Cosine transform of M x N matrix: + \f[X = \left (C^{(N)} \right )^T \cdot X \cdot C^{(N)}\f] + +The function chooses the mode of operation by looking at the flags and size of the input array: +- If (flags & #DCT_INVERSE) == 0 , the function does a forward 1D or 2D transform. Otherwise, it + is an inverse 1D or 2D transform. +- If (flags & #DCT_ROWS) != 0 , the function performs a 1D transform of each row. +- If the array is a single column or a single row, the function performs a 1D transform. +- If none of the above is true, the function performs a 2D transform. + +@note Currently dct supports even-size arrays (2, 4, 6 ...). For data analysis and approximation, you +can pad the array when necessary. +Also, the function performance depends very much, and not monotonically, on the array size (see +getOptimalDFTSize ). In the current implementation DCT of a vector of size N is calculated via DFT +of a vector of size N/2 . Thus, the optimal DCT size N1 \>= N can be calculated as: +@code + size_t getOptimalDCTSize(size_t N) { return 2*getOptimalDFTSize((N+1)/2); } + N1 = getOptimalDCTSize(N); +@endcode +@param src input floating-point array. +@param dst output array of the same size and type as src . +@param flags transformation flags as a combination of cv::DftFlags (DCT_*) +@sa dft , getOptimalDFTSize , idct +*/ +CV_EXPORTS_W void dct(InputArray src, OutputArray dst, int flags = 0); + +/** @brief Calculates the inverse Discrete Cosine Transform of a 1D or 2D array. + +idct(src, dst, flags) is equivalent to dct(src, dst, flags | DCT_INVERSE). +@param src input floating-point single-channel array. +@param dst output array of the same size and type as src. +@param flags operation flags. +@sa dct, dft, idft, getOptimalDFTSize +*/ +CV_EXPORTS_W void idct(InputArray src, OutputArray dst, int flags = 0); + +/** @brief Performs the per-element multiplication of two Fourier spectrums. + +The function cv::mulSpectrums performs the per-element multiplication of the two CCS-packed or complex +matrices that are results of a real or complex Fourier transform. + +The function, together with dft and idft , may be used to calculate convolution (pass conjB=false ) +or correlation (pass conjB=true ) of two arrays rapidly. When the arrays are complex, they are +simply multiplied (per element) with an optional conjugation of the second-array elements. When the +arrays are real, they are assumed to be CCS-packed (see dft for details). +@param a first input array. +@param b second input array of the same size and type as src1 . +@param c output array of the same size and type as src1 . +@param flags operation flags; currently, the only supported flag is cv::DFT_ROWS, which indicates that +each row of src1 and src2 is an independent 1D Fourier spectrum. If you do not want to use this flag, then simply add a `0` as value. +@param conjB optional flag that conjugates the second input array before the multiplication (true) +or not (false). +*/ +CV_EXPORTS_W void mulSpectrums(InputArray a, InputArray b, OutputArray c, + int flags, bool conjB = false); + +/** @brief Returns the optimal DFT size for a given vector size. + +DFT performance is not a monotonic function of a vector size. Therefore, when you calculate +convolution of two arrays or perform the spectral analysis of an array, it usually makes sense to +pad the input data with zeros to get a bit larger array that can be transformed much faster than the +original one. Arrays whose size is a power-of-two (2, 4, 8, 16, 32, ...) are the fastest to process. +Though, the arrays whose size is a product of 2's, 3's, and 5's (for example, 300 = 5\*5\*3\*2\*2) +are also processed quite efficiently. + +The function cv::getOptimalDFTSize returns the minimum number N that is greater than or equal to vecsize +so that the DFT of a vector of size N can be processed efficiently. In the current implementation N += 2 ^p^ \* 3 ^q^ \* 5 ^r^ for some integer p, q, r. + +The function returns a negative number if vecsize is too large (very close to INT_MAX ). + +While the function cannot be used directly to estimate the optimal vector size for DCT transform +(since the current DCT implementation supports only even-size vectors), it can be easily processed +as getOptimalDFTSize((vecsize+1)/2)\*2. +@param vecsize vector size. +@sa dft , dct , idft , idct , mulSpectrums +*/ +CV_EXPORTS_W int getOptimalDFTSize(int vecsize); + +/** @brief Returns the default random number generator. + +The function cv::theRNG returns the default random number generator. For each thread, there is a +separate random number generator, so you can use the function safely in multi-thread environments. +If you just need to get a single random number using this generator or initialize an array, you can +use randu or randn instead. But if you are going to generate many random numbers inside a loop, it +is much faster to use this function to retrieve the generator and then use RNG::operator _Tp() . +@sa RNG, randu, randn +*/ +CV_EXPORTS RNG& theRNG(); + +/** @brief Sets state of default random number generator. + +The function cv::setRNGSeed sets state of default random number generator to custom value. +@param seed new state for default random number generator +@sa RNG, randu, randn +*/ +CV_EXPORTS_W void setRNGSeed(int seed); + +/** @brief Generates a single uniformly-distributed random number or an array of random numbers. + +Non-template variant of the function fills the matrix dst with uniformly-distributed +random numbers from the specified range: +\f[\texttt{low} _c \leq \texttt{dst} (I)_c < \texttt{high} _c\f] +@param dst output array of random numbers; the array must be pre-allocated. +@param low inclusive lower boundary of the generated random numbers. +@param high exclusive upper boundary of the generated random numbers. +@sa RNG, randn, theRNG +*/ +CV_EXPORTS_W void randu(InputOutputArray dst, InputArray low, InputArray high); + +/** @brief Fills the array with normally distributed random numbers. + +The function cv::randn fills the matrix dst with normally distributed random numbers with the specified +mean vector and the standard deviation matrix. The generated random numbers are clipped to fit the +value range of the output array data type. +@param dst output array of random numbers; the array must be pre-allocated and have 1 to 4 channels. +@param mean mean value (expectation) of the generated random numbers. +@param stddev standard deviation of the generated random numbers; it can be either a vector (in +which case a diagonal standard deviation matrix is assumed) or a square matrix. +@sa RNG, randu +*/ +CV_EXPORTS_W void randn(InputOutputArray dst, InputArray mean, InputArray stddev); + +/** @brief Shuffles the array elements randomly. + +The function cv::randShuffle shuffles the specified 1D array by randomly choosing pairs of elements and +swapping them. The number of such swap operations will be dst.rows\*dst.cols\*iterFactor . +@param dst input/output numerical 1D array. +@param iterFactor scale factor that determines the number of random swap operations (see the details +below). +@param rng optional random number generator used for shuffling; if it is zero, theRNG () is used +instead. +@sa RNG, sort +*/ +CV_EXPORTS_W void randShuffle(InputOutputArray dst, double iterFactor = 1., RNG* rng = 0); + +/** @brief Principal Component Analysis + +The class is used to calculate a special basis for a set of vectors. The +basis will consist of eigenvectors of the covariance matrix calculated +from the input set of vectors. The class %PCA can also transform +vectors to/from the new coordinate space defined by the basis. Usually, +in this new coordinate system, each vector from the original set (and +any linear combination of such vectors) can be quite accurately +approximated by taking its first few components, corresponding to the +eigenvectors of the largest eigenvalues of the covariance matrix. +Geometrically it means that you calculate a projection of the vector to +a subspace formed by a few eigenvectors corresponding to the dominant +eigenvalues of the covariance matrix. And usually such a projection is +very close to the original vector. So, you can represent the original +vector from a high-dimensional space with a much shorter vector +consisting of the projected vector's coordinates in the subspace. Such a +transformation is also known as Karhunen-Loeve Transform, or KLT. +See http://en.wikipedia.org/wiki/Principal_component_analysis + +The sample below is the function that takes two matrices. The first +function stores a set of vectors (a row per vector) that is used to +calculate PCA. The second function stores another "test" set of vectors +(a row per vector). First, these vectors are compressed with PCA, then +reconstructed back, and then the reconstruction error norm is computed +and printed for each vector. : + +@code{.cpp} +using namespace cv; + +PCA compressPCA(const Mat& pcaset, int maxComponents, + const Mat& testset, Mat& compressed) +{ + PCA pca(pcaset, // pass the data + Mat(), // we do not have a pre-computed mean vector, + // so let the PCA engine to compute it + PCA::DATA_AS_ROW, // indicate that the vectors + // are stored as matrix rows + // (use PCA::DATA_AS_COL if the vectors are + // the matrix columns) + maxComponents // specify, how many principal components to retain + ); + // if there is no test data, just return the computed basis, ready-to-use + if( !testset.data ) + return pca; + CV_Assert( testset.cols == pcaset.cols ); + + compressed.create(testset.rows, maxComponents, testset.type()); + + Mat reconstructed; + for( int i = 0; i < testset.rows; i++ ) + { + Mat vec = testset.row(i), coeffs = compressed.row(i), reconstructed; + // compress the vector, the result will be stored + // in the i-th row of the output matrix + pca.project(vec, coeffs); + // and then reconstruct it + pca.backProject(coeffs, reconstructed); + // and measure the error + printf("%d. diff = %g\n", i, norm(vec, reconstructed, NORM_L2)); + } + return pca; +} +@endcode +@sa calcCovarMatrix, mulTransposed, SVD, dft, dct +*/ +class CV_EXPORTS PCA +{ +public: + enum Flags { DATA_AS_ROW = 0, //!< indicates that the input samples are stored as matrix rows + DATA_AS_COL = 1, //!< indicates that the input samples are stored as matrix columns + USE_AVG = 2 //! + }; + + /** @brief default constructor + + The default constructor initializes an empty %PCA structure. The other + constructors initialize the structure and call PCA::operator()(). + */ + PCA(); + + /** @overload + @param data input samples stored as matrix rows or matrix columns. + @param mean optional mean value; if the matrix is empty (@c noArray()), + the mean is computed from the data. + @param flags operation flags; currently the parameter is only used to + specify the data layout (PCA::Flags) + @param maxComponents maximum number of components that %PCA should + retain; by default, all the components are retained. + */ + PCA(InputArray data, InputArray mean, int flags, int maxComponents = 0); + + /** @overload + @param data input samples stored as matrix rows or matrix columns. + @param mean optional mean value; if the matrix is empty (noArray()), + the mean is computed from the data. + @param flags operation flags; currently the parameter is only used to + specify the data layout (PCA::Flags) + @param retainedVariance Percentage of variance that PCA should retain. + Using this parameter will let the PCA decided how many components to + retain but it will always keep at least 2. + */ + PCA(InputArray data, InputArray mean, int flags, double retainedVariance); + + /** @brief performs %PCA + + The operator performs %PCA of the supplied dataset. It is safe to reuse + the same PCA structure for multiple datasets. That is, if the structure + has been previously used with another dataset, the existing internal + data is reclaimed and the new @ref eigenvalues, @ref eigenvectors and @ref + mean are allocated and computed. + + The computed @ref eigenvalues are sorted from the largest to the smallest and + the corresponding @ref eigenvectors are stored as eigenvectors rows. + + @param data input samples stored as the matrix rows or as the matrix + columns. + @param mean optional mean value; if the matrix is empty (noArray()), + the mean is computed from the data. + @param flags operation flags; currently the parameter is only used to + specify the data layout. (Flags) + @param maxComponents maximum number of components that PCA should + retain; by default, all the components are retained. + */ + PCA& operator()(InputArray data, InputArray mean, int flags, int maxComponents = 0); + + /** @overload + @param data input samples stored as the matrix rows or as the matrix + columns. + @param mean optional mean value; if the matrix is empty (noArray()), + the mean is computed from the data. + @param flags operation flags; currently the parameter is only used to + specify the data layout. (PCA::Flags) + @param retainedVariance Percentage of variance that %PCA should retain. + Using this parameter will let the %PCA decided how many components to + retain but it will always keep at least 2. + */ + PCA& operator()(InputArray data, InputArray mean, int flags, double retainedVariance); + + /** @brief Projects vector(s) to the principal component subspace. + + The methods project one or more vectors to the principal component + subspace, where each vector projection is represented by coefficients in + the principal component basis. The first form of the method returns the + matrix that the second form writes to the result. So the first form can + be used as a part of expression while the second form can be more + efficient in a processing loop. + @param vec input vector(s); must have the same dimensionality and the + same layout as the input data used at %PCA phase, that is, if + DATA_AS_ROW are specified, then `vec.cols==data.cols` + (vector dimensionality) and `vec.rows` is the number of vectors to + project, and the same is true for the PCA::DATA_AS_COL case. + */ + Mat project(InputArray vec) const; + + /** @overload + @param vec input vector(s); must have the same dimensionality and the + same layout as the input data used at PCA phase, that is, if + DATA_AS_ROW are specified, then `vec.cols==data.cols` + (vector dimensionality) and `vec.rows` is the number of vectors to + project, and the same is true for the PCA::DATA_AS_COL case. + @param result output vectors; in case of PCA::DATA_AS_COL, the + output matrix has as many columns as the number of input vectors, this + means that `result.cols==vec.cols` and the number of rows match the + number of principal components (for example, `maxComponents` parameter + passed to the constructor). + */ + void project(InputArray vec, OutputArray result) const; + + /** @brief Reconstructs vectors from their PC projections. + + The methods are inverse operations to PCA::project. They take PC + coordinates of projected vectors and reconstruct the original vectors. + Unless all the principal components have been retained, the + reconstructed vectors are different from the originals. But typically, + the difference is small if the number of components is large enough (but + still much smaller than the original vector dimensionality). As a + result, PCA is used. + @param vec coordinates of the vectors in the principal component + subspace, the layout and size are the same as of PCA::project output + vectors. + */ + Mat backProject(InputArray vec) const; + + /** @overload + @param vec coordinates of the vectors in the principal component + subspace, the layout and size are the same as of PCA::project output + vectors. + @param result reconstructed vectors; the layout and size are the same as + of PCA::project input vectors. + */ + void backProject(InputArray vec, OutputArray result) const; + + /** @brief write PCA objects + + Writes @ref eigenvalues @ref eigenvectors and @ref mean to specified FileStorage + */ + void write(FileStorage& fs) const; + + /** @brief load PCA objects + + Loads @ref eigenvalues @ref eigenvectors and @ref mean from specified FileNode + */ + void read(const FileNode& fn); + + Mat eigenvectors; //!< eigenvectors of the covariation matrix + Mat eigenvalues; //!< eigenvalues of the covariation matrix + Mat mean; //!< mean value subtracted before the projection and added after the back projection +}; + +/** @example samples/cpp/pca.cpp +An example using %PCA for dimensionality reduction while maintaining an amount of variance +*/ + +/** @example samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp +Check @ref tutorial_introduction_to_pca "the corresponding tutorial" for more details +*/ + +/** +@brief Linear Discriminant Analysis +@todo document this class +*/ +class CV_EXPORTS LDA +{ +public: + /** @brief constructor + Initializes a LDA with num_components (default 0). + */ + explicit LDA(int num_components = 0); + + /** Initializes and performs a Discriminant Analysis with Fisher's + Optimization Criterion on given data in src and corresponding labels + in labels. If 0 (or less) number of components are given, they are + automatically determined for given data in computation. + */ + LDA(InputArrayOfArrays src, InputArray labels, int num_components = 0); + + /** Serializes this object to a given filename. + */ + void save(const String& filename) const; + + /** Deserializes this object from a given filename. + */ + void load(const String& filename); + + /** Serializes this object to a given cv::FileStorage. + */ + void save(FileStorage& fs) const; + + /** Deserializes this object from a given cv::FileStorage. + */ + void load(const FileStorage& node); + + /** destructor + */ + ~LDA(); + + /** Compute the discriminants for data in src (row aligned) and labels. + */ + void compute(InputArrayOfArrays src, InputArray labels); + + /** Projects samples into the LDA subspace. + src may be one or more row aligned samples. + */ + Mat project(InputArray src); + + /** Reconstructs projections from the LDA subspace. + src may be one or more row aligned projections. + */ + Mat reconstruct(InputArray src); + + /** Returns the eigenvectors of this LDA. + */ + Mat eigenvectors() const { return _eigenvectors; } + + /** Returns the eigenvalues of this LDA. + */ + Mat eigenvalues() const { return _eigenvalues; } + + static Mat subspaceProject(InputArray W, InputArray mean, InputArray src); + static Mat subspaceReconstruct(InputArray W, InputArray mean, InputArray src); + +protected: + int _num_components; + Mat _eigenvectors; + Mat _eigenvalues; + void lda(InputArrayOfArrays src, InputArray labels); +}; + +/** @brief Singular Value Decomposition + +Class for computing Singular Value Decomposition of a floating-point +matrix. The Singular Value Decomposition is used to solve least-square +problems, under-determined linear systems, invert matrices, compute +condition numbers, and so on. + +If you want to compute a condition number of a matrix or an absolute value of +its determinant, you do not need `u` and `vt`. You can pass +flags=SVD::NO_UV|... . Another flag SVD::FULL_UV indicates that full-size u +and vt must be computed, which is not necessary most of the time. + +@sa invert, solve, eigen, determinant +*/ +class CV_EXPORTS SVD +{ +public: + enum Flags { + /** allow the algorithm to modify the decomposed matrix; it can save space and speed up + processing. currently ignored. */ + MODIFY_A = 1, + /** indicates that only a vector of singular values `w` is to be processed, while u and vt + will be set to empty matrices */ + NO_UV = 2, + /** when the matrix is not square, by default the algorithm produces u and vt matrices of + sufficiently large size for the further A reconstruction; if, however, FULL_UV flag is + specified, u and vt will be full-size square orthogonal matrices.*/ + FULL_UV = 4 + }; + + /** @brief the default constructor + + initializes an empty SVD structure + */ + SVD(); + + /** @overload + initializes an empty SVD structure and then calls SVD::operator() + @param src decomposed matrix. The depth has to be CV_32F or CV_64F. + @param flags operation flags (SVD::Flags) + */ + SVD( InputArray src, int flags = 0 ); + + /** @brief the operator that performs SVD. The previously allocated u, w and vt are released. + + The operator performs the singular value decomposition of the supplied + matrix. The u,`vt` , and the vector of singular values w are stored in + the structure. The same SVD structure can be reused many times with + different matrices. Each time, if needed, the previous u,`vt` , and w + are reclaimed and the new matrices are created, which is all handled by + Mat::create. + @param src decomposed matrix. The depth has to be CV_32F or CV_64F. + @param flags operation flags (SVD::Flags) + */ + SVD& operator ()( InputArray src, int flags = 0 ); + + /** @brief decomposes matrix and stores the results to user-provided matrices + + The methods/functions perform SVD of matrix. Unlike SVD::SVD constructor + and SVD::operator(), they store the results to the user-provided + matrices: + + @code{.cpp} + Mat A, w, u, vt; + SVD::compute(A, w, u, vt); + @endcode + + @param src decomposed matrix. The depth has to be CV_32F or CV_64F. + @param w calculated singular values + @param u calculated left singular vectors + @param vt transposed matrix of right singular vectors + @param flags operation flags - see SVD::Flags. + */ + static void compute( InputArray src, OutputArray w, + OutputArray u, OutputArray vt, int flags = 0 ); + + /** @overload + computes singular values of a matrix + @param src decomposed matrix. The depth has to be CV_32F or CV_64F. + @param w calculated singular values + @param flags operation flags - see SVD::Flags. + */ + static void compute( InputArray src, OutputArray w, int flags = 0 ); + + /** @brief performs back substitution + */ + static void backSubst( InputArray w, InputArray u, + InputArray vt, InputArray rhs, + OutputArray dst ); + + /** @brief solves an under-determined singular linear system + + The method finds a unit-length solution x of a singular linear system + A\*x = 0. Depending on the rank of A, there can be no solutions, a + single solution or an infinite number of solutions. In general, the + algorithm solves the following problem: + \f[dst = \arg \min _{x: \| x \| =1} \| src \cdot x \|\f] + @param src left-hand-side matrix. + @param dst found solution. + */ + static void solveZ( InputArray src, OutputArray dst ); + + /** @brief performs a singular value back substitution. + + The method calculates a back substitution for the specified right-hand + side: + + \f[\texttt{x} = \texttt{vt} ^T \cdot diag( \texttt{w} )^{-1} \cdot \texttt{u} ^T \cdot \texttt{rhs} \sim \texttt{A} ^{-1} \cdot \texttt{rhs}\f] + + Using this technique you can either get a very accurate solution of the + convenient linear system, or the best (in the least-squares terms) + pseudo-solution of an overdetermined linear system. + + @param rhs right-hand side of a linear system (u\*w\*v')\*dst = rhs to + be solved, where A has been previously decomposed. + + @param dst found solution of the system. + + @note Explicit SVD with the further back substitution only makes sense + if you need to solve many linear systems with the same left-hand side + (for example, src ). If all you need is to solve a single system + (possibly with multiple rhs immediately available), simply call solve + add pass #DECOMP_SVD there. It does absolutely the same thing. + */ + void backSubst( InputArray rhs, OutputArray dst ) const; + + /** @todo document */ + template static + void compute( const Matx<_Tp, m, n>& a, Matx<_Tp, nm, 1>& w, Matx<_Tp, m, nm>& u, Matx<_Tp, n, nm>& vt ); + + /** @todo document */ + template static + void compute( const Matx<_Tp, m, n>& a, Matx<_Tp, nm, 1>& w ); + + /** @todo document */ + template static + void backSubst( const Matx<_Tp, nm, 1>& w, const Matx<_Tp, m, nm>& u, const Matx<_Tp, n, nm>& vt, const Matx<_Tp, m, nb>& rhs, Matx<_Tp, n, nb>& dst ); + + Mat u, w, vt; +}; + +/** @brief Random Number Generator + +Random number generator. It encapsulates the state (currently, a 64-bit +integer) and has methods to return scalar random values and to fill +arrays with random values. Currently it supports uniform and Gaussian +(normal) distributions. The generator uses Multiply-With-Carry +algorithm, introduced by G. Marsaglia ( + ). +Gaussian-distribution random numbers are generated using the Ziggurat +algorithm ( ), +introduced by G. Marsaglia and W. W. Tsang. +*/ +class CV_EXPORTS RNG +{ +public: + enum { UNIFORM = 0, + NORMAL = 1 + }; + + /** @brief constructor + + These are the RNG constructors. The first form sets the state to some + pre-defined value, equal to 2\*\*32-1 in the current implementation. The + second form sets the state to the specified value. If you passed state=0 + , the constructor uses the above default value instead to avoid the + singular random number sequence, consisting of all zeros. + */ + RNG(); + /** @overload + @param state 64-bit value used to initialize the RNG. + */ + RNG(uint64 state); + /**The method updates the state using the MWC algorithm and returns the + next 32-bit random number.*/ + unsigned next(); + + /**Each of the methods updates the state using the MWC algorithm and + returns the next random number of the specified type. In case of integer + types, the returned number is from the available value range for the + specified type. In case of floating-point types, the returned value is + from [0,1) range. + */ + operator uchar(); + /** @overload */ + operator schar(); + /** @overload */ + operator ushort(); + /** @overload */ + operator short(); + /** @overload */ + operator unsigned(); + /** @overload */ + operator int(); + /** @overload */ + operator float(); + /** @overload */ + operator double(); + + /** @brief returns a random integer sampled uniformly from [0, N). + + The methods transform the state using the MWC algorithm and return the + next random number. The first form is equivalent to RNG::next . The + second form returns the random number modulo N , which means that the + result is in the range [0, N) . + */ + unsigned operator ()(); + /** @overload + @param N upper non-inclusive boundary of the returned random number. + */ + unsigned operator ()(unsigned N); + + /** @brief returns uniformly distributed integer random number from [a,b) range + + The methods transform the state using the MWC algorithm and return the + next uniformly-distributed random number of the specified type, deduced + from the input parameter type, from the range [a, b) . There is a nuance + illustrated by the following sample: + + @code{.cpp} + RNG rng; + + // always produces 0 + double a = rng.uniform(0, 1); + + // produces double from [0, 1) + double a1 = rng.uniform((double)0, (double)1); + + // produces float from [0, 1) + float b = rng.uniform(0.f, 1.f); + + // produces double from [0, 1) + double c = rng.uniform(0., 1.); + + // may cause compiler error because of ambiguity: + // RNG::uniform(0, (int)0.999999)? or RNG::uniform((double)0, 0.99999)? + double d = rng.uniform(0, 0.999999); + @endcode + + The compiler does not take into account the type of the variable to + which you assign the result of RNG::uniform . The only thing that + matters to the compiler is the type of a and b parameters. So, if you + want a floating-point random number, but the range boundaries are + integer numbers, either put dots in the end, if they are constants, or + use explicit type cast operators, as in the a1 initialization above. + @param a lower inclusive boundary of the returned random number. + @param b upper non-inclusive boundary of the returned random number. + */ + int uniform(int a, int b); + /** @overload */ + float uniform(float a, float b); + /** @overload */ + double uniform(double a, double b); + + /** @brief Fills arrays with random numbers. + + @param mat 2D or N-dimensional matrix; currently matrices with more than + 4 channels are not supported by the methods, use Mat::reshape as a + possible workaround. + @param distType distribution type, RNG::UNIFORM or RNG::NORMAL. + @param a first distribution parameter; in case of the uniform + distribution, this is an inclusive lower boundary, in case of the normal + distribution, this is a mean value. + @param b second distribution parameter; in case of the uniform + distribution, this is a non-inclusive upper boundary, in case of the + normal distribution, this is a standard deviation (diagonal of the + standard deviation matrix or the full standard deviation matrix). + @param saturateRange pre-saturation flag; for uniform distribution only; + if true, the method will first convert a and b to the acceptable value + range (according to the mat datatype) and then will generate uniformly + distributed random numbers within the range [saturate(a), saturate(b)), + if saturateRange=false, the method will generate uniformly distributed + random numbers in the original range [a, b) and then will saturate them, + it means, for example, that + theRNG().fill(mat_8u, RNG::UNIFORM, -DBL_MAX, DBL_MAX) will likely + produce array mostly filled with 0's and 255's, since the range (0, 255) + is significantly smaller than [-DBL_MAX, DBL_MAX). + + Each of the methods fills the matrix with the random values from the + specified distribution. As the new numbers are generated, the RNG state + is updated accordingly. In case of multiple-channel images, every + channel is filled independently, which means that RNG cannot generate + samples from the multi-dimensional Gaussian distribution with + non-diagonal covariance matrix directly. To do that, the method + generates samples from multi-dimensional standard Gaussian distribution + with zero mean and identity covariation matrix, and then transforms them + using transform to get samples from the specified Gaussian distribution. + */ + void fill( InputOutputArray mat, int distType, InputArray a, InputArray b, bool saturateRange = false ); + + /** @brief Returns the next random number sampled from the Gaussian distribution + @param sigma standard deviation of the distribution. + + The method transforms the state using the MWC algorithm and returns the + next random number from the Gaussian distribution N(0,sigma) . That is, + the mean value of the returned random numbers is zero and the standard + deviation is the specified sigma . + */ + double gaussian(double sigma); + + uint64 state; + + bool operator ==(const RNG& other) const; +}; + +/** @brief Mersenne Twister random number generator + +Inspired by http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c +@todo document +*/ +class CV_EXPORTS RNG_MT19937 +{ +public: + RNG_MT19937(); + RNG_MT19937(unsigned s); + void seed(unsigned s); + + unsigned next(); + + operator int(); + operator unsigned(); + operator float(); + operator double(); + + unsigned operator ()(unsigned N); + unsigned operator ()(); + + /** @brief returns uniformly distributed integer random number from [a,b) range*/ + int uniform(int a, int b); + /** @brief returns uniformly distributed floating-point random number from [a,b) range*/ + float uniform(float a, float b); + /** @brief returns uniformly distributed double-precision floating-point random number from [a,b) range*/ + double uniform(double a, double b); + +private: + enum PeriodParameters {N = 624, M = 397}; + unsigned state[N]; + int mti; +}; + +//! @} core_array + +//! @addtogroup core_cluster +//! @{ + +/** @example samples/cpp/kmeans.cpp +An example on K-means clustering +*/ + +/** @brief Finds centers of clusters and groups input samples around the clusters. + +The function kmeans implements a k-means algorithm that finds the centers of cluster_count clusters +and groups the input samples around the clusters. As an output, \f$\texttt{bestLabels}_i\f$ contains a +0-based cluster index for the sample stored in the \f$i^{th}\f$ row of the samples matrix. + +@note +- (Python) An example on K-means clustering can be found at + opencv_source_code/samples/python/kmeans.py +@param data Data for clustering. An array of N-Dimensional points with float coordinates is needed. +Examples of this array can be: +- Mat points(count, 2, CV_32F); +- Mat points(count, 1, CV_32FC2); +- Mat points(1, count, CV_32FC2); +- std::vector\ points(sampleCount); +@param K Number of clusters to split the set by. +@param bestLabels Input/output integer array that stores the cluster indices for every sample. +@param criteria The algorithm termination criteria, that is, the maximum number of iterations and/or +the desired accuracy. The accuracy is specified as criteria.epsilon. As soon as each of the cluster +centers moves by less than criteria.epsilon on some iteration, the algorithm stops. +@param attempts Flag to specify the number of times the algorithm is executed using different +initial labellings. The algorithm returns the labels that yield the best compactness (see the last +function parameter). +@param flags Flag that can take values of cv::KmeansFlags +@param centers Output matrix of the cluster centers, one row per each cluster center. +@return The function returns the compactness measure that is computed as +\f[\sum _i \| \texttt{samples} _i - \texttt{centers} _{ \texttt{labels} _i} \| ^2\f] +after every attempt. The best (minimum) value is chosen and the corresponding labels and the +compactness value are returned by the function. Basically, you can use only the core of the +function, set the number of attempts to 1, initialize labels each time using a custom algorithm, +pass them with the ( flags = #KMEANS_USE_INITIAL_LABELS ) flag, and then choose the best +(most-compact) clustering. +*/ +CV_EXPORTS_W double kmeans( InputArray data, int K, InputOutputArray bestLabels, + TermCriteria criteria, int attempts, + int flags, OutputArray centers = noArray() ); + +//! @} core_cluster + +//! @addtogroup core_basic +//! @{ + +/////////////////////////////// Formatted output of cv::Mat /////////////////////////// + +/** @todo document */ +class CV_EXPORTS Formatted +{ +public: + virtual const char* next() = 0; + virtual void reset() = 0; + virtual ~Formatted(); +}; + +/** @todo document */ +class CV_EXPORTS Formatter +{ +public: + enum FormatType { + FMT_DEFAULT = 0, + FMT_MATLAB = 1, + FMT_CSV = 2, + FMT_PYTHON = 3, + FMT_NUMPY = 4, + FMT_C = 5 + }; + + virtual ~Formatter(); + + virtual Ptr format(const Mat& mtx) const = 0; + + virtual void set16fPrecision(int p = 4) = 0; + virtual void set32fPrecision(int p = 8) = 0; + virtual void set64fPrecision(int p = 16) = 0; + virtual void setMultiline(bool ml = true) = 0; + + static Ptr get(Formatter::FormatType fmt = FMT_DEFAULT); + +}; + +static inline +String& operator << (String& out, Ptr fmtd) +{ + fmtd->reset(); + for(const char* str = fmtd->next(); str; str = fmtd->next()) + out += cv::String(str); + return out; +} + +static inline +String& operator << (String& out, const Mat& mtx) +{ + return out << Formatter::get()->format(mtx); +} + +//////////////////////////////////////// Algorithm //////////////////////////////////// + +class CV_EXPORTS Algorithm; + +template struct ParamType {}; + + +/** @brief This is a base class for all more or less complex algorithms in OpenCV + +especially for classes of algorithms, for which there can be multiple implementations. The examples +are stereo correspondence (for which there are algorithms like block matching, semi-global block +matching, graph-cut etc.), background subtraction (which can be done using mixture-of-gaussians +models, codebook-based algorithm etc.), optical flow (block matching, Lucas-Kanade, Horn-Schunck +etc.). + +Here is example of SimpleBlobDetector use in your application via Algorithm interface: +@snippet snippets/core_various.cpp Algorithm +*/ +class CV_EXPORTS_W Algorithm +{ +public: + Algorithm(); + virtual ~Algorithm(); + + /** @brief Clears the algorithm state + */ + CV_WRAP virtual void clear() {} + + /** @brief Stores algorithm parameters in a file storage + */ + CV_WRAP virtual void write(FileStorage& fs) const { CV_UNUSED(fs); } + + /** + * @overload + */ + CV_WRAP void write(FileStorage& fs, const String& name) const; +#if CV_VERSION_MAJOR < 5 + /** @deprecated */ + void write(const Ptr& fs, const String& name = String()) const; +#endif + + /** @brief Reads algorithm parameters from a file storage + */ + CV_WRAP virtual void read(const FileNode& fn) { CV_UNUSED(fn); } + + /** @brief Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read + */ + CV_WRAP virtual bool empty() const { return false; } + + /** @brief Reads algorithm from the file node + + This is static template method of Algorithm. It's usage is following (in the case of SVM): + @code + cv::FileStorage fsRead("example.xml", FileStorage::READ); + Ptr svm = Algorithm::read(fsRead.root()); + @endcode + In order to make this method work, the derived class must overwrite Algorithm::read(const + FileNode& fn) and also have static create() method without parameters + (or with all the optional parameters) + */ + template static Ptr<_Tp> read(const FileNode& fn) + { + Ptr<_Tp> obj = _Tp::create(); + obj->read(fn); + return !obj->empty() ? obj : Ptr<_Tp>(); + } + + /** @brief Loads algorithm from the file + + @param filename Name of the file to read. + @param objname The optional name of the node to read (if empty, the first top-level node will be used) + + This is static template method of Algorithm. It's usage is following (in the case of SVM): + @code + Ptr svm = Algorithm::load("my_svm_model.xml"); + @endcode + In order to make this method work, the derived class must overwrite Algorithm::read(const + FileNode& fn). + */ + template static Ptr<_Tp> load(const String& filename, const String& objname=String()) + { + FileStorage fs(filename, FileStorage::READ); + CV_Assert(fs.isOpened()); + FileNode fn = objname.empty() ? fs.getFirstTopLevelNode() : fs[objname]; + if (fn.empty()) return Ptr<_Tp>(); + Ptr<_Tp> obj = _Tp::create(); + obj->read(fn); + return !obj->empty() ? obj : Ptr<_Tp>(); + } + + /** @brief Loads algorithm from a String + + @param strModel The string variable containing the model you want to load. + @param objname The optional name of the node to read (if empty, the first top-level node will be used) + + This is static template method of Algorithm. It's usage is following (in the case of SVM): + @code + Ptr svm = Algorithm::loadFromString(myStringModel); + @endcode + */ + template static Ptr<_Tp> loadFromString(const String& strModel, const String& objname=String()) + { + FileStorage fs(strModel, FileStorage::READ + FileStorage::MEMORY); + FileNode fn = objname.empty() ? fs.getFirstTopLevelNode() : fs[objname]; + Ptr<_Tp> obj = _Tp::create(); + obj->read(fn); + return !obj->empty() ? obj : Ptr<_Tp>(); + } + + /** Saves the algorithm to a file. + In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs). */ + CV_WRAP virtual void save(const String& filename) const; + + /** Returns the algorithm string identifier. + This string is used as top level xml/yml node tag when the object is saved to a file or string. */ + CV_WRAP virtual String getDefaultName() const; + +protected: + void writeFormat(FileStorage& fs) const; +}; + +enum struct Param { + INT=0, BOOLEAN=1, REAL=2, STRING=3, MAT=4, MAT_VECTOR=5, ALGORITHM=6, FLOAT=7, + UNSIGNED_INT=8, UINT64=9, UCHAR=11, SCALAR=12 +}; + + + +template<> struct ParamType +{ + typedef bool const_param_type; + typedef bool member_type; + + static const Param type = Param::BOOLEAN; +}; + +template<> struct ParamType +{ + typedef int const_param_type; + typedef int member_type; + + static const Param type = Param::INT; +}; + +template<> struct ParamType +{ + typedef double const_param_type; + typedef double member_type; + + static const Param type = Param::REAL; +}; + +template<> struct ParamType +{ + typedef const String& const_param_type; + typedef String member_type; + + static const Param type = Param::STRING; +}; + +template<> struct ParamType +{ + typedef const Mat& const_param_type; + typedef Mat member_type; + + static const Param type = Param::MAT; +}; + +template<> struct ParamType > +{ + typedef const std::vector& const_param_type; + typedef std::vector member_type; + + static const Param type = Param::MAT_VECTOR; +}; + +template<> struct ParamType +{ + typedef const Ptr& const_param_type; + typedef Ptr member_type; + + static const Param type = Param::ALGORITHM; +}; + +template<> struct ParamType +{ + typedef float const_param_type; + typedef float member_type; + + static const Param type = Param::FLOAT; +}; + +template<> struct ParamType +{ + typedef unsigned const_param_type; + typedef unsigned member_type; + + static const Param type = Param::UNSIGNED_INT; +}; + +template<> struct ParamType +{ + typedef uint64 const_param_type; + typedef uint64 member_type; + + static const Param type = Param::UINT64; +}; + +template<> struct ParamType +{ + typedef uchar const_param_type; + typedef uchar member_type; + + static const Param type = Param::UCHAR; +}; + +template<> struct ParamType +{ + typedef const Scalar& const_param_type; + typedef Scalar member_type; + + static const Param type = Param::SCALAR; +}; + +template +struct ParamType<_Tp, typename std::enable_if< std::is_enum<_Tp>::value >::type> +{ + typedef typename std::underlying_type<_Tp>::type const_param_type; + typedef typename std::underlying_type<_Tp>::type member_type; + + static const Param type = Param::INT; +}; + +//! @} core_basic + +} //namespace cv + +#include "opencv2/core/operations.hpp" +#include "opencv2/core/cvstd.inl.hpp" +#include "opencv2/core/utility.hpp" +#include "opencv2/core/optim.hpp" +#include "opencv2/core/ovx.hpp" + +#endif /*OPENCV_CORE_HPP*/ diff --git a/camera_lib/include/opencv2/core/affine.hpp b/camera_lib/include/opencv2/core/affine.hpp new file mode 100644 index 0000000..1806382 --- /dev/null +++ b/camera_lib/include/opencv2/core/affine.hpp @@ -0,0 +1,678 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_AFFINE3_HPP +#define OPENCV_CORE_AFFINE3_HPP + +#ifdef __cplusplus + +#include + +namespace cv +{ + +//! @addtogroup core +//! @{ + + /** @brief Affine transform + * + * It represents a 4x4 homogeneous transformation matrix \f$T\f$ + * + * \f[T = + * \begin{bmatrix} + * R & t\\ + * 0 & 1\\ + * \end{bmatrix} + * \f] + * + * where \f$R\f$ is a 3x3 rotation matrix and \f$t\f$ is a 3x1 translation vector. + * + * You can specify \f$R\f$ either by a 3x3 rotation matrix or by a 3x1 rotation vector, + * which is converted to a 3x3 rotation matrix by the Rodrigues formula. + * + * To construct a matrix \f$T\f$ representing first rotation around the axis \f$r\f$ with rotation + * angle \f$|r|\f$ in radian (right hand rule) and then translation by the vector \f$t\f$, you can use + * + * @code + * cv::Vec3f r, t; + * cv::Affine3f T(r, t); + * @endcode + * + * If you already have the rotation matrix \f$R\f$, then you can use + * + * @code + * cv::Matx33f R; + * cv::Affine3f T(R, t); + * @endcode + * + * To extract the rotation matrix \f$R\f$ from \f$T\f$, use + * + * @code + * cv::Matx33f R = T.rotation(); + * @endcode + * + * To extract the translation vector \f$t\f$ from \f$T\f$, use + * + * @code + * cv::Vec3f t = T.translation(); + * @endcode + * + * To extract the rotation vector \f$r\f$ from \f$T\f$, use + * + * @code + * cv::Vec3f r = T.rvec(); + * @endcode + * + * Note that since the mapping from rotation vectors to rotation matrices + * is many to one. The returned rotation vector is not necessarily the one + * you used before to set the matrix. + * + * If you have two transformations \f$T = T_1 * T_2\f$, use + * + * @code + * cv::Affine3f T, T1, T2; + * T = T2.concatenate(T1); + * @endcode + * + * To get the inverse transform of \f$T\f$, use + * + * @code + * cv::Affine3f T, T_inv; + * T_inv = T.inv(); + * @endcode + * + */ + template + class Affine3 + { + public: + typedef T float_type; + typedef Matx Mat3; + typedef Matx Mat4; + typedef Vec Vec3; + + //! Default constructor. It represents a 4x4 identity matrix. + Affine3(); + + //! Augmented affine matrix + Affine3(const Mat4& affine); + + /** + * The resulting 4x4 matrix is + * + * \f[ + * \begin{bmatrix} + * R & t\\ + * 0 & 1\\ + * \end{bmatrix} + * \f] + * + * @param R 3x3 rotation matrix. + * @param t 3x1 translation vector. + */ + Affine3(const Mat3& R, const Vec3& t = Vec3::all(0)); + + /** + * Rodrigues vector. + * + * The last row of the current matrix is set to [0,0,0,1]. + * + * @param rvec 3x1 rotation vector. Its direction indicates the rotation axis and its length + * indicates the rotation angle in radian (using right hand rule). + * @param t 3x1 translation vector. + */ + Affine3(const Vec3& rvec, const Vec3& t = Vec3::all(0)); + + /** + * Combines all constructors above. Supports 4x4, 3x4, 3x3, 1x3, 3x1 sizes of data matrix. + * + * The last row of the current matrix is set to [0,0,0,1] when data is not 4x4. + * + * @param data 1-channel matrix. + * when it is 4x4, it is copied to the current matrix and t is not used. + * When it is 3x4, it is copied to the upper part 3x4 of the current matrix and t is not used. + * When it is 3x3, it is copied to the upper left 3x3 part of the current matrix. + * When it is 3x1 or 1x3, it is treated as a rotation vector and the Rodrigues formula is used + * to compute a 3x3 rotation matrix. + * @param t 3x1 translation vector. It is used only when data is neither 4x4 nor 3x4. + */ + explicit Affine3(const Mat& data, const Vec3& t = Vec3::all(0)); + + //! From 16-element array + explicit Affine3(const float_type* vals); + + //! Create an 4x4 identity transform + static Affine3 Identity(); + + /** + * Rotation matrix. + * + * Copy the rotation matrix to the upper left 3x3 part of the current matrix. + * The remaining elements of the current matrix are not changed. + * + * @param R 3x3 rotation matrix. + * + */ + void rotation(const Mat3& R); + + /** + * Rodrigues vector. + * + * It sets the upper left 3x3 part of the matrix. The remaining part is unaffected. + * + * @param rvec 3x1 rotation vector. The direction indicates the rotation axis and + * its length indicates the rotation angle in radian (using the right thumb convention). + */ + void rotation(const Vec3& rvec); + + /** + * Combines rotation methods above. Supports 3x3, 1x3, 3x1 sizes of data matrix. + * + * It sets the upper left 3x3 part of the matrix. The remaining part is unaffected. + * + * @param data 1-channel matrix. + * When it is a 3x3 matrix, it sets the upper left 3x3 part of the current matrix. + * When it is a 1x3 or 3x1 matrix, it is used as a rotation vector. The Rodrigues formula + * is used to compute the rotation matrix and sets the upper left 3x3 part of the current matrix. + */ + void rotation(const Mat& data); + + /** + * Copy the 3x3 matrix L to the upper left part of the current matrix + * + * It sets the upper left 3x3 part of the matrix. The remaining part is unaffected. + * + * @param L 3x3 matrix. + */ + void linear(const Mat3& L); + + /** + * Copy t to the first three elements of the last column of the current matrix + * + * It sets the upper right 3x1 part of the matrix. The remaining part is unaffected. + * + * @param t 3x1 translation vector. + */ + void translation(const Vec3& t); + + //! @return the upper left 3x3 part + Mat3 rotation() const; + + //! @return the upper left 3x3 part + Mat3 linear() const; + + //! @return the upper right 3x1 part + Vec3 translation() const; + + //! Rodrigues vector. + //! @return a vector representing the upper left 3x3 rotation matrix of the current matrix. + //! @warning Since the mapping between rotation vectors and rotation matrices is many to one, + //! this function returns only one rotation vector that represents the current rotation matrix, + //! which is not necessarily the same one set by `rotation(const Vec3& rvec)`. + Vec3 rvec() const; + + //! @return the inverse of the current matrix. + Affine3 inv(int method = cv::DECOMP_SVD) const; + + //! a.rotate(R) is equivalent to Affine(R, 0) * a; + Affine3 rotate(const Mat3& R) const; + + //! a.rotate(rvec) is equivalent to Affine(rvec, 0) * a; + Affine3 rotate(const Vec3& rvec) const; + + //! a.translate(t) is equivalent to Affine(E, t) * a, where E is an identity matrix + Affine3 translate(const Vec3& t) const; + + //! a.concatenate(affine) is equivalent to affine * a; + Affine3 concatenate(const Affine3& affine) const; + + template operator Affine3() const; + + template Affine3 cast() const; + + Mat4 matrix; + +#if defined EIGEN_WORLD_VERSION && defined EIGEN_GEOMETRY_MODULE_H + Affine3(const Eigen::Transform& affine); + Affine3(const Eigen::Transform& affine); + operator Eigen::Transform() const; + operator Eigen::Transform() const; +#endif + }; + + template static + Affine3 operator*(const Affine3& affine1, const Affine3& affine2); + + //! V is a 3-element vector with member fields x, y and z + template static + V operator*(const Affine3& affine, const V& vector); + + typedef Affine3 Affine3f; + typedef Affine3 Affine3d; + + static Vec3f operator*(const Affine3f& affine, const Vec3f& vector); + static Vec3d operator*(const Affine3d& affine, const Vec3d& vector); + + template class DataType< Affine3<_Tp> > + { + public: + typedef Affine3<_Tp> value_type; + typedef Affine3::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 16, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; + }; + + namespace traits { + template + struct Depth< Affine3<_Tp> > { enum { value = Depth<_Tp>::value }; }; + template + struct Type< Affine3<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 16) }; }; + } // namespace + +//! @} core + +} + +//! @cond IGNORED + +/////////////////////////////////////////////////////////////////////////////////// +// Implementation + +template inline +cv::Affine3::Affine3() + : matrix(Mat4::eye()) +{} + +template inline +cv::Affine3::Affine3(const Mat4& affine) + : matrix(affine) +{} + +template inline +cv::Affine3::Affine3(const Mat3& R, const Vec3& t) +{ + rotation(R); + translation(t); + matrix.val[12] = matrix.val[13] = matrix.val[14] = 0; + matrix.val[15] = 1; +} + +template inline +cv::Affine3::Affine3(const Vec3& _rvec, const Vec3& t) +{ + rotation(_rvec); + translation(t); + matrix.val[12] = matrix.val[13] = matrix.val[14] = 0; + matrix.val[15] = 1; +} + +template inline +cv::Affine3::Affine3(const cv::Mat& data, const Vec3& t) +{ + CV_Assert(data.type() == cv::traits::Type::value); + CV_Assert(data.channels() == 1); + + if (data.cols == 4 && data.rows == 4) + { + data.copyTo(matrix); + return; + } + else if (data.cols == 4 && data.rows == 3) + { + rotation(data(Rect(0, 0, 3, 3))); + translation(data(Rect(3, 0, 1, 3))); + } + else + { + rotation(data); + translation(t); + } + + matrix.val[12] = matrix.val[13] = matrix.val[14] = 0; + matrix.val[15] = 1; +} + +template inline +cv::Affine3::Affine3(const float_type* vals) : matrix(vals) +{} + +template inline +cv::Affine3 cv::Affine3::Identity() +{ + return Affine3(cv::Affine3::Mat4::eye()); +} + +template inline +void cv::Affine3::rotation(const Mat3& R) +{ + linear(R); +} + +template inline +void cv::Affine3::rotation(const Vec3& _rvec) +{ + double theta = norm(_rvec); + + if (theta < DBL_EPSILON) + rotation(Mat3::eye()); + else + { + double c = std::cos(theta); + double s = std::sin(theta); + double c1 = 1. - c; + double itheta = (theta != 0) ? 1./theta : 0.; + + Point3_ r = _rvec*itheta; + + Mat3 rrt( r.x*r.x, r.x*r.y, r.x*r.z, r.x*r.y, r.y*r.y, r.y*r.z, r.x*r.z, r.y*r.z, r.z*r.z ); + Mat3 r_x( 0, -r.z, r.y, r.z, 0, -r.x, -r.y, r.x, 0 ); + + // R = cos(theta)*I + (1 - cos(theta))*r*rT + sin(theta)*[r_x] + // where [r_x] is [0 -rz ry; rz 0 -rx; -ry rx 0] + Mat3 R = c*Mat3::eye() + c1*rrt + s*r_x; + + rotation(R); + } +} + +//Combines rotation methods above. Supports 3x3, 1x3, 3x1 sizes of data matrix; +template inline +void cv::Affine3::rotation(const cv::Mat& data) +{ + CV_Assert(data.type() == cv::traits::Type::value); + CV_Assert(data.channels() == 1); + + if (data.cols == 3 && data.rows == 3) + { + Mat3 R; + data.copyTo(R); + rotation(R); + } + else if ((data.cols == 3 && data.rows == 1) || (data.cols == 1 && data.rows == 3)) + { + Vec3 _rvec; + data.reshape(1, 3).copyTo(_rvec); + rotation(_rvec); + } + else + CV_Error(Error::StsError, "Input matrix can only be 3x3, 1x3 or 3x1"); +} + +template inline +void cv::Affine3::linear(const Mat3& L) +{ + matrix.val[0] = L.val[0]; matrix.val[1] = L.val[1]; matrix.val[ 2] = L.val[2]; + matrix.val[4] = L.val[3]; matrix.val[5] = L.val[4]; matrix.val[ 6] = L.val[5]; + matrix.val[8] = L.val[6]; matrix.val[9] = L.val[7]; matrix.val[10] = L.val[8]; +} + +template inline +void cv::Affine3::translation(const Vec3& t) +{ + matrix.val[3] = t[0]; matrix.val[7] = t[1]; matrix.val[11] = t[2]; +} + +template inline +typename cv::Affine3::Mat3 cv::Affine3::rotation() const +{ + return linear(); +} + +template inline +typename cv::Affine3::Mat3 cv::Affine3::linear() const +{ + typename cv::Affine3::Mat3 R; + R.val[0] = matrix.val[0]; R.val[1] = matrix.val[1]; R.val[2] = matrix.val[ 2]; + R.val[3] = matrix.val[4]; R.val[4] = matrix.val[5]; R.val[5] = matrix.val[ 6]; + R.val[6] = matrix.val[8]; R.val[7] = matrix.val[9]; R.val[8] = matrix.val[10]; + return R; +} + +template inline +typename cv::Affine3::Vec3 cv::Affine3::translation() const +{ + return Vec3(matrix.val[3], matrix.val[7], matrix.val[11]); +} + +template inline +typename cv::Affine3::Vec3 cv::Affine3::rvec() const +{ + cv::Vec3d w; + cv::Matx33d u, vt, R = rotation(); + cv::SVD::compute(R, w, u, vt, cv::SVD::FULL_UV + cv::SVD::MODIFY_A); + R = u * vt; + + double rx = R.val[7] - R.val[5]; + double ry = R.val[2] - R.val[6]; + double rz = R.val[3] - R.val[1]; + + double s = std::sqrt((rx*rx + ry*ry + rz*rz)*0.25); + double c = (R.val[0] + R.val[4] + R.val[8] - 1) * 0.5; + c = c > 1.0 ? 1.0 : c < -1.0 ? -1.0 : c; + double theta = std::acos(c); + + if( s < 1e-5 ) + { + if( c > 0 ) + rx = ry = rz = 0; + else + { + double t; + t = (R.val[0] + 1) * 0.5; + rx = std::sqrt(std::max(t, 0.0)); + t = (R.val[4] + 1) * 0.5; + ry = std::sqrt(std::max(t, 0.0)) * (R.val[1] < 0 ? -1.0 : 1.0); + t = (R.val[8] + 1) * 0.5; + rz = std::sqrt(std::max(t, 0.0)) * (R.val[2] < 0 ? -1.0 : 1.0); + + if( fabs(rx) < fabs(ry) && fabs(rx) < fabs(rz) && (R.val[5] > 0) != (ry*rz > 0) ) + rz = -rz; + theta /= std::sqrt(rx*rx + ry*ry + rz*rz); + rx *= theta; + ry *= theta; + rz *= theta; + } + } + else + { + double vth = 1/(2*s); + vth *= theta; + rx *= vth; ry *= vth; rz *= vth; + } + + return cv::Vec3d(rx, ry, rz); +} + +template inline +cv::Affine3 cv::Affine3::inv(int method) const +{ + return matrix.inv(method); +} + +template inline +cv::Affine3 cv::Affine3::rotate(const Mat3& R) const +{ + Mat3 Lc = linear(); + Vec3 tc = translation(); + Mat4 result; + result.val[12] = result.val[13] = result.val[14] = 0; + result.val[15] = 1; + + for(int j = 0; j < 3; ++j) + { + for(int i = 0; i < 3; ++i) + { + float_type value = 0; + for(int k = 0; k < 3; ++k) + value += R(j, k) * Lc(k, i); + result(j, i) = value; + } + + result(j, 3) = R.row(j).dot(tc.t()); + } + return result; +} + +template inline +cv::Affine3 cv::Affine3::rotate(const Vec3& _rvec) const +{ + return rotate(Affine3f(_rvec).rotation()); +} + +template inline +cv::Affine3 cv::Affine3::translate(const Vec3& t) const +{ + Mat4 m = matrix; + m.val[ 3] += t[0]; + m.val[ 7] += t[1]; + m.val[11] += t[2]; + return m; +} + +template inline +cv::Affine3 cv::Affine3::concatenate(const Affine3& affine) const +{ + return (*this).rotate(affine.rotation()).translate(affine.translation()); +} + +template template inline +cv::Affine3::operator Affine3() const +{ + return Affine3(matrix); +} + +template template inline +cv::Affine3 cv::Affine3::cast() const +{ + return Affine3(matrix); +} + +template inline +cv::Affine3 cv::operator*(const cv::Affine3& affine1, const cv::Affine3& affine2) +{ + return affine2.concatenate(affine1); +} + +template inline +V cv::operator*(const cv::Affine3& affine, const V& v) +{ + const typename Affine3::Mat4& m = affine.matrix; + + V r; + r.x = m.val[0] * v.x + m.val[1] * v.y + m.val[ 2] * v.z + m.val[ 3]; + r.y = m.val[4] * v.x + m.val[5] * v.y + m.val[ 6] * v.z + m.val[ 7]; + r.z = m.val[8] * v.x + m.val[9] * v.y + m.val[10] * v.z + m.val[11]; + return r; +} + +static inline +cv::Vec3f cv::operator*(const cv::Affine3f& affine, const cv::Vec3f& v) +{ + const cv::Matx44f& m = affine.matrix; + cv::Vec3f r; + r.val[0] = m.val[0] * v[0] + m.val[1] * v[1] + m.val[ 2] * v[2] + m.val[ 3]; + r.val[1] = m.val[4] * v[0] + m.val[5] * v[1] + m.val[ 6] * v[2] + m.val[ 7]; + r.val[2] = m.val[8] * v[0] + m.val[9] * v[1] + m.val[10] * v[2] + m.val[11]; + return r; +} + +static inline +cv::Vec3d cv::operator*(const cv::Affine3d& affine, const cv::Vec3d& v) +{ + const cv::Matx44d& m = affine.matrix; + cv::Vec3d r; + r.val[0] = m.val[0] * v[0] + m.val[1] * v[1] + m.val[ 2] * v[2] + m.val[ 3]; + r.val[1] = m.val[4] * v[0] + m.val[5] * v[1] + m.val[ 6] * v[2] + m.val[ 7]; + r.val[2] = m.val[8] * v[0] + m.val[9] * v[1] + m.val[10] * v[2] + m.val[11]; + return r; +} + + + +#if defined EIGEN_WORLD_VERSION && defined EIGEN_GEOMETRY_MODULE_H + +template inline +cv::Affine3::Affine3(const Eigen::Transform& affine) +{ + cv::Mat(4, 4, cv::traits::Type::value, affine.matrix().data()).copyTo(matrix); +} + +template inline +cv::Affine3::Affine3(const Eigen::Transform& affine) +{ + Eigen::Transform a = affine; + cv::Mat(4, 4, cv::traits::Type::value, a.matrix().data()).copyTo(matrix); +} + +template inline +cv::Affine3::operator Eigen::Transform() const +{ + Eigen::Transform r; + cv::Mat hdr(4, 4, cv::traits::Type::value, r.matrix().data()); + cv::Mat(matrix, false).copyTo(hdr); + return r; +} + +template inline +cv::Affine3::operator Eigen::Transform() const +{ + return this->operator Eigen::Transform(); +} + +#endif /* defined EIGEN_WORLD_VERSION && defined EIGEN_GEOMETRY_MODULE_H */ + +//! @endcond + +#endif /* __cplusplus */ + +#endif /* OPENCV_CORE_AFFINE3_HPP */ diff --git a/camera_lib/include/opencv2/core/async.hpp b/camera_lib/include/opencv2/core/async.hpp new file mode 100644 index 0000000..54560c7 --- /dev/null +++ b/camera_lib/include/opencv2/core/async.hpp @@ -0,0 +1,105 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_CORE_ASYNC_HPP +#define OPENCV_CORE_ASYNC_HPP + +#include + +#ifdef CV_CXX11 +//#include +#include +#endif + +namespace cv { + +/** @addtogroup core_async + +@{ +*/ + + +/** @brief Returns result of asynchronous operations + +Object has attached asynchronous state. +Assignment operator doesn't clone asynchronous state (it is shared between all instances). + +Result can be fetched via get() method only once. + +*/ +class CV_EXPORTS_W AsyncArray +{ +public: + ~AsyncArray() CV_NOEXCEPT; + CV_WRAP AsyncArray() CV_NOEXCEPT; + AsyncArray(const AsyncArray& o) CV_NOEXCEPT; + AsyncArray& operator=(const AsyncArray& o) CV_NOEXCEPT; + CV_WRAP void release() CV_NOEXCEPT; + + /** Fetch the result. + @param[out] dst destination array + + Waits for result until container has valid result. + Throws exception if exception was stored as a result. + + Throws exception on invalid container state. + + @note Result or stored exception can be fetched only once. + */ + CV_WRAP void get(OutputArray dst) const; + + /** Retrieving the result with timeout + @param[out] dst destination array + @param[in] timeoutNs timeout in nanoseconds, -1 for infinite wait + + @returns true if result is ready, false if the timeout has expired + + @note Result or stored exception can be fetched only once. + */ + bool get(OutputArray dst, int64 timeoutNs) const; + + CV_WRAP inline + bool get(OutputArray dst, double timeoutNs) const { return get(dst, (int64)timeoutNs); } + + bool wait_for(int64 timeoutNs) const; + + CV_WRAP inline + bool wait_for(double timeoutNs) const { return wait_for((int64)timeoutNs); } + + CV_WRAP bool valid() const CV_NOEXCEPT; + +#ifdef CV_CXX11 + inline AsyncArray(AsyncArray&& o) { p = o.p; o.p = NULL; } + inline AsyncArray& operator=(AsyncArray&& o) CV_NOEXCEPT { std::swap(p, o.p); return *this; } + + template + inline bool get(OutputArray dst, const std::chrono::duration<_Rep, _Period>& timeout) + { + return get(dst, (int64)(std::chrono::nanoseconds(timeout).count())); + } + + template + inline bool wait_for(const std::chrono::duration<_Rep, _Period>& timeout) + { + return wait_for((int64)(std::chrono::nanoseconds(timeout).count())); + } + +#if 0 + std::future getFutureMat() const; + std::future getFutureUMat() const; +#endif +#endif + + + // PImpl + struct Impl; friend struct Impl; + inline void* _getImpl() const CV_NOEXCEPT { return p; } +protected: + Impl* p; +}; + + +//! @} +} // namespace +#endif // OPENCV_CORE_ASYNC_HPP diff --git a/camera_lib/include/opencv2/core/base.hpp b/camera_lib/include/opencv2/core/base.hpp new file mode 100644 index 0000000..21a61a4 --- /dev/null +++ b/camera_lib/include/opencv2/core/base.hpp @@ -0,0 +1,664 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2014, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_BASE_HPP +#define OPENCV_CORE_BASE_HPP + +#ifndef __cplusplus +# error base.hpp header must be compiled as C++ +#endif + +#include "opencv2/opencv_modules.hpp" + +#include +#include + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/cvstd.hpp" + +namespace cv +{ + +//! @addtogroup core_utils +//! @{ + +namespace Error { +//! error codes +enum Code { + StsOk= 0, //!< everything is ok + StsBackTrace= -1, //!< pseudo error for back trace + StsError= -2, //!< unknown /unspecified error + StsInternal= -3, //!< internal error (bad state) + StsNoMem= -4, //!< insufficient memory + StsBadArg= -5, //!< function arg/param is bad + StsBadFunc= -6, //!< unsupported function + StsNoConv= -7, //!< iteration didn't converge + StsAutoTrace= -8, //!< tracing + HeaderIsNull= -9, //!< image header is NULL + BadImageSize= -10, //!< image size is invalid + BadOffset= -11, //!< offset is invalid + BadDataPtr= -12, //!< + BadStep= -13, //!< image step is wrong, this may happen for a non-continuous matrix. + BadModelOrChSeq= -14, //!< + BadNumChannels= -15, //!< bad number of channels, for example, some functions accept only single channel matrices. + BadNumChannel1U= -16, //!< + BadDepth= -17, //!< input image depth is not supported by the function + BadAlphaChannel= -18, //!< + BadOrder= -19, //!< number of dimensions is out of range + BadOrigin= -20, //!< incorrect input origin + BadAlign= -21, //!< incorrect input align + BadCallBack= -22, //!< + BadTileSize= -23, //!< + BadCOI= -24, //!< input COI is not supported + BadROISize= -25, //!< incorrect input roi + MaskIsTiled= -26, //!< + StsNullPtr= -27, //!< null pointer + StsVecLengthErr= -28, //!< incorrect vector length + StsFilterStructContentErr= -29, //!< incorrect filter structure content + StsKernelStructContentErr= -30, //!< incorrect transform kernel content + StsFilterOffsetErr= -31, //!< incorrect filter offset value + StsBadSize= -201, //!< the input/output structure size is incorrect + StsDivByZero= -202, //!< division by zero + StsInplaceNotSupported= -203, //!< in-place operation is not supported + StsObjectNotFound= -204, //!< request can't be completed + StsUnmatchedFormats= -205, //!< formats of input/output arrays differ + StsBadFlag= -206, //!< flag is wrong or not supported + StsBadPoint= -207, //!< bad CvPoint + StsBadMask= -208, //!< bad format of mask (neither 8uC1 nor 8sC1) + StsUnmatchedSizes= -209, //!< sizes of input/output structures do not match + StsUnsupportedFormat= -210, //!< the data format/type is not supported by the function + StsOutOfRange= -211, //!< some of parameters are out of range + StsParseError= -212, //!< invalid syntax/structure of the parsed file + StsNotImplemented= -213, //!< the requested function/feature is not implemented + StsBadMemBlock= -214, //!< an allocated block has been corrupted + StsAssert= -215, //!< assertion failed + GpuNotSupported= -216, //!< no CUDA support + GpuApiCallError= -217, //!< GPU API call error + OpenGlNotSupported= -218, //!< no OpenGL support + OpenGlApiCallError= -219, //!< OpenGL API call error + OpenCLApiCallError= -220, //!< OpenCL API call error + OpenCLDoubleNotSupported= -221, + OpenCLInitError= -222, //!< OpenCL initialization error + OpenCLNoAMDBlasFft= -223 +}; +} //Error + +//! @} core_utils + +//! @addtogroup core_array +//! @{ + +//! matrix decomposition types +enum DecompTypes { + /** Gaussian elimination with the optimal pivot element chosen. */ + DECOMP_LU = 0, + /** singular value decomposition (SVD) method; the system can be over-defined and/or the matrix + src1 can be singular */ + DECOMP_SVD = 1, + /** eigenvalue decomposition; the matrix src1 must be symmetrical */ + DECOMP_EIG = 2, + /** Cholesky \f$LL^T\f$ factorization; the matrix src1 must be symmetrical and positively + defined */ + DECOMP_CHOLESKY = 3, + /** QR factorization; the system can be over-defined and/or the matrix src1 can be singular */ + DECOMP_QR = 4, + /** while all the previous flags are mutually exclusive, this flag can be used together with + any of the previous; it means that the normal equations + \f$\texttt{src1}^T\cdot\texttt{src1}\cdot\texttt{dst}=\texttt{src1}^T\texttt{src2}\f$ are + solved instead of the original system + \f$\texttt{src1}\cdot\texttt{dst}=\texttt{src2}\f$ */ + DECOMP_NORMAL = 16 +}; + +/** norm types + +src1 and src2 denote input arrays. +*/ + +enum NormTypes { + /** + \f[ + norm = \forkthree + {\|\texttt{src1}\|_{L_{\infty}} = \max _I | \texttt{src1} (I)|}{if \(\texttt{normType} = \texttt{NORM_INF}\) } + {\|\texttt{src1}-\texttt{src2}\|_{L_{\infty}} = \max _I | \texttt{src1} (I) - \texttt{src2} (I)|}{if \(\texttt{normType} = \texttt{NORM_INF}\) } + {\frac{\|\texttt{src1}-\texttt{src2}\|_{L_{\infty}} }{\|\texttt{src2}\|_{L_{\infty}} }}{if \(\texttt{normType} = \texttt{NORM_RELATIVE | NORM_INF}\) } + \f] + */ + NORM_INF = 1, + /** + \f[ + norm = \forkthree + {\| \texttt{src1} \| _{L_1} = \sum _I | \texttt{src1} (I)|}{if \(\texttt{normType} = \texttt{NORM_L1}\)} + { \| \texttt{src1} - \texttt{src2} \| _{L_1} = \sum _I | \texttt{src1} (I) - \texttt{src2} (I)|}{if \(\texttt{normType} = \texttt{NORM_L1}\) } + { \frac{\|\texttt{src1}-\texttt{src2}\|_{L_1} }{\|\texttt{src2}\|_{L_1}} }{if \(\texttt{normType} = \texttt{NORM_RELATIVE | NORM_L1}\) } + \f]*/ + NORM_L1 = 2, + /** + \f[ + norm = \forkthree + { \| \texttt{src1} \| _{L_2} = \sqrt{\sum_I \texttt{src1}(I)^2} }{if \(\texttt{normType} = \texttt{NORM_L2}\) } + { \| \texttt{src1} - \texttt{src2} \| _{L_2} = \sqrt{\sum_I (\texttt{src1}(I) - \texttt{src2}(I))^2} }{if \(\texttt{normType} = \texttt{NORM_L2}\) } + { \frac{\|\texttt{src1}-\texttt{src2}\|_{L_2} }{\|\texttt{src2}\|_{L_2}} }{if \(\texttt{normType} = \texttt{NORM_RELATIVE | NORM_L2}\) } + \f] + */ + NORM_L2 = 4, + /** + \f[ + norm = \forkthree + { \| \texttt{src1} \| _{L_2} ^{2} = \sum_I \texttt{src1}(I)^2} {if \(\texttt{normType} = \texttt{NORM_L2SQR}\)} + { \| \texttt{src1} - \texttt{src2} \| _{L_2} ^{2} = \sum_I (\texttt{src1}(I) - \texttt{src2}(I))^2 }{if \(\texttt{normType} = \texttt{NORM_L2SQR}\) } + { \left(\frac{\|\texttt{src1}-\texttt{src2}\|_{L_2} }{\|\texttt{src2}\|_{L_2}}\right)^2 }{if \(\texttt{normType} = \texttt{NORM_RELATIVE | NORM_L2SQR}\) } + \f] + */ + NORM_L2SQR = 5, + /** + In the case of one input array, calculates the Hamming distance of the array from zero, + In the case of two input arrays, calculates the Hamming distance between the arrays. + */ + NORM_HAMMING = 6, + /** + Similar to NORM_HAMMING, but in the calculation, each two bits of the input sequence will + be added and treated as a single bit to be used in the same calculation as NORM_HAMMING. + */ + NORM_HAMMING2 = 7, + NORM_TYPE_MASK = 7, //!< bit-mask which can be used to separate norm type from norm flags + NORM_RELATIVE = 8, //!< flag + NORM_MINMAX = 32 //!< flag + }; + +//! comparison types +enum CmpTypes { CMP_EQ = 0, //!< src1 is equal to src2. + CMP_GT = 1, //!< src1 is greater than src2. + CMP_GE = 2, //!< src1 is greater than or equal to src2. + CMP_LT = 3, //!< src1 is less than src2. + CMP_LE = 4, //!< src1 is less than or equal to src2. + CMP_NE = 5 //!< src1 is unequal to src2. + }; + +//! generalized matrix multiplication flags +enum GemmFlags { GEMM_1_T = 1, //!< transposes src1 + GEMM_2_T = 2, //!< transposes src2 + GEMM_3_T = 4 //!< transposes src3 + }; + +enum DftFlags { + /** performs an inverse 1D or 2D transform instead of the default forward + transform. */ + DFT_INVERSE = 1, + /** scales the result: divide it by the number of array elements. Normally, it is + combined with DFT_INVERSE. */ + DFT_SCALE = 2, + /** performs a forward or inverse transform of every individual row of the input + matrix; this flag enables you to transform multiple vectors simultaneously and can be used to + decrease the overhead (which is sometimes several times larger than the processing itself) to + perform 3D and higher-dimensional transformations and so forth.*/ + DFT_ROWS = 4, + /** performs a forward transformation of 1D or 2D real array; the result, + though being a complex array, has complex-conjugate symmetry (*CCS*, see the function + description below for details), and such an array can be packed into a real array of the same + size as input, which is the fastest option and which is what the function does by default; + however, you may wish to get a full complex array (for simpler spectrum analysis, and so on) - + pass the flag to enable the function to produce a full-size complex output array. */ + DFT_COMPLEX_OUTPUT = 16, + /** performs an inverse transformation of a 1D or 2D complex array; the + result is normally a complex array of the same size, however, if the input array has + conjugate-complex symmetry (for example, it is a result of forward transformation with + DFT_COMPLEX_OUTPUT flag), the output is a real array; while the function itself does not + check whether the input is symmetrical or not, you can pass the flag and then the function + will assume the symmetry and produce the real output array (note that when the input is packed + into a real array and inverse transformation is executed, the function treats the input as a + packed complex-conjugate symmetrical array, and the output will also be a real array). */ + DFT_REAL_OUTPUT = 32, + /** specifies that input is complex input. If this flag is set, the input must have 2 channels. + On the other hand, for backwards compatibility reason, if input has 2 channels, input is + already considered complex. */ + DFT_COMPLEX_INPUT = 64, + /** performs an inverse 1D or 2D transform instead of the default forward transform. */ + DCT_INVERSE = DFT_INVERSE, + /** performs a forward or inverse transform of every individual row of the input + matrix. This flag enables you to transform multiple vectors simultaneously and can be used to + decrease the overhead (which is sometimes several times larger than the processing itself) to + perform 3D and higher-dimensional transforms and so forth.*/ + DCT_ROWS = DFT_ROWS +}; + +//! Various border types, image boundaries are denoted with `|` +//! @see borderInterpolate, copyMakeBorder +enum BorderTypes { + BORDER_CONSTANT = 0, //!< `iiiiii|abcdefgh|iiiiiii` with some specified `i` + BORDER_REPLICATE = 1, //!< `aaaaaa|abcdefgh|hhhhhhh` + BORDER_REFLECT = 2, //!< `fedcba|abcdefgh|hgfedcb` + BORDER_WRAP = 3, //!< `cdefgh|abcdefgh|abcdefg` + BORDER_REFLECT_101 = 4, //!< `gfedcb|abcdefgh|gfedcba` + BORDER_TRANSPARENT = 5, //!< `uvwxyz|abcdefgh|ijklmno` + + BORDER_REFLECT101 = BORDER_REFLECT_101, //!< same as BORDER_REFLECT_101 + BORDER_DEFAULT = BORDER_REFLECT_101, //!< same as BORDER_REFLECT_101 + BORDER_ISOLATED = 16 //!< do not look outside of ROI +}; + +//! @} core_array + +//! @addtogroup core_utils +//! @{ + +/*! @brief Signals an error and raises the exception. + +By default the function prints information about the error to stderr, +then it either stops if setBreakOnError() had been called before or raises the exception. +It is possible to alternate error processing by using redirectError(). +@param _code - error code (Error::Code) +@param _err - error description +@param _func - function name. Available only when the compiler supports getting it +@param _file - source file name where the error has occurred +@param _line - line number in the source file where the error has occurred +@see CV_Error, CV_Error_, CV_Assert, CV_DbgAssert + */ +CV_EXPORTS CV_NORETURN void error(int _code, const String& _err, const char* _func, const char* _file, int _line); + +#ifdef CV_STATIC_ANALYSIS + +// In practice, some macro are not processed correctly (noreturn is not detected). +// We need to use simplified definition for them. +#define CV_Error(code, msg) do { (void)(code); (void)(msg); abort(); } while (0) +#define CV_Error_(code, args) do { (void)(code); (void)(cv::format args); abort(); } while (0) +#define CV_Assert( expr ) do { if (!(expr)) abort(); } while (0) + +#else // CV_STATIC_ANALYSIS + +/** @brief Call the error handler. + +Currently, the error handler prints the error code and the error message to the standard +error stream `stderr`. In the Debug configuration, it then provokes memory access violation, so that +the execution stack and all the parameters can be analyzed by the debugger. In the Release +configuration, the exception is thrown. + +@param code one of Error::Code +@param msg error message +*/ +#define CV_Error( code, msg ) cv::error( code, msg, CV_Func, __FILE__, __LINE__ ) + +/** @brief Call the error handler. + +This macro can be used to construct an error message on-fly to include some dynamic information, +for example: +@code + // note the extra parentheses around the formatted text message + CV_Error_(Error::StsOutOfRange, + ("the value at (%d, %d)=%g is out of range", badPt.x, badPt.y, badValue)); +@endcode +@param code one of Error::Code +@param args printf-like formatted error message in parentheses +*/ +#define CV_Error_( code, args ) cv::error( code, cv::format args, CV_Func, __FILE__, __LINE__ ) + +/** @brief Checks a condition at runtime and throws exception if it fails + +The macros CV_Assert (and CV_DbgAssert(expr)) evaluate the specified expression. If it is 0, the macros +raise an error (see cv::error). The macro CV_Assert checks the condition in both Debug and Release +configurations while CV_DbgAssert is only retained in the Debug configuration. +*/ +#define CV_Assert( expr ) do { if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ ); } while(0) + +#endif // CV_STATIC_ANALYSIS + +//! @cond IGNORED +#if !defined(__OPENCV_BUILD) // TODO: backward compatibility only +#ifndef CV_ErrorNoReturn +#define CV_ErrorNoReturn CV_Error +#endif +#ifndef CV_ErrorNoReturn_ +#define CV_ErrorNoReturn_ CV_Error_ +#endif +#endif + +#define CV_Assert_1 CV_Assert +#define CV_Assert_2( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_1( __VA_ARGS__ )) +#define CV_Assert_3( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_2( __VA_ARGS__ )) +#define CV_Assert_4( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_3( __VA_ARGS__ )) +#define CV_Assert_5( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_4( __VA_ARGS__ )) +#define CV_Assert_6( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_5( __VA_ARGS__ )) +#define CV_Assert_7( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_6( __VA_ARGS__ )) +#define CV_Assert_8( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_7( __VA_ARGS__ )) +#define CV_Assert_9( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_8( __VA_ARGS__ )) +#define CV_Assert_10( expr, ... ) CV_Assert_1(expr); __CV_EXPAND(CV_Assert_9( __VA_ARGS__ )) + +#define CV_Assert_N(...) do { __CV_EXPAND(__CV_CAT(CV_Assert_, __CV_VA_NUM_ARGS(__VA_ARGS__)) (__VA_ARGS__)); } while(0) + +//! @endcond + +#if defined _DEBUG || defined CV_STATIC_ANALYSIS +# define CV_DbgAssert(expr) CV_Assert(expr) +#else +/** replaced with CV_Assert(expr) in Debug configuration */ +# define CV_DbgAssert(expr) +#endif + +/* + * Hamming distance functor - counts the bit differences between two strings - useful for the Brief descriptor + * bit count of A exclusive XOR'ed with B + */ +struct CV_EXPORTS Hamming +{ + static const NormTypes normType = NORM_HAMMING; + typedef unsigned char ValueType; + typedef int ResultType; + + /** this will count the bits in a ^ b + */ + ResultType operator()( const unsigned char* a, const unsigned char* b, int size ) const; +}; + +typedef Hamming HammingLUT; + +/////////////////////////////////// inline norms //////////////////////////////////// + +template inline _Tp cv_abs(_Tp x) { return std::abs(x); } +inline int cv_abs(uchar x) { return x; } +inline int cv_abs(schar x) { return std::abs(x); } +inline int cv_abs(ushort x) { return x; } +inline int cv_abs(short x) { return std::abs(x); } + +template static inline +_AccTp normL2Sqr(const _Tp* a, int n) +{ + _AccTp s = 0; + int i=0; +#if CV_ENABLE_UNROLLED + for( ; i <= n - 4; i += 4 ) + { + _AccTp v0 = a[i], v1 = a[i+1], v2 = a[i+2], v3 = a[i+3]; + s += v0*v0 + v1*v1 + v2*v2 + v3*v3; + } +#endif + for( ; i < n; i++ ) + { + _AccTp v = a[i]; + s += v*v; + } + return s; +} + +template static inline +_AccTp normL1(const _Tp* a, int n) +{ + _AccTp s = 0; + int i = 0; +#if CV_ENABLE_UNROLLED + for(; i <= n - 4; i += 4 ) + { + s += (_AccTp)cv_abs(a[i]) + (_AccTp)cv_abs(a[i+1]) + + (_AccTp)cv_abs(a[i+2]) + (_AccTp)cv_abs(a[i+3]); + } +#endif + for( ; i < n; i++ ) + s += cv_abs(a[i]); + return s; +} + +template static inline +_AccTp normInf(const _Tp* a, int n) +{ + _AccTp s = 0; + for( int i = 0; i < n; i++ ) + s = std::max(s, (_AccTp)cv_abs(a[i])); + return s; +} + +template static inline +_AccTp normL2Sqr(const _Tp* a, const _Tp* b, int n) +{ + _AccTp s = 0; + int i= 0; +#if CV_ENABLE_UNROLLED + for(; i <= n - 4; i += 4 ) + { + _AccTp v0 = _AccTp(a[i] - b[i]), v1 = _AccTp(a[i+1] - b[i+1]), v2 = _AccTp(a[i+2] - b[i+2]), v3 = _AccTp(a[i+3] - b[i+3]); + s += v0*v0 + v1*v1 + v2*v2 + v3*v3; + } +#endif + for( ; i < n; i++ ) + { + _AccTp v = _AccTp(a[i] - b[i]); + s += v*v; + } + return s; +} + +static inline float normL2Sqr(const float* a, const float* b, int n) +{ + float s = 0.f; + for( int i = 0; i < n; i++ ) + { + float v = a[i] - b[i]; + s += v*v; + } + return s; +} + +template static inline +_AccTp normL1(const _Tp* a, const _Tp* b, int n) +{ + _AccTp s = 0; + int i= 0; +#if CV_ENABLE_UNROLLED + for(; i <= n - 4; i += 4 ) + { + _AccTp v0 = _AccTp(a[i] - b[i]), v1 = _AccTp(a[i+1] - b[i+1]), v2 = _AccTp(a[i+2] - b[i+2]), v3 = _AccTp(a[i+3] - b[i+3]); + s += std::abs(v0) + std::abs(v1) + std::abs(v2) + std::abs(v3); + } +#endif + for( ; i < n; i++ ) + { + _AccTp v = _AccTp(a[i] - b[i]); + s += std::abs(v); + } + return s; +} + +inline float normL1(const float* a, const float* b, int n) +{ + float s = 0.f; + for( int i = 0; i < n; i++ ) + { + s += std::abs(a[i] - b[i]); + } + return s; +} + +inline int normL1(const uchar* a, const uchar* b, int n) +{ + int s = 0; + for( int i = 0; i < n; i++ ) + { + s += std::abs(a[i] - b[i]); + } + return s; +} + +template static inline +_AccTp normInf(const _Tp* a, const _Tp* b, int n) +{ + _AccTp s = 0; + for( int i = 0; i < n; i++ ) + { + _AccTp v0 = a[i] - b[i]; + s = std::max(s, std::abs(v0)); + } + return s; +} + +/** @brief Computes the cube root of an argument. + + The function cubeRoot computes \f$\sqrt[3]{\texttt{val}}\f$. Negative arguments are handled correctly. + NaN and Inf are not handled. The accuracy approaches the maximum possible accuracy for + single-precision data. + @param val A function argument. + */ +CV_EXPORTS_W float cubeRoot(float val); + +/** @overload + +cubeRoot with argument of `double` type calls `std::cbrt(double)` +*/ +static inline +double cubeRoot(double val) +{ + return std::cbrt(val); +} + +/** @brief Calculates the angle of a 2D vector in degrees. + + The function fastAtan2 calculates the full-range angle of an input 2D vector. The angle is measured + in degrees and varies from 0 to 360 degrees. The accuracy is about 0.3 degrees. + @param x x-coordinate of the vector. + @param y y-coordinate of the vector. + */ +CV_EXPORTS_W float fastAtan2(float y, float x); + +/** proxy for hal::LU */ +CV_EXPORTS int LU(float* A, size_t astep, int m, float* b, size_t bstep, int n); +/** proxy for hal::LU */ +CV_EXPORTS int LU(double* A, size_t astep, int m, double* b, size_t bstep, int n); +/** proxy for hal::Cholesky */ +CV_EXPORTS bool Cholesky(float* A, size_t astep, int m, float* b, size_t bstep, int n); +/** proxy for hal::Cholesky */ +CV_EXPORTS bool Cholesky(double* A, size_t astep, int m, double* b, size_t bstep, int n); + +////////////////// forward declarations for important OpenCV types ////////////////// + +//! @cond IGNORED + +template class Vec; +template class Matx; + +template class Complex; +template class Point_; +template class Point3_; +template class Size_; +template class Rect_; +template class Scalar_; + +class CV_EXPORTS RotatedRect; +class CV_EXPORTS Range; +class CV_EXPORTS TermCriteria; +class CV_EXPORTS KeyPoint; +class CV_EXPORTS DMatch; +class CV_EXPORTS RNG; + +class CV_EXPORTS Mat; +class CV_EXPORTS MatExpr; + +class CV_EXPORTS UMat; + +class CV_EXPORTS SparseMat; +typedef Mat MatND; + +template class Mat_; +template class SparseMat_; + +class CV_EXPORTS MatConstIterator; +class CV_EXPORTS SparseMatIterator; +class CV_EXPORTS SparseMatConstIterator; +template class MatIterator_; +template class MatConstIterator_; +template class SparseMatIterator_; +template class SparseMatConstIterator_; + +namespace ogl +{ + class CV_EXPORTS Buffer; + class CV_EXPORTS Texture2D; + class CV_EXPORTS Arrays; +} + +namespace cuda +{ + class CV_EXPORTS GpuMat; + class CV_EXPORTS HostMem; + class CV_EXPORTS Stream; + class CV_EXPORTS Event; +} + +namespace cudev +{ + template class GpuMat_; +} + +namespace ipp +{ +CV_EXPORTS unsigned long long getIppFeatures(); +CV_EXPORTS void setIppStatus(int status, const char * const funcname = NULL, const char * const filename = NULL, + int line = 0); +CV_EXPORTS int getIppStatus(); +CV_EXPORTS String getIppErrorLocation(); +CV_EXPORTS_W bool useIPP(); +CV_EXPORTS_W void setUseIPP(bool flag); +CV_EXPORTS_W String getIppVersion(); + +// IPP Not-Exact mode. This function may force use of IPP then both IPP and OpenCV provide proper results +// but have internal accuracy differences which have too much direct or indirect impact on accuracy tests. +CV_EXPORTS_W bool useIPP_NotExact(); +CV_EXPORTS_W void setUseIPP_NotExact(bool flag); +#ifndef DISABLE_OPENCV_3_COMPATIBILITY +static inline bool useIPP_NE() { return useIPP_NotExact(); } +static inline void setUseIPP_NE(bool flag) { setUseIPP_NotExact(flag); } +#endif + +} // ipp + +//! @endcond + +//! @} core_utils + + + + +} // cv + +#include "opencv2/core/neon_utils.hpp" +#include "opencv2/core/vsx_utils.hpp" +#include "opencv2/core/check.hpp" + +#endif //OPENCV_CORE_BASE_HPP diff --git a/camera_lib/include/opencv2/core/bindings_utils.hpp b/camera_lib/include/opencv2/core/bindings_utils.hpp new file mode 100644 index 0000000..64f3465 --- /dev/null +++ b/camera_lib/include/opencv2/core/bindings_utils.hpp @@ -0,0 +1,352 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_CORE_BINDINGS_UTILS_HPP +#define OPENCV_CORE_BINDINGS_UTILS_HPP + +#include +#include +#include + +#include + +namespace cv { namespace utils { +//! @addtogroup core_utils +//! @{ + +CV_EXPORTS_W String dumpInputArray(InputArray argument); + +CV_EXPORTS_W String dumpInputArrayOfArrays(InputArrayOfArrays argument); + +CV_EXPORTS_W String dumpInputOutputArray(InputOutputArray argument); + +CV_EXPORTS_W String dumpInputOutputArrayOfArrays(InputOutputArrayOfArrays argument); + +CV_WRAP static inline +String dumpBool(bool argument) +{ + return (argument) ? String("Bool: True") : String("Bool: False"); +} + +CV_WRAP static inline +String dumpInt(int argument) +{ + return cv::format("Int: %d", argument); +} + +CV_WRAP static inline +String dumpInt64(int64 argument) +{ + std::ostringstream oss("Int64: ", std::ios::ate); + oss << argument; + return oss.str(); +} + +CV_WRAP static inline +String dumpSizeT(size_t argument) +{ + std::ostringstream oss("size_t: ", std::ios::ate); + oss << argument; + return oss.str(); +} + +CV_WRAP static inline +String dumpFloat(float argument) +{ + return cv::format("Float: %.2f", argument); +} + +CV_WRAP static inline +String dumpDouble(double argument) +{ + return cv::format("Double: %.2f", argument); +} + +CV_WRAP static inline +String dumpCString(const char* argument) +{ + return cv::format("String: %s", argument); +} + +CV_WRAP static inline +String dumpString(const String& argument) +{ + return cv::format("String: %s", argument.c_str()); +} + +CV_WRAP static inline +String testOverloadResolution(int value, const Point& point = Point(42, 24)) +{ + return format("overload (int=%d, point=(x=%d, y=%d))", value, point.x, + point.y); +} + +CV_WRAP static inline +String testOverloadResolution(const Rect& rect) +{ + return format("overload (rect=(x=%d, y=%d, w=%d, h=%d))", rect.x, rect.y, + rect.width, rect.height); +} + +CV_WRAP static inline +String dumpRect(const Rect& argument) +{ + return format("rect: (x=%d, y=%d, w=%d, h=%d)", argument.x, argument.y, + argument.width, argument.height); +} + +CV_WRAP static inline +String dumpTermCriteria(const TermCriteria& argument) +{ + return format("term_criteria: (type=%d, max_count=%d, epsilon=%lf", + argument.type, argument.maxCount, argument.epsilon); +} + +CV_WRAP static inline +String dumpRotatedRect(const RotatedRect& argument) +{ + return format("rotated_rect: (c_x=%f, c_y=%f, w=%f, h=%f, a=%f)", + argument.center.x, argument.center.y, argument.size.width, + argument.size.height, argument.angle); +} + +CV_WRAP static inline +RotatedRect testRotatedRect(float x, float y, float w, float h, float angle) +{ + return RotatedRect(Point2f(x, y), Size2f(w, h), angle); +} + +CV_WRAP static inline +std::vector testRotatedRectVector(float x, float y, float w, float h, float angle) +{ + std::vector result; + for (int i = 0; i < 10; i++) + result.push_back(RotatedRect(Point2f(x + i, y + 2 * i), Size2f(w, h), angle + 10 * i)); + return result; +} + +CV_WRAP static inline +String dumpRange(const Range& argument) +{ + if (argument == Range::all()) + { + return "range: all"; + } + else + { + return format("range: (s=%d, e=%d)", argument.start, argument.end); + } +} + +CV_WRAP static inline +int testOverwriteNativeMethod(int argument) +{ + return argument; +} + +CV_WRAP static inline +String testReservedKeywordConversion(int positional_argument, int lambda = 2, int from = 3) +{ + return format("arg=%d, lambda=%d, from=%d", positional_argument, lambda, from); +} + +CV_EXPORTS_W String dumpVectorOfInt(const std::vector& vec); + +CV_EXPORTS_W String dumpVectorOfDouble(const std::vector& vec); + +CV_EXPORTS_W String dumpVectorOfRect(const std::vector& vec); + +CV_WRAP static inline +void generateVectorOfRect(size_t len, CV_OUT std::vector& vec) +{ + vec.resize(len); + if (len > 0) + { + RNG rng(12345); + Mat tmp(static_cast(len), 1, CV_32SC4); + rng.fill(tmp, RNG::UNIFORM, 10, 20); + tmp.copyTo(vec); + } +} + +CV_WRAP static inline +void generateVectorOfInt(size_t len, CV_OUT std::vector& vec) +{ + vec.resize(len); + if (len > 0) + { + RNG rng(554433); + Mat tmp(static_cast(len), 1, CV_32SC1); + rng.fill(tmp, RNG::UNIFORM, -10, 10); + tmp.copyTo(vec); + } +} + +CV_WRAP static inline +void generateVectorOfMat(size_t len, int rows, int cols, int dtype, CV_OUT std::vector& vec) +{ + vec.resize(len); + if (len > 0) + { + RNG rng(65431); + for (size_t i = 0; i < len; ++i) + { + vec[i].create(rows, cols, dtype); + rng.fill(vec[i], RNG::UNIFORM, 0, 10); + } + } +} + +CV_WRAP static inline +void testRaiseGeneralException() +{ + throw std::runtime_error("exception text"); +} + +CV_WRAP static inline +AsyncArray testAsyncArray(InputArray argument) +{ + AsyncPromise p; + p.setValue(argument); + return p.getArrayResult(); +} + +CV_WRAP static inline +AsyncArray testAsyncException() +{ + AsyncPromise p; + try + { + CV_Error(Error::StsOk, "Test: Generated async error"); + } + catch (const cv::Exception& e) + { + p.setException(e); + } + return p.getArrayResult(); +} + +CV_WRAP static inline +String dumpVec2i(const cv::Vec2i value = cv::Vec2i(42, 24)) { + return format("Vec2i(%d, %d)", value[0], value[1]); +} + +struct CV_EXPORTS_W_SIMPLE ClassWithKeywordProperties { + CV_PROP_RW int lambda; + CV_PROP int except; + + CV_WRAP explicit ClassWithKeywordProperties(int lambda_arg = 24, int except_arg = 42) + { + lambda = lambda_arg; + except = except_arg; + } +}; + +struct CV_EXPORTS_W_PARAMS FunctionParams +{ + CV_PROP_RW int lambda = -1; + CV_PROP_RW float sigma = 0.0f; + + FunctionParams& setLambda(int value) CV_NOEXCEPT + { + lambda = value; + return *this; + } + + FunctionParams& setSigma(float value) CV_NOEXCEPT + { + sigma = value; + return *this; + } +}; + +CV_WRAP static inline String +copyMatAndDumpNamedArguments(InputArray src, OutputArray dst, + const FunctionParams& params = FunctionParams()) +{ + src.copyTo(dst); + return format("lambda=%d, sigma=%.1f", params.lambda, + params.sigma); +} + +namespace nested { +CV_WRAP static inline bool testEchoBooleanFunction(bool flag) { + return flag; +} + +class CV_EXPORTS_W CV_WRAP_AS(ExportClassName) OriginalClassName +{ +public: + struct CV_EXPORTS_W_SIMPLE Params + { + CV_PROP_RW int int_value; + CV_PROP_RW float float_value; + + CV_WRAP explicit Params(int int_param = 123, float float_param = 3.5f) + { + int_value = int_param; + float_value = float_param; + } + }; + + explicit OriginalClassName(const OriginalClassName::Params& params = OriginalClassName::Params()) + { + params_ = params; + } + + CV_WRAP int getIntParam() const + { + return params_.int_value; + } + + CV_WRAP float getFloatParam() const + { + return params_.float_value; + } + + CV_WRAP static std::string originalName() + { + return "OriginalClassName"; + } + + CV_WRAP static Ptr + create(const OriginalClassName::Params& params = OriginalClassName::Params()) + { + return makePtr(params); + } + +private: + OriginalClassName::Params params_; +}; + +typedef OriginalClassName::Params OriginalClassName_Params; +} // namespace nested + +namespace fs { + CV_EXPORTS_W cv::String getCacheDirectoryForDownloads(); +} // namespace fs + +//! @} // core_utils +} // namespace cv::utils + +//! @cond IGNORED + +CV_WRAP static inline +int setLogLevel(int level) +{ + // NB: Binding generators doesn't work with enums properly yet, so we define separate overload here + return cv::utils::logging::setLogLevel((cv::utils::logging::LogLevel)level); +} + +CV_WRAP static inline +int getLogLevel() +{ + return cv::utils::logging::getLogLevel(); +} + +//! @endcond IGNORED + +} // namespaces cv / utils + +#endif // OPENCV_CORE_BINDINGS_UTILS_HPP diff --git a/camera_lib/include/opencv2/core/bufferpool.hpp b/camera_lib/include/opencv2/core/bufferpool.hpp new file mode 100644 index 0000000..4698e5d --- /dev/null +++ b/camera_lib/include/opencv2/core/bufferpool.hpp @@ -0,0 +1,40 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +// +// Copyright (C) 2014, Advanced Micro Devices, Inc., all rights reserved. + +#ifndef OPENCV_CORE_BUFFER_POOL_HPP +#define OPENCV_CORE_BUFFER_POOL_HPP + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable: 4265) +#endif + +namespace cv +{ + +//! @addtogroup core +//! @{ + +class BufferPoolController +{ +protected: + ~BufferPoolController() { } +public: + virtual size_t getReservedSize() const = 0; + virtual size_t getMaxReservedSize() const = 0; + virtual void setMaxReservedSize(size_t size) = 0; + virtual void freeAllReservedBuffers() = 0; +}; + +//! @} + +} + +#ifdef _MSC_VER +#pragma warning(pop) +#endif + +#endif // OPENCV_CORE_BUFFER_POOL_HPP diff --git a/camera_lib/include/opencv2/core/check.hpp b/camera_lib/include/opencv2/core/check.hpp new file mode 100644 index 0000000..c9ce97b --- /dev/null +++ b/camera_lib/include/opencv2/core/check.hpp @@ -0,0 +1,170 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_CORE_CHECK_HPP +#define OPENCV_CORE_CHECK_HPP + +#include + +namespace cv { + +/** Returns string of cv::Mat depth value: CV_8U -> "CV_8U" or "" */ +CV_EXPORTS const char* depthToString(int depth); + +/** Returns string of cv::Mat depth value: CV_8UC3 -> "CV_8UC3" or "" */ +CV_EXPORTS String typeToString(int type); + + +//! @cond IGNORED +namespace detail { + +/** Returns string of cv::Mat depth value: CV_8U -> "CV_8U" or NULL */ +CV_EXPORTS const char* depthToString_(int depth); + +/** Returns string of cv::Mat depth value: CV_8UC3 -> "CV_8UC3" or cv::String() */ +CV_EXPORTS cv::String typeToString_(int type); + +enum TestOp { + TEST_CUSTOM = 0, + TEST_EQ = 1, + TEST_NE = 2, + TEST_LE = 3, + TEST_LT = 4, + TEST_GE = 5, + TEST_GT = 6, + CV__LAST_TEST_OP +}; + +struct CheckContext { + const char* func; + const char* file; + int line; + enum TestOp testOp; + const char* message; + const char* p1_str; + const char* p2_str; +}; + +#ifndef CV__CHECK_FILENAME +# define CV__CHECK_FILENAME __FILE__ +#endif + +#ifndef CV__CHECK_FUNCTION +# if defined _MSC_VER +# define CV__CHECK_FUNCTION __FUNCSIG__ +# elif defined __GNUC__ +# define CV__CHECK_FUNCTION __PRETTY_FUNCTION__ +# else +# define CV__CHECK_FUNCTION "" +# endif +#endif + +#define CV__CHECK_LOCATION_VARNAME(id) CVAUX_CONCAT(CVAUX_CONCAT(__cv_check_, id), __LINE__) +#define CV__DEFINE_CHECK_CONTEXT(id, message, testOp, p1_str, p2_str) \ + static const cv::detail::CheckContext CV__CHECK_LOCATION_VARNAME(id) = \ + { CV__CHECK_FUNCTION, CV__CHECK_FILENAME, __LINE__, testOp, "" message, "" p1_str, "" p2_str } + +CV_EXPORTS void CV_NORETURN check_failed_auto(const bool v1, const bool v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const int v1, const int v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const size_t v1, const size_t v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const float v1, const float v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const double v1, const double v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const Size_ v1, const Size_ v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_MatDepth(const int v1, const int v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_MatType(const int v1, const int v2, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_MatChannels(const int v1, const int v2, const CheckContext& ctx); + +CV_EXPORTS void CV_NORETURN check_failed_true(const bool v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_false(const bool v, const CheckContext& ctx); + +CV_EXPORTS void CV_NORETURN check_failed_auto(const int v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const size_t v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const float v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const double v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const Size_ v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_auto(const std::string& v1, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_MatDepth(const int v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_MatType(const int v, const CheckContext& ctx); +CV_EXPORTS void CV_NORETURN check_failed_MatChannels(const int v, const CheckContext& ctx); + + +#define CV__TEST_EQ(v1, v2) ((v1) == (v2)) +#define CV__TEST_NE(v1, v2) ((v1) != (v2)) +#define CV__TEST_LE(v1, v2) ((v1) <= (v2)) +#define CV__TEST_LT(v1, v2) ((v1) < (v2)) +#define CV__TEST_GE(v1, v2) ((v1) >= (v2)) +#define CV__TEST_GT(v1, v2) ((v1) > (v2)) + +#define CV__CHECK(id, op, type, v1, v2, v1_str, v2_str, msg_str) do { \ + if(CV__TEST_##op((v1), (v2))) ; else { \ + CV__DEFINE_CHECK_CONTEXT(id, msg_str, cv::detail::TEST_ ## op, v1_str, v2_str); \ + cv::detail::check_failed_ ## type((v1), (v2), CV__CHECK_LOCATION_VARNAME(id)); \ + } \ +} while (0) + +#define CV__CHECK_CUSTOM_TEST(id, type, v, test_expr, v_str, test_expr_str, msg_str) do { \ + if(!!(test_expr)) ; else { \ + CV__DEFINE_CHECK_CONTEXT(id, msg_str, cv::detail::TEST_CUSTOM, v_str, test_expr_str); \ + cv::detail::check_failed_ ## type((v), CV__CHECK_LOCATION_VARNAME(id)); \ + } \ +} while (0) + +} // namespace +//! @endcond + + +/// Supported values of these types: int, float, double +#define CV_CheckEQ(v1, v2, msg) CV__CHECK(_, EQ, auto, v1, v2, #v1, #v2, msg) +#define CV_CheckNE(v1, v2, msg) CV__CHECK(_, NE, auto, v1, v2, #v1, #v2, msg) +#define CV_CheckLE(v1, v2, msg) CV__CHECK(_, LE, auto, v1, v2, #v1, #v2, msg) +#define CV_CheckLT(v1, v2, msg) CV__CHECK(_, LT, auto, v1, v2, #v1, #v2, msg) +#define CV_CheckGE(v1, v2, msg) CV__CHECK(_, GE, auto, v1, v2, #v1, #v2, msg) +#define CV_CheckGT(v1, v2, msg) CV__CHECK(_, GT, auto, v1, v2, #v1, #v2, msg) + +/// Check with additional "decoding" of type values in error message +#define CV_CheckTypeEQ(t1, t2, msg) CV__CHECK(_, EQ, MatType, t1, t2, #t1, #t2, msg) +/// Check with additional "decoding" of depth values in error message +#define CV_CheckDepthEQ(d1, d2, msg) CV__CHECK(_, EQ, MatDepth, d1, d2, #d1, #d2, msg) + +#define CV_CheckChannelsEQ(c1, c2, msg) CV__CHECK(_, EQ, MatChannels, c1, c2, #c1, #c2, msg) + +/// Example: type == CV_8UC1 || type == CV_8UC3 +#define CV_CheckType(t, test_expr, msg) CV__CHECK_CUSTOM_TEST(_, MatType, t, (test_expr), #t, #test_expr, msg) + +/// Example: depth == CV_32F || depth == CV_64F +#define CV_CheckDepth(t, test_expr, msg) CV__CHECK_CUSTOM_TEST(_, MatDepth, t, (test_expr), #t, #test_expr, msg) + +/// Example: v == A || v == B +#define CV_Check(v, test_expr, msg) CV__CHECK_CUSTOM_TEST(_, auto, v, (test_expr), #v, #test_expr, msg) + +/// Example: v == true +#define CV_CheckTrue(v, msg) CV__CHECK_CUSTOM_TEST(_, true, v, v, #v, "", msg) + +/// Example: v == false +#define CV_CheckFalse(v, msg) CV__CHECK_CUSTOM_TEST(_, false, v, (!(v)), #v, "", msg) + +/// Some complex conditions: CV_Check(src2, src2.empty() || (src2.type() == src1.type() && src2.size() == src1.size()), "src2 should have same size/type as src1") +// TODO define pretty-printers + +#ifndef NDEBUG +#define CV_DbgCheck(v, test_expr, msg) CV__CHECK_CUSTOM_TEST(_, auto, v, (test_expr), #v, #test_expr, msg) +#define CV_DbgCheckEQ(v1, v2, msg) CV__CHECK(_, EQ, auto, v1, v2, #v1, #v2, msg) +#define CV_DbgCheckNE(v1, v2, msg) CV__CHECK(_, NE, auto, v1, v2, #v1, #v2, msg) +#define CV_DbgCheckLE(v1, v2, msg) CV__CHECK(_, LE, auto, v1, v2, #v1, #v2, msg) +#define CV_DbgCheckLT(v1, v2, msg) CV__CHECK(_, LT, auto, v1, v2, #v1, #v2, msg) +#define CV_DbgCheckGE(v1, v2, msg) CV__CHECK(_, GE, auto, v1, v2, #v1, #v2, msg) +#define CV_DbgCheckGT(v1, v2, msg) CV__CHECK(_, GT, auto, v1, v2, #v1, #v2, msg) +#else +#define CV_DbgCheck(v, test_expr, msg) do { } while (0) +#define CV_DbgCheckEQ(v1, v2, msg) do { } while (0) +#define CV_DbgCheckNE(v1, v2, msg) do { } while (0) +#define CV_DbgCheckLE(v1, v2, msg) do { } while (0) +#define CV_DbgCheckLT(v1, v2, msg) do { } while (0) +#define CV_DbgCheckGE(v1, v2, msg) do { } while (0) +#define CV_DbgCheckGT(v1, v2, msg) do { } while (0) +#endif + +} // namespace + +#endif // OPENCV_CORE_CHECK_HPP diff --git a/camera_lib/include/opencv2/core/core.hpp b/camera_lib/include/opencv2/core/core.hpp new file mode 100644 index 0000000..4389183 --- /dev/null +++ b/camera_lib/include/opencv2/core/core.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/core.hpp" diff --git a/camera_lib/include/opencv2/core/core_c.h b/camera_lib/include/opencv2/core/core_c.h new file mode 100644 index 0000000..7b686b8 --- /dev/null +++ b/camera_lib/include/opencv2/core/core_c.h @@ -0,0 +1,3128 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + + +#ifndef OPENCV_CORE_C_H +#define OPENCV_CORE_C_H + +#include "opencv2/core/types_c.h" + +#ifdef __cplusplus +/* disable MSVC warning C4190 / clang-cl -Wreturn-type-c-linkage: + 'function' has C-linkage specified, but returns UDT 'typename' + which is incompatible with C + + It is OK to disable it because we only extend few plain structures with + C++ constructors for simpler interoperability with C++ API of the library +*/ +# if defined(__clang__) + // handle clang on Linux and clang-cl (i. e. clang on Windows) first +# pragma GCC diagnostic ignored "-Wreturn-type-c-linkage" +# elif defined(_MSC_VER) + // then handle MSVC +# pragma warning(disable:4190) +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup core_c + @{ +*/ + +/****************************************************************************************\ +* Array allocation, deallocation, initialization and access to elements * +\****************************************************************************************/ + +/** `malloc` wrapper. + If there is no enough memory, the function + (as well as other OpenCV functions that call cvAlloc) + raises an error. */ +CVAPI(void*) cvAlloc( size_t size ); + +/** `free` wrapper. + Here and further all the memory releasing functions + (that all call cvFree) take double pointer in order to + to clear pointer to the data after releasing it. + Passing pointer to NULL pointer is Ok: nothing happens in this case +*/ +CVAPI(void) cvFree_( void* ptr ); +#define cvFree(ptr) (cvFree_(*(ptr)), *(ptr)=0) + +/** @brief Creates an image header but does not allocate the image data. + +@param size Image width and height +@param depth Image depth (see cvCreateImage ) +@param channels Number of channels (see cvCreateImage ) + */ +CVAPI(IplImage*) cvCreateImageHeader( CvSize size, int depth, int channels ); + +/** @brief Initializes an image header that was previously allocated. + +The returned IplImage\* points to the initialized header. +@param image Image header to initialize +@param size Image width and height +@param depth Image depth (see cvCreateImage ) +@param channels Number of channels (see cvCreateImage ) +@param origin Top-left IPL_ORIGIN_TL or bottom-left IPL_ORIGIN_BL +@param align Alignment for image rows, typically 4 or 8 bytes + */ +CVAPI(IplImage*) cvInitImageHeader( IplImage* image, CvSize size, int depth, + int channels, int origin CV_DEFAULT(0), + int align CV_DEFAULT(4)); + +/** @brief Creates an image header and allocates the image data. + +This function call is equivalent to the following code: +@code + header = cvCreateImageHeader(size, depth, channels); + cvCreateData(header); +@endcode +@param size Image width and height +@param depth Bit depth of image elements. See IplImage for valid depths. +@param channels Number of channels per pixel. See IplImage for details. This function only creates +images with interleaved channels. + */ +CVAPI(IplImage*) cvCreateImage( CvSize size, int depth, int channels ); + +/** @brief Deallocates an image header. + +This call is an analogue of : +@code + if(image ) + { + iplDeallocate(*image, IPL_IMAGE_HEADER | IPL_IMAGE_ROI); + *image = 0; + } +@endcode +but it does not use IPL functions by default (see the CV_TURN_ON_IPL_COMPATIBILITY macro). +@param image Double pointer to the image header + */ +CVAPI(void) cvReleaseImageHeader( IplImage** image ); + +/** @brief Deallocates the image header and the image data. + +This call is a shortened form of : +@code + if(*image ) + { + cvReleaseData(*image); + cvReleaseImageHeader(image); + } +@endcode +@param image Double pointer to the image header +*/ +CVAPI(void) cvReleaseImage( IplImage** image ); + +/** Creates a copy of IPL image (widthStep may differ) */ +CVAPI(IplImage*) cvCloneImage( const IplImage* image ); + +/** @brief Sets the channel of interest in an IplImage. + +If the ROI is set to NULL and the coi is *not* 0, the ROI is allocated. Most OpenCV functions do +*not* support the COI setting, so to process an individual image/matrix channel one may copy (via +cvCopy or cvSplit) the channel to a separate image/matrix, process it and then copy the result +back (via cvCopy or cvMerge) if needed. +@param image A pointer to the image header +@param coi The channel of interest. 0 - all channels are selected, 1 - first channel is selected, +etc. Note that the channel indices become 1-based. + */ +CVAPI(void) cvSetImageCOI( IplImage* image, int coi ); + +/** @brief Returns the index of the channel of interest. + +Returns the channel of interest of in an IplImage. Returned values correspond to the coi in +cvSetImageCOI. +@param image A pointer to the image header + */ +CVAPI(int) cvGetImageCOI( const IplImage* image ); + +/** @brief Sets an image Region Of Interest (ROI) for a given rectangle. + +If the original image ROI was NULL and the rect is not the whole image, the ROI structure is +allocated. + +Most OpenCV functions support the use of ROI and treat the image rectangle as a separate image. For +example, all of the pixel coordinates are counted from the top-left (or bottom-left) corner of the +ROI, not the original image. +@param image A pointer to the image header +@param rect The ROI rectangle + */ +CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect ); + +/** @brief Resets the image ROI to include the entire image and releases the ROI structure. + +This produces a similar result to the following, but in addition it releases the ROI structure. : +@code + cvSetImageROI(image, cvRect(0, 0, image->width, image->height )); + cvSetImageCOI(image, 0); +@endcode +@param image A pointer to the image header + */ +CVAPI(void) cvResetImageROI( IplImage* image ); + +/** @brief Returns the image ROI. + +If there is no ROI set, cvRect(0,0,image-\>width,image-\>height) is returned. +@param image A pointer to the image header + */ +CVAPI(CvRect) cvGetImageROI( const IplImage* image ); + +/** @brief Creates a matrix header but does not allocate the matrix data. + +The function allocates a new matrix header and returns a pointer to it. The matrix data can then be +allocated using cvCreateData or set explicitly to user-allocated data via cvSetData. +@param rows Number of rows in the matrix +@param cols Number of columns in the matrix +@param type Type of the matrix elements, see cvCreateMat + */ +CVAPI(CvMat*) cvCreateMatHeader( int rows, int cols, int type ); + +#define CV_AUTOSTEP 0x7fffffff + +/** @brief Initializes a pre-allocated matrix header. + +This function is often used to process raw data with OpenCV matrix functions. For example, the +following code computes the matrix product of two matrices, stored as ordinary arrays: +@code + double a[] = { 1, 2, 3, 4, + 5, 6, 7, 8, + 9, 10, 11, 12 }; + + double b[] = { 1, 5, 9, + 2, 6, 10, + 3, 7, 11, + 4, 8, 12 }; + + double c[9]; + CvMat Ma, Mb, Mc ; + + cvInitMatHeader(&Ma, 3, 4, CV_64FC1, a); + cvInitMatHeader(&Mb, 4, 3, CV_64FC1, b); + cvInitMatHeader(&Mc, 3, 3, CV_64FC1, c); + + cvMatMulAdd(&Ma, &Mb, 0, &Mc); + // the c array now contains the product of a (3x4) and b (4x3) +@endcode +@param mat A pointer to the matrix header to be initialized +@param rows Number of rows in the matrix +@param cols Number of columns in the matrix +@param type Type of the matrix elements, see cvCreateMat . +@param data Optional: data pointer assigned to the matrix header +@param step Optional: full row width in bytes of the assigned data. By default, the minimal +possible step is used which assumes there are no gaps between subsequent rows of the matrix. + */ +CVAPI(CvMat*) cvInitMatHeader( CvMat* mat, int rows, int cols, + int type, void* data CV_DEFAULT(NULL), + int step CV_DEFAULT(CV_AUTOSTEP) ); + +/** @brief Creates a matrix header and allocates the matrix data. + +The function call is equivalent to the following code: +@code + CvMat* mat = cvCreateMatHeader(rows, cols, type); + cvCreateData(mat); +@endcode +@param rows Number of rows in the matrix +@param cols Number of columns in the matrix +@param type The type of the matrix elements in the form +CV_\\C\ , where S=signed, U=unsigned, F=float. For +example, CV _ 8UC1 means the elements are 8-bit unsigned and the there is 1 channel, and CV _ +32SC2 means the elements are 32-bit signed and there are 2 channels. + */ +CVAPI(CvMat*) cvCreateMat( int rows, int cols, int type ); + +/** @brief Deallocates a matrix. + +The function decrements the matrix data reference counter and deallocates matrix header. If the data +reference counter is 0, it also deallocates the data. : +@code + if(*mat ) + cvDecRefData(*mat); + cvFree((void**)mat); +@endcode +@param mat Double pointer to the matrix + */ +CVAPI(void) cvReleaseMat( CvMat** mat ); + +/** @brief Decrements an array data reference counter. + +The function decrements the data reference counter in a CvMat or CvMatND if the reference counter + +pointer is not NULL. If the counter reaches zero, the data is deallocated. In the current +implementation the reference counter is not NULL only if the data was allocated using the +cvCreateData function. The counter will be NULL in other cases such as: external data was assigned +to the header using cvSetData, header is part of a larger matrix or image, or the header was +converted from an image or n-dimensional matrix header. +@param arr Pointer to an array header + */ +CV_INLINE void cvDecRefData( CvArr* arr ) +{ + if( CV_IS_MAT( arr )) + { + CvMat* mat = (CvMat*)arr; + mat->data.ptr = NULL; + if( mat->refcount != NULL && --*mat->refcount == 0 ) + cvFree( &mat->refcount ); + mat->refcount = NULL; + } + else if( CV_IS_MATND( arr )) + { + CvMatND* mat = (CvMatND*)arr; + mat->data.ptr = NULL; + if( mat->refcount != NULL && --*mat->refcount == 0 ) + cvFree( &mat->refcount ); + mat->refcount = NULL; + } +} + +/** @brief Increments array data reference counter. + +The function increments CvMat or CvMatND data reference counter and returns the new counter value if +the reference counter pointer is not NULL, otherwise it returns zero. +@param arr Array header + */ +CV_INLINE int cvIncRefData( CvArr* arr ) +{ + int refcount = 0; + if( CV_IS_MAT( arr )) + { + CvMat* mat = (CvMat*)arr; + if( mat->refcount != NULL ) + refcount = ++*mat->refcount; + } + else if( CV_IS_MATND( arr )) + { + CvMatND* mat = (CvMatND*)arr; + if( mat->refcount != NULL ) + refcount = ++*mat->refcount; + } + return refcount; +} + + +/** Creates an exact copy of the input matrix (except, may be, step value) */ +CVAPI(CvMat*) cvCloneMat( const CvMat* mat ); + + +/** @brief Returns matrix header corresponding to the rectangular sub-array of input image or matrix. + +The function returns header, corresponding to a specified rectangle of the input array. In other + +words, it allows the user to treat a rectangular part of input array as a stand-alone array. ROI is +taken into account by the function so the sub-array of ROI is actually extracted. +@param arr Input array +@param submat Pointer to the resultant sub-array header +@param rect Zero-based coordinates of the rectangle of interest + */ +CVAPI(CvMat*) cvGetSubRect( const CvArr* arr, CvMat* submat, CvRect rect ); +#define cvGetSubArr cvGetSubRect + +/** @brief Returns array row or row span. + +The function returns the header, corresponding to a specified row/row span of the input array. +cvGetRow(arr, submat, row) is a shortcut for cvGetRows(arr, submat, row, row+1). +@param arr Input array +@param submat Pointer to the resulting sub-array header +@param start_row Zero-based index of the starting row (inclusive) of the span +@param end_row Zero-based index of the ending row (exclusive) of the span +@param delta_row Index step in the row span. That is, the function extracts every delta_row -th +row from start_row and up to (but not including) end_row . + */ +CVAPI(CvMat*) cvGetRows( const CvArr* arr, CvMat* submat, + int start_row, int end_row, + int delta_row CV_DEFAULT(1)); + +/** @overload +@param arr Input array +@param submat Pointer to the resulting sub-array header +@param row Zero-based index of the selected row +*/ +CV_INLINE CvMat* cvGetRow( const CvArr* arr, CvMat* submat, int row ) +{ + return cvGetRows( arr, submat, row, row + 1, 1 ); +} + + +/** @brief Returns one of more array columns. + +The function returns the header, corresponding to a specified column span of the input array. That + +is, no data is copied. Therefore, any modifications of the submatrix will affect the original array. +If you need to copy the columns, use cvCloneMat. cvGetCol(arr, submat, col) is a shortcut for +cvGetCols(arr, submat, col, col+1). +@param arr Input array +@param submat Pointer to the resulting sub-array header +@param start_col Zero-based index of the starting column (inclusive) of the span +@param end_col Zero-based index of the ending column (exclusive) of the span + */ +CVAPI(CvMat*) cvGetCols( const CvArr* arr, CvMat* submat, + int start_col, int end_col ); + +/** @overload +@param arr Input array +@param submat Pointer to the resulting sub-array header +@param col Zero-based index of the selected column +*/ +CV_INLINE CvMat* cvGetCol( const CvArr* arr, CvMat* submat, int col ) +{ + return cvGetCols( arr, submat, col, col + 1 ); +} + +/** @brief Returns one of array diagonals. + +The function returns the header, corresponding to a specified diagonal of the input array. +@param arr Input array +@param submat Pointer to the resulting sub-array header +@param diag Index of the array diagonal. Zero value corresponds to the main diagonal, -1 +corresponds to the diagonal above the main, 1 corresponds to the diagonal below the main, and so +forth. + */ +CVAPI(CvMat*) cvGetDiag( const CvArr* arr, CvMat* submat, + int diag CV_DEFAULT(0)); + +/** low-level scalar <-> raw data conversion functions */ +CVAPI(void) cvScalarToRawData( const CvScalar* scalar, void* data, int type, + int extend_to_12 CV_DEFAULT(0) ); + +CVAPI(void) cvRawDataToScalar( const void* data, int type, CvScalar* scalar ); + +/** @brief Creates a new matrix header but does not allocate the matrix data. + +The function allocates a header for a multi-dimensional dense array. The array data can further be +allocated using cvCreateData or set explicitly to user-allocated data via cvSetData. +@param dims Number of array dimensions +@param sizes Array of dimension sizes +@param type Type of array elements, see cvCreateMat + */ +CVAPI(CvMatND*) cvCreateMatNDHeader( int dims, const int* sizes, int type ); + +/** @brief Creates the header and allocates the data for a multi-dimensional dense array. + +This function call is equivalent to the following code: +@code + CvMatND* mat = cvCreateMatNDHeader(dims, sizes, type); + cvCreateData(mat); +@endcode +@param dims Number of array dimensions. This must not exceed CV_MAX_DIM (32 by default, but can be +changed at build time). +@param sizes Array of dimension sizes. +@param type Type of array elements, see cvCreateMat . + */ +CVAPI(CvMatND*) cvCreateMatND( int dims, const int* sizes, int type ); + +/** @brief Initializes a pre-allocated multi-dimensional array header. + +@param mat A pointer to the array header to be initialized +@param dims The number of array dimensions +@param sizes An array of dimension sizes +@param type Type of array elements, see cvCreateMat +@param data Optional data pointer assigned to the matrix header + */ +CVAPI(CvMatND*) cvInitMatNDHeader( CvMatND* mat, int dims, const int* sizes, + int type, void* data CV_DEFAULT(NULL) ); + +/** @brief Deallocates a multi-dimensional array. + +The function decrements the array data reference counter and releases the array header. If the +reference counter reaches 0, it also deallocates the data. : +@code + if(*mat ) + cvDecRefData(*mat); + cvFree((void**)mat); +@endcode +@param mat Double pointer to the array + */ +CV_INLINE void cvReleaseMatND( CvMatND** mat ) +{ + cvReleaseMat( (CvMat**)mat ); +} + +/** Creates a copy of CvMatND (except, may be, steps) */ +CVAPI(CvMatND*) cvCloneMatND( const CvMatND* mat ); + +/** @brief Creates sparse array. + +The function allocates a multi-dimensional sparse array. Initially the array contain no elements, +that is PtrND and other related functions will return 0 for every index. +@param dims Number of array dimensions. In contrast to the dense matrix, the number of dimensions is +practically unlimited (up to \f$2^{16}\f$ ). +@param sizes Array of dimension sizes +@param type Type of array elements. The same as for CvMat + */ +CVAPI(CvSparseMat*) cvCreateSparseMat( int dims, const int* sizes, int type ); + +/** @brief Deallocates sparse array. + +The function releases the sparse array and clears the array pointer upon exit. +@param mat Double pointer to the array + */ +CVAPI(void) cvReleaseSparseMat( CvSparseMat** mat ); + +/** Creates a copy of CvSparseMat (except, may be, zero items) */ +CVAPI(CvSparseMat*) cvCloneSparseMat( const CvSparseMat* mat ); + +/** @brief Initializes sparse array elements iterator. + +The function initializes iterator of sparse array elements and returns pointer to the first element, +or NULL if the array is empty. +@param mat Input array +@param mat_iterator Initialized iterator + */ +CVAPI(CvSparseNode*) cvInitSparseMatIterator( const CvSparseMat* mat, + CvSparseMatIterator* mat_iterator ); + +/** @brief Returns the next sparse matrix element + +The function moves iterator to the next sparse matrix element and returns pointer to it. In the +current version there is no any particular order of the elements, because they are stored in the +hash table. The sample below demonstrates how to iterate through the sparse matrix: +@code + // print all the non-zero sparse matrix elements and compute their sum + double sum = 0; + int i, dims = cvGetDims(sparsemat); + CvSparseMatIterator it; + CvSparseNode* node = cvInitSparseMatIterator(sparsemat, &it); + + for(; node != 0; node = cvGetNextSparseNode(&it)) + { + int* idx = CV_NODE_IDX(array, node); + float val = *(float*)CV_NODE_VAL(array, node); + printf("M"); + for(i = 0; i < dims; i++ ) + printf("[%d]", idx[i]); + printf("=%g\n", val); + + sum += val; + } + + printf("nTotal sum = %g\n", sum); +@endcode +@param mat_iterator Sparse array iterator + */ +CV_INLINE CvSparseNode* cvGetNextSparseNode( CvSparseMatIterator* mat_iterator ) +{ + if( mat_iterator->node->next ) + return mat_iterator->node = mat_iterator->node->next; + else + { + int idx; + for( idx = ++mat_iterator->curidx; idx < mat_iterator->mat->hashsize; idx++ ) + { + CvSparseNode* node = (CvSparseNode*)mat_iterator->mat->hashtable[idx]; + if( node ) + { + mat_iterator->curidx = idx; + return mat_iterator->node = node; + } + } + return NULL; + } +} + + +#define CV_MAX_ARR 10 + +/** matrix iterator: used for n-ary operations on dense arrays */ +typedef struct CvNArrayIterator +{ + int count; /**< number of arrays */ + int dims; /**< number of dimensions to iterate */ + CvSize size; /**< maximal common linear size: { width = size, height = 1 } */ + uchar* ptr[CV_MAX_ARR]; /**< pointers to the array slices */ + int stack[CV_MAX_DIM]; /**< for internal use */ + CvMatND* hdr[CV_MAX_ARR]; /**< pointers to the headers of the + matrices that are processed */ +} +CvNArrayIterator; + +#define CV_NO_DEPTH_CHECK 1 +#define CV_NO_CN_CHECK 2 +#define CV_NO_SIZE_CHECK 4 + +/** initializes iterator that traverses through several arrays simultaneously + (the function together with cvNextArraySlice is used for + N-ari element-wise operations) */ +CVAPI(int) cvInitNArrayIterator( int count, CvArr** arrs, + const CvArr* mask, CvMatND* stubs, + CvNArrayIterator* array_iterator, + int flags CV_DEFAULT(0) ); + +/** returns zero value if iteration is finished, non-zero (slice length) otherwise */ +CVAPI(int) cvNextNArraySlice( CvNArrayIterator* array_iterator ); + + +/** @brief Returns type of array elements. + +The function returns type of the array elements. In the case of IplImage the type is converted to +CvMat-like representation. For example, if the image has been created as: +@code + IplImage* img = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 3); +@endcode +The code cvGetElemType(img) will return CV_8UC3. +@param arr Input array + */ +CVAPI(int) cvGetElemType( const CvArr* arr ); + +/** @brief Return number of array dimensions + +The function returns the array dimensionality and the array of dimension sizes. In the case of +IplImage or CvMat it always returns 2 regardless of number of image/matrix rows. For example, the +following code calculates total number of array elements: +@code + int sizes[CV_MAX_DIM]; + int i, total = 1; + int dims = cvGetDims(arr, size); + for(i = 0; i < dims; i++ ) + total *= sizes[i]; +@endcode +@param arr Input array +@param sizes Optional output vector of the array dimension sizes. For 2d arrays the number of rows +(height) goes first, number of columns (width) next. + */ +CVAPI(int) cvGetDims( const CvArr* arr, int* sizes CV_DEFAULT(NULL) ); + + +/** @brief Returns array size along the specified dimension. + +@param arr Input array +@param index Zero-based dimension index (for matrices 0 means number of rows, 1 means number of +columns; for images 0 means height, 1 means width) + */ +CVAPI(int) cvGetDimSize( const CvArr* arr, int index ); + + +/** @brief Return pointer to a particular array element. + +The functions return a pointer to a specific array element. Number of array dimension should match +to the number of indices passed to the function except for cvPtr1D function that can be used for +sequential access to 1D, 2D or nD dense arrays. + +The functions can be used for sparse arrays as well - if the requested node does not exist they +create it and set it to zero. + +All these as well as other functions accessing array elements ( cvGetND , cvGetRealND , cvSet +, cvSetND , cvSetRealND ) raise an error in case if the element index is out of range. +@param arr Input array +@param idx0 The first zero-based component of the element index +@param type Optional output parameter: type of matrix elements + */ +CVAPI(uchar*) cvPtr1D( const CvArr* arr, int idx0, int* type CV_DEFAULT(NULL)); +/** @overload */ +CVAPI(uchar*) cvPtr2D( const CvArr* arr, int idx0, int idx1, int* type CV_DEFAULT(NULL) ); +/** @overload */ +CVAPI(uchar*) cvPtr3D( const CvArr* arr, int idx0, int idx1, int idx2, + int* type CV_DEFAULT(NULL)); +/** @overload +@param arr Input array +@param idx Array of the element indices +@param type Optional output parameter: type of matrix elements +@param create_node Optional input parameter for sparse matrices. Non-zero value of the parameter +means that the requested element is created if it does not exist already. +@param precalc_hashval Optional input parameter for sparse matrices. If the pointer is not NULL, +the function does not recalculate the node hash value, but takes it from the specified location. +It is useful for speeding up pair-wise operations (TODO: provide an example) +*/ +CVAPI(uchar*) cvPtrND( const CvArr* arr, const int* idx, int* type CV_DEFAULT(NULL), + int create_node CV_DEFAULT(1), + unsigned* precalc_hashval CV_DEFAULT(NULL)); + +/** @brief Return a specific array element. + +The functions return a specific array element. In the case of a sparse array the functions return 0 +if the requested node does not exist (no new node is created by the functions). +@param arr Input array +@param idx0 The first zero-based component of the element index + */ +CVAPI(CvScalar) cvGet1D( const CvArr* arr, int idx0 ); +/** @overload */ +CVAPI(CvScalar) cvGet2D( const CvArr* arr, int idx0, int idx1 ); +/** @overload */ +CVAPI(CvScalar) cvGet3D( const CvArr* arr, int idx0, int idx1, int idx2 ); +/** @overload +@param arr Input array +@param idx Array of the element indices +*/ +CVAPI(CvScalar) cvGetND( const CvArr* arr, const int* idx ); + +/** @brief Return a specific element of single-channel 1D, 2D, 3D or nD array. + +Returns a specific element of a single-channel array. If the array has multiple channels, a runtime +error is raised. Note that Get?D functions can be used safely for both single-channel and +multiple-channel arrays though they are a bit slower. + +In the case of a sparse array the functions return 0 if the requested node does not exist (no new +node is created by the functions). +@param arr Input array. Must have a single channel. +@param idx0 The first zero-based component of the element index + */ +CVAPI(double) cvGetReal1D( const CvArr* arr, int idx0 ); +/** @overload */ +CVAPI(double) cvGetReal2D( const CvArr* arr, int idx0, int idx1 ); +/** @overload */ +CVAPI(double) cvGetReal3D( const CvArr* arr, int idx0, int idx1, int idx2 ); +/** @overload +@param arr Input array. Must have a single channel. +@param idx Array of the element indices +*/ +CVAPI(double) cvGetRealND( const CvArr* arr, const int* idx ); + +/** @brief Change the particular array element. + +The functions assign the new value to a particular array element. In the case of a sparse array the +functions create the node if it does not exist yet. +@param arr Input array +@param idx0 The first zero-based component of the element index +@param value The assigned value + */ +CVAPI(void) cvSet1D( CvArr* arr, int idx0, CvScalar value ); +/** @overload */ +CVAPI(void) cvSet2D( CvArr* arr, int idx0, int idx1, CvScalar value ); +/** @overload */ +CVAPI(void) cvSet3D( CvArr* arr, int idx0, int idx1, int idx2, CvScalar value ); +/** @overload +@param arr Input array +@param idx Array of the element indices +@param value The assigned value +*/ +CVAPI(void) cvSetND( CvArr* arr, const int* idx, CvScalar value ); + +/** @brief Change a specific array element. + +The functions assign a new value to a specific element of a single-channel array. If the array has +multiple channels, a runtime error is raised. Note that the Set\*D function can be used safely for +both single-channel and multiple-channel arrays, though they are a bit slower. + +In the case of a sparse array the functions create the node if it does not yet exist. +@param arr Input array +@param idx0 The first zero-based component of the element index +@param value The assigned value + */ +CVAPI(void) cvSetReal1D( CvArr* arr, int idx0, double value ); +/** @overload */ +CVAPI(void) cvSetReal2D( CvArr* arr, int idx0, int idx1, double value ); +/** @overload */ +CVAPI(void) cvSetReal3D( CvArr* arr, int idx0, + int idx1, int idx2, double value ); +/** @overload +@param arr Input array +@param idx Array of the element indices +@param value The assigned value +*/ +CVAPI(void) cvSetRealND( CvArr* arr, const int* idx, double value ); + +/** clears element of ND dense array, + in case of sparse arrays it deletes the specified node */ +CVAPI(void) cvClearND( CvArr* arr, const int* idx ); + +/** @brief Returns matrix header for arbitrary array. + +The function returns a matrix header for the input array that can be a matrix - CvMat, an image - +IplImage, or a multi-dimensional dense array - CvMatND (the third option is allowed only if +allowND != 0) . In the case of matrix the function simply returns the input pointer. In the case of +IplImage\* or CvMatND it initializes the header structure with parameters of the current image ROI +and returns &header. Because COI is not supported by CvMat, it is returned separately. + +The function provides an easy way to handle both types of arrays - IplImage and CvMat using the same +code. Input array must have non-zero data pointer, otherwise the function will report an error. + +@note If the input array is IplImage with planar data layout and COI set, the function returns the +pointer to the selected plane and COI == 0. This feature allows user to process IplImage structures +with planar data layout, even though OpenCV does not support such images. +@param arr Input array +@param header Pointer to CvMat structure used as a temporary buffer +@param coi Optional output parameter for storing COI +@param allowND If non-zero, the function accepts multi-dimensional dense arrays (CvMatND\*) and +returns 2D matrix (if CvMatND has two dimensions) or 1D matrix (when CvMatND has 1 dimension or +more than 2 dimensions). The CvMatND array must be continuous. +@sa cvGetImage, cvarrToMat. + */ +CVAPI(CvMat*) cvGetMat( const CvArr* arr, CvMat* header, + int* coi CV_DEFAULT(NULL), + int allowND CV_DEFAULT(0)); + +/** @brief Returns image header for arbitrary array. + +The function returns the image header for the input array that can be a matrix (CvMat) or image +(IplImage). In the case of an image the function simply returns the input pointer. In the case of +CvMat it initializes an image_header structure with the parameters of the input matrix. Note that +if we transform IplImage to CvMat using cvGetMat and then transform CvMat back to IplImage using +this function, we will get different headers if the ROI is set in the original image. +@param arr Input array +@param image_header Pointer to IplImage structure used as a temporary buffer + */ +CVAPI(IplImage*) cvGetImage( const CvArr* arr, IplImage* image_header ); + + +/** @brief Changes the shape of a multi-dimensional array without copying the data. + +The function is an advanced version of cvReshape that can work with multi-dimensional arrays as +well (though it can work with ordinary images and matrices) and change the number of dimensions. + +Below are the two samples from the cvReshape description rewritten using cvReshapeMatND: +@code + IplImage* color_img = cvCreateImage(cvSize(320,240), IPL_DEPTH_8U, 3); + IplImage gray_img_hdr, *gray_img; + gray_img = (IplImage*)cvReshapeMatND(color_img, sizeof(gray_img_hdr), &gray_img_hdr, 1, 0, 0); + ... + int size[] = { 2, 2, 2 }; + CvMatND* mat = cvCreateMatND(3, size, CV_32F); + CvMat row_header, *row; + row = (CvMat*)cvReshapeMatND(mat, sizeof(row_header), &row_header, 0, 1, 0); +@endcode +In C, the header file for this function includes a convenient macro cvReshapeND that does away with +the sizeof_header parameter. So, the lines containing the call to cvReshapeMatND in the examples +may be replaced as follow: +@code + gray_img = (IplImage*)cvReshapeND(color_img, &gray_img_hdr, 1, 0, 0); + ... + row = (CvMat*)cvReshapeND(mat, &row_header, 0, 1, 0); +@endcode +@param arr Input array +@param sizeof_header Size of output header to distinguish between IplImage, CvMat and CvMatND +output headers +@param header Output header to be filled +@param new_cn New number of channels. new_cn = 0 means that the number of channels remains +unchanged. +@param new_dims New number of dimensions. new_dims = 0 means that the number of dimensions +remains the same. +@param new_sizes Array of new dimension sizes. Only new_dims-1 values are used, because the +total number of elements must remain the same. Thus, if new_dims = 1, new_sizes array is not +used. + */ +CVAPI(CvArr*) cvReshapeMatND( const CvArr* arr, + int sizeof_header, CvArr* header, + int new_cn, int new_dims, int* new_sizes ); + +#define cvReshapeND( arr, header, new_cn, new_dims, new_sizes ) \ + cvReshapeMatND( (arr), sizeof(*(header)), (header), \ + (new_cn), (new_dims), (new_sizes)) + +/** @brief Changes shape of matrix/image without copying data. + +The function initializes the CvMat header so that it points to the same data as the original array +but has a different shape - different number of channels, different number of rows, or both. + +The following example code creates one image buffer and two image headers, the first is for a +320x240x3 image and the second is for a 960x240x1 image: +@code + IplImage* color_img = cvCreateImage(cvSize(320,240), IPL_DEPTH_8U, 3); + CvMat gray_mat_hdr; + IplImage gray_img_hdr, *gray_img; + cvReshape(color_img, &gray_mat_hdr, 1); + gray_img = cvGetImage(&gray_mat_hdr, &gray_img_hdr); +@endcode +And the next example converts a 3x3 matrix to a single 1x9 vector: +@code + CvMat* mat = cvCreateMat(3, 3, CV_32F); + CvMat row_header, *row; + row = cvReshape(mat, &row_header, 0, 1); +@endcode +@param arr Input array +@param header Output header to be filled +@param new_cn New number of channels. 'new_cn = 0' means that the number of channels remains +unchanged. +@param new_rows New number of rows. 'new_rows = 0' means that the number of rows remains +unchanged unless it needs to be changed according to new_cn value. +*/ +CVAPI(CvMat*) cvReshape( const CvArr* arr, CvMat* header, + int new_cn, int new_rows CV_DEFAULT(0) ); + +/** Repeats source 2d array several times in both horizontal and + vertical direction to fill destination array */ +CVAPI(void) cvRepeat( const CvArr* src, CvArr* dst ); + +/** @brief Allocates array data + +The function allocates image, matrix or multi-dimensional dense array data. Note that in the case of +matrix types OpenCV allocation functions are used. In the case of IplImage they are used unless +CV_TURN_ON_IPL_COMPATIBILITY() has been called before. In the latter case IPL functions are used +to allocate the data. +@param arr Array header + */ +CVAPI(void) cvCreateData( CvArr* arr ); + +/** @brief Releases array data. + +The function releases the array data. In the case of CvMat or CvMatND it simply calls +cvDecRefData(), that is the function can not deallocate external data. See also the note to +cvCreateData . +@param arr Array header + */ +CVAPI(void) cvReleaseData( CvArr* arr ); + +/** @brief Assigns user data to the array header. + +The function assigns user data to the array header. Header should be initialized before using +cvCreateMatHeader, cvCreateImageHeader, cvCreateMatNDHeader, cvInitMatHeader, +cvInitImageHeader or cvInitMatNDHeader. +@param arr Array header +@param data User data +@param step Full row length in bytes + */ +CVAPI(void) cvSetData( CvArr* arr, void* data, int step ); + +/** @brief Retrieves low-level information about the array. + +The function fills output variables with low-level information about the array data. All output + +parameters are optional, so some of the pointers may be set to NULL. If the array is IplImage with +ROI set, the parameters of ROI are returned. + +The following example shows how to get access to array elements. It computes absolute values of the +array elements : +@code + float* data; + int step; + CvSize size; + + cvGetRawData(array, (uchar**)&data, &step, &size); + step /= sizeof(data[0]); + + for(int y = 0; y < size.height; y++, data += step ) + for(int x = 0; x < size.width; x++ ) + data[x] = (float)fabs(data[x]); +@endcode +@param arr Array header +@param data Output pointer to the whole image origin or ROI origin if ROI is set +@param step Output full row length in bytes +@param roi_size Output ROI size + */ +CVAPI(void) cvGetRawData( const CvArr* arr, uchar** data, + int* step CV_DEFAULT(NULL), + CvSize* roi_size CV_DEFAULT(NULL)); + +/** @brief Returns size of matrix or image ROI. + +The function returns number of rows (CvSize::height) and number of columns (CvSize::width) of the +input matrix or image. In the case of image the size of ROI is returned. +@param arr array header + */ +CVAPI(CvSize) cvGetSize( const CvArr* arr ); + +/** @brief Copies one array to another. + +The function copies selected elements from an input array to an output array: + +\f[\texttt{dst} (I)= \texttt{src} (I) \quad \text{if} \quad \texttt{mask} (I) \ne 0.\f] + +If any of the passed arrays is of IplImage type, then its ROI and COI fields are used. Both arrays +must have the same type, the same number of dimensions, and the same size. The function can also +copy sparse arrays (mask is not supported in this case). +@param src The source array +@param dst The destination array +@param mask Operation mask, 8-bit single channel array; specifies elements of the destination array +to be changed + */ +CVAPI(void) cvCopy( const CvArr* src, CvArr* dst, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Sets every element of an array to a given value. + +The function copies the scalar value to every selected element of the destination array: +\f[\texttt{arr} (I)= \texttt{value} \quad \text{if} \quad \texttt{mask} (I) \ne 0\f] +If array arr is of IplImage type, then is ROI used, but COI must not be set. +@param arr The destination array +@param value Fill value +@param mask Operation mask, 8-bit single channel array; specifies elements of the destination +array to be changed + */ +CVAPI(void) cvSet( CvArr* arr, CvScalar value, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Clears the array. + +The function clears the array. In the case of dense arrays (CvMat, CvMatND or IplImage), +cvZero(array) is equivalent to cvSet(array,cvScalarAll(0),0). In the case of sparse arrays all the +elements are removed. +@param arr Array to be cleared + */ +CVAPI(void) cvSetZero( CvArr* arr ); +#define cvZero cvSetZero + + +/** Splits a multi-channel array into the set of single-channel arrays or + extracts particular [color] plane */ +CVAPI(void) cvSplit( const CvArr* src, CvArr* dst0, CvArr* dst1, + CvArr* dst2, CvArr* dst3 ); + +/** Merges a set of single-channel arrays into the single multi-channel array + or inserts one particular [color] plane to the array */ +CVAPI(void) cvMerge( const CvArr* src0, const CvArr* src1, + const CvArr* src2, const CvArr* src3, + CvArr* dst ); + +/** Copies several channels from input arrays to + certain channels of output arrays */ +CVAPI(void) cvMixChannels( const CvArr** src, int src_count, + CvArr** dst, int dst_count, + const int* from_to, int pair_count ); + +/** @brief Converts one array to another with optional linear transformation. + +The function has several different purposes, and thus has several different names. It copies one +array to another with optional scaling, which is performed first, and/or optional type conversion, +performed after: + +\f[\texttt{dst} (I) = \texttt{scale} \texttt{src} (I) + ( \texttt{shift} _0, \texttt{shift} _1,...)\f] + +All the channels of multi-channel arrays are processed independently. + +The type of conversion is done with rounding and saturation, that is if the result of scaling + +conversion can not be represented exactly by a value of the destination array element type, it is +set to the nearest representable value on the real axis. +@param src Source array +@param dst Destination array +@param scale Scale factor +@param shift Value added to the scaled source array elements + */ +CVAPI(void) cvConvertScale( const CvArr* src, CvArr* dst, + double scale CV_DEFAULT(1), + double shift CV_DEFAULT(0) ); +#define cvCvtScale cvConvertScale +#define cvScale cvConvertScale +#define cvConvert( src, dst ) cvConvertScale( (src), (dst), 1, 0 ) + + +/** Performs linear transformation on every source array element, + stores absolute value of the result: + dst(x,y,c) = abs(scale*src(x,y,c)+shift). + destination array must have 8u type. + In other cases one may use cvConvertScale + cvAbsDiffS */ +CVAPI(void) cvConvertScaleAbs( const CvArr* src, CvArr* dst, + double scale CV_DEFAULT(1), + double shift CV_DEFAULT(0) ); +#define cvCvtScaleAbs cvConvertScaleAbs + + +/** checks termination criteria validity and + sets eps to default_eps (if it is not set), + max_iter to default_max_iters (if it is not set) +*/ +CVAPI(CvTermCriteria) cvCheckTermCriteria( CvTermCriteria criteria, + double default_eps, + int default_max_iters ); + +/****************************************************************************************\ +* Arithmetic, logic and comparison operations * +\****************************************************************************************/ + +/** dst(mask) = src1(mask) + src2(mask) */ +CVAPI(void) cvAdd( const CvArr* src1, const CvArr* src2, CvArr* dst, + const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(mask) = src(mask) + value */ +CVAPI(void) cvAddS( const CvArr* src, CvScalar value, CvArr* dst, + const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(mask) = src1(mask) - src2(mask) */ +CVAPI(void) cvSub( const CvArr* src1, const CvArr* src2, CvArr* dst, + const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(mask) = src(mask) - value = src(mask) + (-value) */ +CV_INLINE void cvSubS( const CvArr* src, CvScalar value, CvArr* dst, + const CvArr* mask CV_DEFAULT(NULL)) +{ + cvAddS( src, cvScalar( -value.val[0], -value.val[1], -value.val[2], -value.val[3]), + dst, mask ); +} + +/** dst(mask) = value - src(mask) */ +CVAPI(void) cvSubRS( const CvArr* src, CvScalar value, CvArr* dst, + const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = src1(idx) * src2(idx) * scale + (scaled element-wise multiplication of 2 arrays) */ +CVAPI(void) cvMul( const CvArr* src1, const CvArr* src2, + CvArr* dst, double scale CV_DEFAULT(1) ); + +/** element-wise division/inversion with scaling: + dst(idx) = src1(idx) * scale / src2(idx) + or dst(idx) = scale / src2(idx) if src1 == 0 */ +CVAPI(void) cvDiv( const CvArr* src1, const CvArr* src2, + CvArr* dst, double scale CV_DEFAULT(1)); + +/** dst = src1 * scale + src2 */ +CVAPI(void) cvScaleAdd( const CvArr* src1, CvScalar scale, + const CvArr* src2, CvArr* dst ); +#define cvAXPY( A, real_scalar, B, C ) cvScaleAdd(A, cvRealScalar(real_scalar), B, C) + +/** dst = src1 * alpha + src2 * beta + gamma */ +CVAPI(void) cvAddWeighted( const CvArr* src1, double alpha, + const CvArr* src2, double beta, + double gamma, CvArr* dst ); + +/** @brief Calculates the dot product of two arrays in Euclidean metrics. + +The function calculates and returns the Euclidean dot product of two arrays. + +\f[src1 \bullet src2 = \sum _I ( \texttt{src1} (I) \texttt{src2} (I))\f] + +In the case of multiple channel arrays, the results for all channels are accumulated. In particular, +cvDotProduct(a,a) where a is a complex vector, will return \f$||\texttt{a}||^2\f$. The function can +process multi-dimensional arrays, row by row, layer by layer, and so on. +@param src1 The first source array +@param src2 The second source array + */ +CVAPI(double) cvDotProduct( const CvArr* src1, const CvArr* src2 ); + +/** dst(idx) = src1(idx) & src2(idx) */ +CVAPI(void) cvAnd( const CvArr* src1, const CvArr* src2, + CvArr* dst, const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = src(idx) & value */ +CVAPI(void) cvAndS( const CvArr* src, CvScalar value, + CvArr* dst, const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = src1(idx) | src2(idx) */ +CVAPI(void) cvOr( const CvArr* src1, const CvArr* src2, + CvArr* dst, const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = src(idx) | value */ +CVAPI(void) cvOrS( const CvArr* src, CvScalar value, + CvArr* dst, const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = src1(idx) ^ src2(idx) */ +CVAPI(void) cvXor( const CvArr* src1, const CvArr* src2, + CvArr* dst, const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = src(idx) ^ value */ +CVAPI(void) cvXorS( const CvArr* src, CvScalar value, + CvArr* dst, const CvArr* mask CV_DEFAULT(NULL)); + +/** dst(idx) = ~src(idx) */ +CVAPI(void) cvNot( const CvArr* src, CvArr* dst ); + +/** dst(idx) = lower(idx) <= src(idx) < upper(idx) */ +CVAPI(void) cvInRange( const CvArr* src, const CvArr* lower, + const CvArr* upper, CvArr* dst ); + +/** dst(idx) = lower <= src(idx) < upper */ +CVAPI(void) cvInRangeS( const CvArr* src, CvScalar lower, + CvScalar upper, CvArr* dst ); + +#define CV_CMP_EQ 0 +#define CV_CMP_GT 1 +#define CV_CMP_GE 2 +#define CV_CMP_LT 3 +#define CV_CMP_LE 4 +#define CV_CMP_NE 5 + +/** The comparison operation support single-channel arrays only. + Destination image should be 8uC1 or 8sC1 */ + +/** dst(idx) = src1(idx) _cmp_op_ src2(idx) */ +CVAPI(void) cvCmp( const CvArr* src1, const CvArr* src2, CvArr* dst, int cmp_op ); + +/** dst(idx) = src1(idx) _cmp_op_ value */ +CVAPI(void) cvCmpS( const CvArr* src, double value, CvArr* dst, int cmp_op ); + +/** dst(idx) = min(src1(idx),src2(idx)) */ +CVAPI(void) cvMin( const CvArr* src1, const CvArr* src2, CvArr* dst ); + +/** dst(idx) = max(src1(idx),src2(idx)) */ +CVAPI(void) cvMax( const CvArr* src1, const CvArr* src2, CvArr* dst ); + +/** dst(idx) = min(src(idx),value) */ +CVAPI(void) cvMinS( const CvArr* src, double value, CvArr* dst ); + +/** dst(idx) = max(src(idx),value) */ +CVAPI(void) cvMaxS( const CvArr* src, double value, CvArr* dst ); + +/** dst(x,y,c) = abs(src1(x,y,c) - src2(x,y,c)) */ +CVAPI(void) cvAbsDiff( const CvArr* src1, const CvArr* src2, CvArr* dst ); + +/** dst(x,y,c) = abs(src(x,y,c) - value(c)) */ +CVAPI(void) cvAbsDiffS( const CvArr* src, CvArr* dst, CvScalar value ); +#define cvAbs( src, dst ) cvAbsDiffS( (src), (dst), cvScalarAll(0)) + +/****************************************************************************************\ +* Math operations * +\****************************************************************************************/ + +/** Does cartesian->polar coordinates conversion. + Either of output components (magnitude or angle) is optional */ +CVAPI(void) cvCartToPolar( const CvArr* x, const CvArr* y, + CvArr* magnitude, CvArr* angle CV_DEFAULT(NULL), + int angle_in_degrees CV_DEFAULT(0)); + +/** Does polar->cartesian coordinates conversion. + Either of output components (magnitude or angle) is optional. + If magnitude is missing it is assumed to be all 1's */ +CVAPI(void) cvPolarToCart( const CvArr* magnitude, const CvArr* angle, + CvArr* x, CvArr* y, + int angle_in_degrees CV_DEFAULT(0)); + +/** Does powering: dst(idx) = src(idx)^power */ +CVAPI(void) cvPow( const CvArr* src, CvArr* dst, double power ); + +/** Does exponention: dst(idx) = exp(src(idx)). + Overflow is not handled yet. Underflow is handled. + Maximal relative error is ~7e-6 for single-precision input */ +CVAPI(void) cvExp( const CvArr* src, CvArr* dst ); + +/** Calculates natural logarithms: dst(idx) = log(abs(src(idx))). + Logarithm of 0 gives large negative number(~-700) + Maximal relative error is ~3e-7 for single-precision output +*/ +CVAPI(void) cvLog( const CvArr* src, CvArr* dst ); + +/** Fast arctangent calculation */ +CVAPI(float) cvFastArctan( float y, float x ); + +/** Fast cubic root calculation */ +CVAPI(float) cvCbrt( float value ); + +#define CV_CHECK_RANGE 1 +#define CV_CHECK_QUIET 2 +/** Checks array values for NaNs, Infs or simply for too large numbers + (if CV_CHECK_RANGE is set). If CV_CHECK_QUIET is set, + no runtime errors is raised (function returns zero value in case of "bad" values). + Otherwise cvError is called */ +CVAPI(int) cvCheckArr( const CvArr* arr, int flags CV_DEFAULT(0), + double min_val CV_DEFAULT(0), double max_val CV_DEFAULT(0)); +#define cvCheckArray cvCheckArr + +#define CV_RAND_UNI 0 +#define CV_RAND_NORMAL 1 + +/** @brief Fills an array with random numbers and updates the RNG state. + +The function fills the destination array with uniformly or normally distributed random numbers. +@param rng CvRNG state initialized by cvRNG +@param arr The destination array +@param dist_type Distribution type +> - **CV_RAND_UNI** uniform distribution +> - **CV_RAND_NORMAL** normal or Gaussian distribution +@param param1 The first parameter of the distribution. In the case of a uniform distribution it is +the inclusive lower boundary of the random numbers range. In the case of a normal distribution it +is the mean value of the random numbers. +@param param2 The second parameter of the distribution. In the case of a uniform distribution it +is the exclusive upper boundary of the random numbers range. In the case of a normal distribution +it is the standard deviation of the random numbers. +@sa randu, randn, RNG::fill. + */ +CVAPI(void) cvRandArr( CvRNG* rng, CvArr* arr, int dist_type, + CvScalar param1, CvScalar param2 ); + +CVAPI(void) cvRandShuffle( CvArr* mat, CvRNG* rng, + double iter_factor CV_DEFAULT(1.)); + +#define CV_SORT_EVERY_ROW 0 +#define CV_SORT_EVERY_COLUMN 1 +#define CV_SORT_ASCENDING 0 +#define CV_SORT_DESCENDING 16 + +CVAPI(void) cvSort( const CvArr* src, CvArr* dst CV_DEFAULT(NULL), + CvArr* idxmat CV_DEFAULT(NULL), + int flags CV_DEFAULT(0)); + +/** Finds real roots of a cubic equation */ +CVAPI(int) cvSolveCubic( const CvMat* coeffs, CvMat* roots ); + +/** Finds all real and complex roots of a polynomial equation */ +CVAPI(void) cvSolvePoly(const CvMat* coeffs, CvMat *roots2, + int maxiter CV_DEFAULT(20), int fig CV_DEFAULT(100)); + +/****************************************************************************************\ +* Matrix operations * +\****************************************************************************************/ + +/** @brief Calculates the cross product of two 3D vectors. + +The function calculates the cross product of two 3D vectors: +\f[\texttt{dst} = \texttt{src1} \times \texttt{src2}\f] +or: +\f[\begin{array}{l} \texttt{dst} _1 = \texttt{src1} _2 \texttt{src2} _3 - \texttt{src1} _3 \texttt{src2} _2 \\ \texttt{dst} _2 = \texttt{src1} _3 \texttt{src2} _1 - \texttt{src1} _1 \texttt{src2} _3 \\ \texttt{dst} _3 = \texttt{src1} _1 \texttt{src2} _2 - \texttt{src1} _2 \texttt{src2} _1 \end{array}\f] +@param src1 The first source vector +@param src2 The second source vector +@param dst The destination vector + */ +CVAPI(void) cvCrossProduct( const CvArr* src1, const CvArr* src2, CvArr* dst ); + +/** Matrix transform: dst = A*B + C, C is optional */ +#define cvMatMulAdd( src1, src2, src3, dst ) cvGEMM( (src1), (src2), 1., (src3), 1., (dst), 0 ) +#define cvMatMul( src1, src2, dst ) cvMatMulAdd( (src1), (src2), NULL, (dst)) + +#define CV_GEMM_A_T 1 +#define CV_GEMM_B_T 2 +#define CV_GEMM_C_T 4 +/** Extended matrix transform: + dst = alpha*op(A)*op(B) + beta*op(C), where op(X) is X or X^T */ +CVAPI(void) cvGEMM( const CvArr* src1, const CvArr* src2, double alpha, + const CvArr* src3, double beta, CvArr* dst, + int tABC CV_DEFAULT(0)); +#define cvMatMulAddEx cvGEMM + +/** Transforms each element of source array and stores + resultant vectors in destination array */ +CVAPI(void) cvTransform( const CvArr* src, CvArr* dst, + const CvMat* transmat, + const CvMat* shiftvec CV_DEFAULT(NULL)); +#define cvMatMulAddS cvTransform + +/** Does perspective transform on every element of input array */ +CVAPI(void) cvPerspectiveTransform( const CvArr* src, CvArr* dst, + const CvMat* mat ); + +/** Calculates (A-delta)*(A-delta)^T (order=0) or (A-delta)^T*(A-delta) (order=1) */ +CVAPI(void) cvMulTransposed( const CvArr* src, CvArr* dst, int order, + const CvArr* delta CV_DEFAULT(NULL), + double scale CV_DEFAULT(1.) ); + +/** Transposes matrix. Square matrices can be transposed in-place */ +CVAPI(void) cvTranspose( const CvArr* src, CvArr* dst ); +#define cvT cvTranspose + +/** Completes the symmetric matrix from the lower (LtoR=0) or from the upper (LtoR!=0) part */ +CVAPI(void) cvCompleteSymm( CvMat* matrix, int LtoR CV_DEFAULT(0) ); + +/** Mirror array data around horizontal (flip=0), + vertical (flip=1) or both(flip=-1) axises: + cvFlip(src) flips images vertically and sequences horizontally (inplace) */ +CVAPI(void) cvFlip( const CvArr* src, CvArr* dst CV_DEFAULT(NULL), + int flip_mode CV_DEFAULT(0)); +#define cvMirror cvFlip + + +#define CV_SVD_MODIFY_A 1 +#define CV_SVD_U_T 2 +#define CV_SVD_V_T 4 + +/** Performs Singular Value Decomposition of a matrix */ +CVAPI(void) cvSVD( CvArr* A, CvArr* W, CvArr* U CV_DEFAULT(NULL), + CvArr* V CV_DEFAULT(NULL), int flags CV_DEFAULT(0)); + +/** Performs Singular Value Back Substitution (solves A*X = B): + flags must be the same as in cvSVD */ +CVAPI(void) cvSVBkSb( const CvArr* W, const CvArr* U, + const CvArr* V, const CvArr* B, + CvArr* X, int flags ); + +#define CV_LU 0 +#define CV_SVD 1 +#define CV_SVD_SYM 2 +#define CV_CHOLESKY 3 +#define CV_QR 4 +#define CV_NORMAL 16 + +/** Inverts matrix */ +CVAPI(double) cvInvert( const CvArr* src, CvArr* dst, + int method CV_DEFAULT(CV_LU)); +#define cvInv cvInvert + +/** Solves linear system (src1)*(dst) = (src2) + (returns 0 if src1 is a singular and CV_LU method is used) */ +CVAPI(int) cvSolve( const CvArr* src1, const CvArr* src2, CvArr* dst, + int method CV_DEFAULT(CV_LU)); + +/** Calculates determinant of input matrix */ +CVAPI(double) cvDet( const CvArr* mat ); + +/** Calculates trace of the matrix (sum of elements on the main diagonal) */ +CVAPI(CvScalar) cvTrace( const CvArr* mat ); + +/** Finds eigen values and vectors of a symmetric matrix */ +CVAPI(void) cvEigenVV( CvArr* mat, CvArr* evects, CvArr* evals, + double eps CV_DEFAULT(0), + int lowindex CV_DEFAULT(-1), + int highindex CV_DEFAULT(-1)); + +///* Finds selected eigen values and vectors of a symmetric matrix */ +//CVAPI(void) cvSelectedEigenVV( CvArr* mat, CvArr* evects, CvArr* evals, +// int lowindex, int highindex ); + +/** Makes an identity matrix (mat_ij = i == j) */ +CVAPI(void) cvSetIdentity( CvArr* mat, CvScalar value CV_DEFAULT(cvRealScalar(1)) ); + +/** Fills matrix with given range of numbers */ +CVAPI(CvArr*) cvRange( CvArr* mat, double start, double end ); + +/** @anchor core_c_CovarFlags +@name Flags for cvCalcCovarMatrix +@see cvCalcCovarMatrix + @{ +*/ + +/** flag for cvCalcCovarMatrix, transpose([v1-avg, v2-avg,...]) * [v1-avg,v2-avg,...] */ +#define CV_COVAR_SCRAMBLED 0 + +/** flag for cvCalcCovarMatrix, [v1-avg, v2-avg,...] * transpose([v1-avg,v2-avg,...]) */ +#define CV_COVAR_NORMAL 1 + +/** flag for cvCalcCovarMatrix, do not calc average (i.e. mean vector) - use the input vector instead + (useful for calculating covariance matrix by parts) */ +#define CV_COVAR_USE_AVG 2 + +/** flag for cvCalcCovarMatrix, scale the covariance matrix coefficients by number of the vectors */ +#define CV_COVAR_SCALE 4 + +/** flag for cvCalcCovarMatrix, all the input vectors are stored in a single matrix, as its rows */ +#define CV_COVAR_ROWS 8 + +/** flag for cvCalcCovarMatrix, all the input vectors are stored in a single matrix, as its columns */ +#define CV_COVAR_COLS 16 + +/** @} */ + +/** Calculates covariation matrix for a set of vectors +@see @ref core_c_CovarFlags "flags" +*/ +CVAPI(void) cvCalcCovarMatrix( const CvArr** vects, int count, + CvArr* cov_mat, CvArr* avg, int flags ); + +#define CV_PCA_DATA_AS_ROW 0 +#define CV_PCA_DATA_AS_COL 1 +#define CV_PCA_USE_AVG 2 +CVAPI(void) cvCalcPCA( const CvArr* data, CvArr* mean, + CvArr* eigenvals, CvArr* eigenvects, int flags ); + +CVAPI(void) cvProjectPCA( const CvArr* data, const CvArr* mean, + const CvArr* eigenvects, CvArr* result ); + +CVAPI(void) cvBackProjectPCA( const CvArr* proj, const CvArr* mean, + const CvArr* eigenvects, CvArr* result ); + +/** Calculates Mahalanobis(weighted) distance */ +CVAPI(double) cvMahalanobis( const CvArr* vec1, const CvArr* vec2, const CvArr* mat ); +#define cvMahalonobis cvMahalanobis + +/****************************************************************************************\ +* Array Statistics * +\****************************************************************************************/ + +/** Finds sum of array elements */ +CVAPI(CvScalar) cvSum( const CvArr* arr ); + +/** Calculates number of non-zero pixels */ +CVAPI(int) cvCountNonZero( const CvArr* arr ); + +/** Calculates mean value of array elements */ +CVAPI(CvScalar) cvAvg( const CvArr* arr, const CvArr* mask CV_DEFAULT(NULL) ); + +/** Calculates mean and standard deviation of pixel values */ +CVAPI(void) cvAvgSdv( const CvArr* arr, CvScalar* mean, CvScalar* std_dev, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** Finds global minimum, maximum and their positions */ +CVAPI(void) cvMinMaxLoc( const CvArr* arr, double* min_val, double* max_val, + CvPoint* min_loc CV_DEFAULT(NULL), + CvPoint* max_loc CV_DEFAULT(NULL), + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @anchor core_c_NormFlags + @name Flags for cvNorm and cvNormalize + @{ +*/ +#define CV_C 1 +#define CV_L1 2 +#define CV_L2 4 +#define CV_NORM_MASK 7 +#define CV_RELATIVE 8 +#define CV_DIFF 16 +#define CV_MINMAX 32 + +#define CV_DIFF_C (CV_DIFF | CV_C) +#define CV_DIFF_L1 (CV_DIFF | CV_L1) +#define CV_DIFF_L2 (CV_DIFF | CV_L2) +#define CV_RELATIVE_C (CV_RELATIVE | CV_C) +#define CV_RELATIVE_L1 (CV_RELATIVE | CV_L1) +#define CV_RELATIVE_L2 (CV_RELATIVE | CV_L2) +/** @} */ + +/** Finds norm, difference norm or relative difference norm for an array (or two arrays) +@see ref core_c_NormFlags "flags" +*/ +CVAPI(double) cvNorm( const CvArr* arr1, const CvArr* arr2 CV_DEFAULT(NULL), + int norm_type CV_DEFAULT(CV_L2), + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @see ref core_c_NormFlags "flags" */ +CVAPI(void) cvNormalize( const CvArr* src, CvArr* dst, + double a CV_DEFAULT(1.), double b CV_DEFAULT(0.), + int norm_type CV_DEFAULT(CV_L2), + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @anchor core_c_ReduceFlags + @name Flags for cvReduce + @{ +*/ +#define CV_REDUCE_SUM 0 +#define CV_REDUCE_AVG 1 +#define CV_REDUCE_MAX 2 +#define CV_REDUCE_MIN 3 +/** @} */ + +/** @see @ref core_c_ReduceFlags "flags" */ +CVAPI(void) cvReduce( const CvArr* src, CvArr* dst, int dim CV_DEFAULT(-1), + int op CV_DEFAULT(CV_REDUCE_SUM) ); + +/****************************************************************************************\ +* Discrete Linear Transforms and Related Functions * +\****************************************************************************************/ + +/** @anchor core_c_DftFlags + @name Flags for cvDFT, cvDCT and cvMulSpectrums + @{ + */ +#define CV_DXT_FORWARD 0 +#define CV_DXT_INVERSE 1 +#define CV_DXT_SCALE 2 /**< divide result by size of array */ +#define CV_DXT_INV_SCALE (CV_DXT_INVERSE + CV_DXT_SCALE) +#define CV_DXT_INVERSE_SCALE CV_DXT_INV_SCALE +#define CV_DXT_ROWS 4 /**< transform each row individually */ +#define CV_DXT_MUL_CONJ 8 /**< conjugate the second argument of cvMulSpectrums */ +/** @} */ + +/** Discrete Fourier Transform: + complex->complex, + real->ccs (forward), + ccs->real (inverse) +@see core_c_DftFlags "flags" +*/ +CVAPI(void) cvDFT( const CvArr* src, CvArr* dst, int flags, + int nonzero_rows CV_DEFAULT(0) ); +#define cvFFT cvDFT + +/** Multiply results of DFTs: DFT(X)*DFT(Y) or DFT(X)*conj(DFT(Y)) +@see core_c_DftFlags "flags" +*/ +CVAPI(void) cvMulSpectrums( const CvArr* src1, const CvArr* src2, + CvArr* dst, int flags ); + +/** Finds optimal DFT vector size >= size0 */ +CVAPI(int) cvGetOptimalDFTSize( int size0 ); + +/** Discrete Cosine Transform +@see core_c_DftFlags "flags" +*/ +CVAPI(void) cvDCT( const CvArr* src, CvArr* dst, int flags ); + +/****************************************************************************************\ +* Dynamic data structures * +\****************************************************************************************/ + +/** Calculates length of sequence slice (with support of negative indices). */ +CVAPI(int) cvSliceLength( CvSlice slice, const CvSeq* seq ); + + +/** Creates new memory storage. + block_size == 0 means that default, + somewhat optimal size, is used (currently, it is 64K) */ +CVAPI(CvMemStorage*) cvCreateMemStorage( int block_size CV_DEFAULT(0)); + + +/** Creates a memory storage that will borrow memory blocks from parent storage */ +CVAPI(CvMemStorage*) cvCreateChildMemStorage( CvMemStorage* parent ); + + +/** Releases memory storage. All the children of a parent must be released before + the parent. A child storage returns all the blocks to parent when it is released */ +CVAPI(void) cvReleaseMemStorage( CvMemStorage** storage ); + + +/** Clears memory storage. This is the only way(!!!) (besides cvRestoreMemStoragePos) + to reuse memory allocated for the storage - cvClearSeq,cvClearSet ... + do not free any memory. + A child storage returns all the blocks to the parent when it is cleared */ +CVAPI(void) cvClearMemStorage( CvMemStorage* storage ); + +/** Remember a storage "free memory" position */ +CVAPI(void) cvSaveMemStoragePos( const CvMemStorage* storage, CvMemStoragePos* pos ); + +/** Restore a storage "free memory" position */ +CVAPI(void) cvRestoreMemStoragePos( CvMemStorage* storage, CvMemStoragePos* pos ); + +/** Allocates continuous buffer of the specified size in the storage */ +CVAPI(void*) cvMemStorageAlloc( CvMemStorage* storage, size_t size ); + +/** Allocates string in memory storage */ +//CVAPI(CvString) cvMemStorageAllocString( CvMemStorage* storage, const char* ptr, +// int len CV_DEFAULT(-1) ); + +/** Creates new empty sequence that will reside in the specified storage */ +CVAPI(CvSeq*) cvCreateSeq( int seq_flags, size_t header_size, + size_t elem_size, CvMemStorage* storage ); + +/** Changes default size (granularity) of sequence blocks. + The default size is ~1Kbyte */ +CVAPI(void) cvSetSeqBlockSize( CvSeq* seq, int delta_elems ); + + +/** Adds new element to the end of sequence. Returns pointer to the element */ +CVAPI(schar*) cvSeqPush( CvSeq* seq, const void* element CV_DEFAULT(NULL)); + + +/** Adds new element to the beginning of sequence. Returns pointer to it */ +CVAPI(schar*) cvSeqPushFront( CvSeq* seq, const void* element CV_DEFAULT(NULL)); + + +/** Removes the last element from sequence and optionally saves it */ +CVAPI(void) cvSeqPop( CvSeq* seq, void* element CV_DEFAULT(NULL)); + + +/** Removes the first element from sequence and optioanally saves it */ +CVAPI(void) cvSeqPopFront( CvSeq* seq, void* element CV_DEFAULT(NULL)); + + +#define CV_FRONT 1 +#define CV_BACK 0 +/** Adds several new elements to the end of sequence */ +CVAPI(void) cvSeqPushMulti( CvSeq* seq, const void* elements, + int count, int in_front CV_DEFAULT(0) ); + +/** Removes several elements from the end of sequence and optionally saves them */ +CVAPI(void) cvSeqPopMulti( CvSeq* seq, void* elements, + int count, int in_front CV_DEFAULT(0) ); + +/** Inserts a new element in the middle of sequence. + cvSeqInsert(seq,0,elem) == cvSeqPushFront(seq,elem) */ +CVAPI(schar*) cvSeqInsert( CvSeq* seq, int before_index, + const void* element CV_DEFAULT(NULL)); + +/** Removes specified sequence element */ +CVAPI(void) cvSeqRemove( CvSeq* seq, int index ); + + +/** Removes all the elements from the sequence. The freed memory + can be reused later only by the same sequence unless cvClearMemStorage + or cvRestoreMemStoragePos is called */ +CVAPI(void) cvClearSeq( CvSeq* seq ); + + +/** Retrieves pointer to specified sequence element. + Negative indices are supported and mean counting from the end + (e.g -1 means the last sequence element) */ +CVAPI(schar*) cvGetSeqElem( const CvSeq* seq, int index ); + +/** Calculates index of the specified sequence element. + Returns -1 if element does not belong to the sequence */ +CVAPI(int) cvSeqElemIdx( const CvSeq* seq, const void* element, + CvSeqBlock** block CV_DEFAULT(NULL) ); + +/** Initializes sequence writer. The new elements will be added to the end of sequence */ +CVAPI(void) cvStartAppendToSeq( CvSeq* seq, CvSeqWriter* writer ); + + +/** Combination of cvCreateSeq and cvStartAppendToSeq */ +CVAPI(void) cvStartWriteSeq( int seq_flags, int header_size, + int elem_size, CvMemStorage* storage, + CvSeqWriter* writer ); + +/** Closes sequence writer, updates sequence header and returns pointer + to the resultant sequence + (which may be useful if the sequence was created using cvStartWriteSeq)) +*/ +CVAPI(CvSeq*) cvEndWriteSeq( CvSeqWriter* writer ); + + +/** Updates sequence header. May be useful to get access to some of previously + written elements via cvGetSeqElem or sequence reader */ +CVAPI(void) cvFlushSeqWriter( CvSeqWriter* writer ); + + +/** Initializes sequence reader. + The sequence can be read in forward or backward direction */ +CVAPI(void) cvStartReadSeq( const CvSeq* seq, CvSeqReader* reader, + int reverse CV_DEFAULT(0) ); + + +/** Returns current sequence reader position (currently observed sequence element) */ +CVAPI(int) cvGetSeqReaderPos( CvSeqReader* reader ); + + +/** Changes sequence reader position. It may seek to an absolute or + to relative to the current position */ +CVAPI(void) cvSetSeqReaderPos( CvSeqReader* reader, int index, + int is_relative CV_DEFAULT(0)); + +/** Copies sequence content to a continuous piece of memory */ +CVAPI(void*) cvCvtSeqToArray( const CvSeq* seq, void* elements, + CvSlice slice CV_DEFAULT(CV_WHOLE_SEQ) ); + +/** Creates sequence header for array. + After that all the operations on sequences that do not alter the content + can be applied to the resultant sequence */ +CVAPI(CvSeq*) cvMakeSeqHeaderForArray( int seq_type, int header_size, + int elem_size, void* elements, int total, + CvSeq* seq, CvSeqBlock* block ); + +/** Extracts sequence slice (with or without copying sequence elements) */ +CVAPI(CvSeq*) cvSeqSlice( const CvSeq* seq, CvSlice slice, + CvMemStorage* storage CV_DEFAULT(NULL), + int copy_data CV_DEFAULT(0)); + +CV_INLINE CvSeq* cvCloneSeq( const CvSeq* seq, CvMemStorage* storage CV_DEFAULT(NULL)) +{ + return cvSeqSlice( seq, CV_WHOLE_SEQ, storage, 1 ); +} + +/** Removes sequence slice */ +CVAPI(void) cvSeqRemoveSlice( CvSeq* seq, CvSlice slice ); + +/** Inserts a sequence or array into another sequence */ +CVAPI(void) cvSeqInsertSlice( CvSeq* seq, int before_index, const CvArr* from_arr ); + +/** a < b ? -1 : a > b ? 1 : 0 */ +typedef int (CV_CDECL* CvCmpFunc)(const void* a, const void* b, void* userdata ); + +/** Sorts sequence in-place given element comparison function */ +CVAPI(void) cvSeqSort( CvSeq* seq, CvCmpFunc func, void* userdata CV_DEFAULT(NULL) ); + +/** Finds element in a [sorted] sequence */ +CVAPI(schar*) cvSeqSearch( CvSeq* seq, const void* elem, CvCmpFunc func, + int is_sorted, int* elem_idx, + void* userdata CV_DEFAULT(NULL) ); + +/** Reverses order of sequence elements in-place */ +CVAPI(void) cvSeqInvert( CvSeq* seq ); + +/** Splits sequence into one or more equivalence classes using the specified criteria */ +CVAPI(int) cvSeqPartition( const CvSeq* seq, CvMemStorage* storage, + CvSeq** labels, CvCmpFunc is_equal, void* userdata ); + +/************ Internal sequence functions ************/ +CVAPI(void) cvChangeSeqBlock( void* reader, int direction ); +CVAPI(void) cvCreateSeqBlock( CvSeqWriter* writer ); + + +/** Creates a new set */ +CVAPI(CvSet*) cvCreateSet( int set_flags, int header_size, + int elem_size, CvMemStorage* storage ); + +/** Adds new element to the set and returns pointer to it */ +CVAPI(int) cvSetAdd( CvSet* set_header, CvSetElem* elem CV_DEFAULT(NULL), + CvSetElem** inserted_elem CV_DEFAULT(NULL) ); + +/** Fast variant of cvSetAdd */ +CV_INLINE CvSetElem* cvSetNew( CvSet* set_header ) +{ + CvSetElem* elem = set_header->free_elems; + if( elem ) + { + set_header->free_elems = elem->next_free; + elem->flags = elem->flags & CV_SET_ELEM_IDX_MASK; + set_header->active_count++; + } + else + cvSetAdd( set_header, NULL, &elem ); + return elem; +} + +/** Removes set element given its pointer */ +CV_INLINE void cvSetRemoveByPtr( CvSet* set_header, void* elem ) +{ + CvSetElem* _elem = (CvSetElem*)elem; + assert( _elem->flags >= 0 /*&& (elem->flags & CV_SET_ELEM_IDX_MASK) < set_header->total*/ ); + _elem->next_free = set_header->free_elems; + _elem->flags = (_elem->flags & CV_SET_ELEM_IDX_MASK) | CV_SET_ELEM_FREE_FLAG; + set_header->free_elems = _elem; + set_header->active_count--; +} + +/** Removes element from the set by its index */ +CVAPI(void) cvSetRemove( CvSet* set_header, int index ); + +/** Returns a set element by index. If the element doesn't belong to the set, + NULL is returned */ +CV_INLINE CvSetElem* cvGetSetElem( const CvSet* set_header, int idx ) +{ + CvSetElem* elem = (CvSetElem*)(void *)cvGetSeqElem( (CvSeq*)set_header, idx ); + return elem && CV_IS_SET_ELEM( elem ) ? elem : 0; +} + +/** Removes all the elements from the set */ +CVAPI(void) cvClearSet( CvSet* set_header ); + +/** Creates new graph */ +CVAPI(CvGraph*) cvCreateGraph( int graph_flags, int header_size, + int vtx_size, int edge_size, + CvMemStorage* storage ); + +/** Adds new vertex to the graph */ +CVAPI(int) cvGraphAddVtx( CvGraph* graph, const CvGraphVtx* vtx CV_DEFAULT(NULL), + CvGraphVtx** inserted_vtx CV_DEFAULT(NULL) ); + + +/** Removes vertex from the graph together with all incident edges */ +CVAPI(int) cvGraphRemoveVtx( CvGraph* graph, int index ); +CVAPI(int) cvGraphRemoveVtxByPtr( CvGraph* graph, CvGraphVtx* vtx ); + + +/** Link two vertices specified by indices or pointers if they + are not connected or return pointer to already existing edge + connecting the vertices. + Functions return 1 if a new edge was created, 0 otherwise */ +CVAPI(int) cvGraphAddEdge( CvGraph* graph, + int start_idx, int end_idx, + const CvGraphEdge* edge CV_DEFAULT(NULL), + CvGraphEdge** inserted_edge CV_DEFAULT(NULL) ); + +CVAPI(int) cvGraphAddEdgeByPtr( CvGraph* graph, + CvGraphVtx* start_vtx, CvGraphVtx* end_vtx, + const CvGraphEdge* edge CV_DEFAULT(NULL), + CvGraphEdge** inserted_edge CV_DEFAULT(NULL) ); + +/** Remove edge connecting two vertices */ +CVAPI(void) cvGraphRemoveEdge( CvGraph* graph, int start_idx, int end_idx ); +CVAPI(void) cvGraphRemoveEdgeByPtr( CvGraph* graph, CvGraphVtx* start_vtx, + CvGraphVtx* end_vtx ); + +/** Find edge connecting two vertices */ +CVAPI(CvGraphEdge*) cvFindGraphEdge( const CvGraph* graph, int start_idx, int end_idx ); +CVAPI(CvGraphEdge*) cvFindGraphEdgeByPtr( const CvGraph* graph, + const CvGraphVtx* start_vtx, + const CvGraphVtx* end_vtx ); +#define cvGraphFindEdge cvFindGraphEdge +#define cvGraphFindEdgeByPtr cvFindGraphEdgeByPtr + +/** Remove all vertices and edges from the graph */ +CVAPI(void) cvClearGraph( CvGraph* graph ); + + +/** Count number of edges incident to the vertex */ +CVAPI(int) cvGraphVtxDegree( const CvGraph* graph, int vtx_idx ); +CVAPI(int) cvGraphVtxDegreeByPtr( const CvGraph* graph, const CvGraphVtx* vtx ); + + +/** Retrieves graph vertex by given index */ +#define cvGetGraphVtx( graph, idx ) (CvGraphVtx*)cvGetSetElem((CvSet*)(graph), (idx)) + +/** Retrieves index of a graph vertex given its pointer */ +#define cvGraphVtxIdx( graph, vtx ) ((vtx)->flags & CV_SET_ELEM_IDX_MASK) + +/** Retrieves index of a graph edge given its pointer */ +#define cvGraphEdgeIdx( graph, edge ) ((edge)->flags & CV_SET_ELEM_IDX_MASK) + +#define cvGraphGetVtxCount( graph ) ((graph)->active_count) +#define cvGraphGetEdgeCount( graph ) ((graph)->edges->active_count) + +#define CV_GRAPH_VERTEX 1 +#define CV_GRAPH_TREE_EDGE 2 +#define CV_GRAPH_BACK_EDGE 4 +#define CV_GRAPH_FORWARD_EDGE 8 +#define CV_GRAPH_CROSS_EDGE 16 +#define CV_GRAPH_ANY_EDGE 30 +#define CV_GRAPH_NEW_TREE 32 +#define CV_GRAPH_BACKTRACKING 64 +#define CV_GRAPH_OVER -1 + +#define CV_GRAPH_ALL_ITEMS -1 + +/** flags for graph vertices and edges */ +#define CV_GRAPH_ITEM_VISITED_FLAG (1 << 30) +#define CV_IS_GRAPH_VERTEX_VISITED(vtx) \ + (((CvGraphVtx*)(vtx))->flags & CV_GRAPH_ITEM_VISITED_FLAG) +#define CV_IS_GRAPH_EDGE_VISITED(edge) \ + (((CvGraphEdge*)(edge))->flags & CV_GRAPH_ITEM_VISITED_FLAG) +#define CV_GRAPH_SEARCH_TREE_NODE_FLAG (1 << 29) +#define CV_GRAPH_FORWARD_EDGE_FLAG (1 << 28) + +typedef struct CvGraphScanner +{ + CvGraphVtx* vtx; /* current graph vertex (or current edge origin) */ + CvGraphVtx* dst; /* current graph edge destination vertex */ + CvGraphEdge* edge; /* current edge */ + + CvGraph* graph; /* the graph */ + CvSeq* stack; /* the graph vertex stack */ + int index; /* the lower bound of certainly visited vertices */ + int mask; /* event mask */ +} +CvGraphScanner; + +/** Creates new graph scanner. */ +CVAPI(CvGraphScanner*) cvCreateGraphScanner( CvGraph* graph, + CvGraphVtx* vtx CV_DEFAULT(NULL), + int mask CV_DEFAULT(CV_GRAPH_ALL_ITEMS)); + +/** Releases graph scanner. */ +CVAPI(void) cvReleaseGraphScanner( CvGraphScanner** scanner ); + +/** Get next graph element */ +CVAPI(int) cvNextGraphItem( CvGraphScanner* scanner ); + +/** Creates a copy of graph */ +CVAPI(CvGraph*) cvCloneGraph( const CvGraph* graph, CvMemStorage* storage ); + + +/** Does look-up transformation. Elements of the source array + (that should be 8uC1 or 8sC1) are used as indexes in lutarr 256-element table */ +CVAPI(void) cvLUT( const CvArr* src, CvArr* dst, const CvArr* lut ); + + +/******************* Iteration through the sequence tree *****************/ +typedef struct CvTreeNodeIterator +{ + const void* node; + int level; + int max_level; +} +CvTreeNodeIterator; + +CVAPI(void) cvInitTreeNodeIterator( CvTreeNodeIterator* tree_iterator, + const void* first, int max_level ); +CVAPI(void*) cvNextTreeNode( CvTreeNodeIterator* tree_iterator ); +CVAPI(void*) cvPrevTreeNode( CvTreeNodeIterator* tree_iterator ); + +/** Inserts sequence into tree with specified "parent" sequence. + If parent is equal to frame (e.g. the most external contour), + then added contour will have null pointer to parent. */ +CVAPI(void) cvInsertNodeIntoTree( void* node, void* parent, void* frame ); + +/** Removes contour from tree (together with the contour children). */ +CVAPI(void) cvRemoveNodeFromTree( void* node, void* frame ); + +/** Gathers pointers to all the sequences, + accessible from the `first`, to the single sequence */ +CVAPI(CvSeq*) cvTreeToNodeSeq( const void* first, int header_size, + CvMemStorage* storage ); + +/** The function implements the K-means algorithm for clustering an array of sample + vectors in a specified number of classes */ +#define CV_KMEANS_USE_INITIAL_LABELS 1 +CVAPI(int) cvKMeans2( const CvArr* samples, int cluster_count, CvArr* labels, + CvTermCriteria termcrit, int attempts CV_DEFAULT(1), + CvRNG* rng CV_DEFAULT(0), int flags CV_DEFAULT(0), + CvArr* _centers CV_DEFAULT(0), double* compactness CV_DEFAULT(0) ); + +/****************************************************************************************\ +* System functions * +\****************************************************************************************/ + +/** Loads optimized functions from IPP, MKL etc. or switches back to pure C code */ +CVAPI(int) cvUseOptimized( int on_off ); + +typedef IplImage* (CV_STDCALL* Cv_iplCreateImageHeader) + (int,int,int,char*,char*,int,int,int,int,int, + IplROI*,IplImage*,void*,IplTileInfo*); +typedef void (CV_STDCALL* Cv_iplAllocateImageData)(IplImage*,int,int); +typedef void (CV_STDCALL* Cv_iplDeallocate)(IplImage*,int); +typedef IplROI* (CV_STDCALL* Cv_iplCreateROI)(int,int,int,int,int); +typedef IplImage* (CV_STDCALL* Cv_iplCloneImage)(const IplImage*); + +/** @brief Makes OpenCV use IPL functions for allocating IplImage and IplROI structures. + +Normally, the function is not called directly. Instead, a simple macro +CV_TURN_ON_IPL_COMPATIBILITY() is used that calls cvSetIPLAllocators and passes there pointers +to IPL allocation functions. : +@code + ... + CV_TURN_ON_IPL_COMPATIBILITY() + ... +@endcode +@param create_header pointer to a function, creating IPL image header. +@param allocate_data pointer to a function, allocating IPL image data. +@param deallocate pointer to a function, deallocating IPL image. +@param create_roi pointer to a function, creating IPL image ROI (i.e. Region of Interest). +@param clone_image pointer to a function, cloning an IPL image. + */ +CVAPI(void) cvSetIPLAllocators( Cv_iplCreateImageHeader create_header, + Cv_iplAllocateImageData allocate_data, + Cv_iplDeallocate deallocate, + Cv_iplCreateROI create_roi, + Cv_iplCloneImage clone_image ); + +#define CV_TURN_ON_IPL_COMPATIBILITY() \ + cvSetIPLAllocators( iplCreateImageHeader, iplAllocateImage, \ + iplDeallocate, iplCreateROI, iplCloneImage ) + +/****************************************************************************************\ +* Data Persistence * +\****************************************************************************************/ + +#if 0 +/********************************** High-level functions ********************************/ + +/** @brief Opens file storage for reading or writing data. + +The function opens file storage for reading or writing data. In the latter case, a new file is +created or an existing file is rewritten. The type of the read or written file is determined by the +filename extension: .xml for XML, .yml or .yaml for YAML and .json for JSON. + +At the same time, it also supports adding parameters like "example.xml?base64". + +The function returns a pointer to the CvFileStorage structure. +If the file cannot be opened then the function returns NULL. +@param filename Name of the file associated with the storage +@param memstorage Memory storage used for temporary data and for +: storing dynamic structures, such as CvSeq or CvGraph . If it is NULL, a temporary memory + storage is created and used. +@param flags Can be one of the following: +> - **CV_STORAGE_READ** the storage is open for reading +> - **CV_STORAGE_WRITE** the storage is open for writing + (use **CV_STORAGE_WRITE | CV_STORAGE_WRITE_BASE64** to write rawdata in Base64) +@param encoding + */ +CVAPI(CvFileStorage*) cvOpenFileStorage( const char* filename, CvMemStorage* memstorage, + int flags, const char* encoding CV_DEFAULT(NULL) ); + +/** @brief Releases file storage. + +The function closes the file associated with the storage and releases all the temporary structures. +It must be called after all I/O operations with the storage are finished. +@param fs Double pointer to the released file storage + */ +CVAPI(void) cvReleaseFileStorage( CvFileStorage** fs ); + +/** returns attribute value or 0 (NULL) if there is no such attribute */ +CVAPI(const char*) cvAttrValue( const CvAttrList* attr, const char* attr_name ); + +/** @brief Starts writing a new structure. + +The function starts writing a compound structure (collection) that can be a sequence or a map. After +all the structure fields, which can be scalars or structures, are written, cvEndWriteStruct should +be called. The function can be used to group some objects or to implement the write function for a +some user object (see CvTypeInfo). +@param fs File storage +@param name Name of the written structure. The structure can be accessed by this name when the +storage is read. +@param struct_flags A combination one of the following values: +- **CV_NODE_SEQ** the written structure is a sequence (see discussion of CvFileStorage ), + that is, its elements do not have a name. +- **CV_NODE_MAP** the written structure is a map (see discussion of CvFileStorage ), that + is, all its elements have names. +One and only one of the two above flags must be specified +- **CV_NODE_FLOW** the optional flag that makes sense only for YAML streams. It means that + the structure is written as a flow (not as a block), which is more compact. It is + recommended to use this flag for structures or arrays whose elements are all scalars. +@param type_name Optional parameter - the object type name. In + case of XML it is written as a type_id attribute of the structure opening tag. In the case of + YAML it is written after a colon following the structure name (see the example in + CvFileStorage description). In case of JSON it is written as a name/value pair. + Mainly it is used with user objects. When the storage is read, the + encoded type name is used to determine the object type (see CvTypeInfo and cvFindType ). +@param attributes This parameter is not used in the current implementation + */ +CVAPI(void) cvStartWriteStruct( CvFileStorage* fs, const char* name, + int struct_flags, const char* type_name CV_DEFAULT(NULL), + CvAttrList attributes CV_DEFAULT(cvAttrList())); + +/** @brief Finishes writing to a file node collection. +@param fs File storage +@sa cvStartWriteStruct. + */ +CVAPI(void) cvEndWriteStruct( CvFileStorage* fs ); + +/** @brief Writes an integer value. + +The function writes a single integer value (with or without a name) to the file storage. +@param fs File storage +@param name Name of the written value. Should be NULL if and only if the parent structure is a +sequence. +@param value The written value + */ +CVAPI(void) cvWriteInt( CvFileStorage* fs, const char* name, int value ); + +/** @brief Writes a floating-point value. + +The function writes a single floating-point value (with or without a name) to file storage. Special +values are encoded as follows: NaN (Not A Number) as .NaN, infinity as +.Inf or -.Inf. + +The following example shows how to use the low-level writing functions to store custom structures, +such as termination criteria, without registering a new type. : +@code + void write_termcriteria( CvFileStorage* fs, const char* struct_name, + CvTermCriteria* termcrit ) + { + cvStartWriteStruct( fs, struct_name, CV_NODE_MAP, NULL, cvAttrList(0,0)); + cvWriteComment( fs, "termination criteria", 1 ); // just a description + if( termcrit->type & CV_TERMCRIT_ITER ) + cvWriteInteger( fs, "max_iterations", termcrit->max_iter ); + if( termcrit->type & CV_TERMCRIT_EPS ) + cvWriteReal( fs, "accuracy", termcrit->epsilon ); + cvEndWriteStruct( fs ); + } +@endcode +@param fs File storage +@param name Name of the written value. Should be NULL if and only if the parent structure is a +sequence. +@param value The written value +*/ +CVAPI(void) cvWriteReal( CvFileStorage* fs, const char* name, double value ); + +/** @brief Writes a text string. + +The function writes a text string to file storage. +@param fs File storage +@param name Name of the written string . Should be NULL if and only if the parent structure is a +sequence. +@param str The written text string +@param quote If non-zero, the written string is put in quotes, regardless of whether they are +required. Otherwise, if the flag is zero, quotes are used only when they are required (e.g. when +the string starts with a digit or contains spaces). + */ +CVAPI(void) cvWriteString( CvFileStorage* fs, const char* name, + const char* str, int quote CV_DEFAULT(0) ); + +/** @brief Writes a comment. + +The function writes a comment into file storage. The comments are skipped when the storage is read. +@param fs File storage +@param comment The written comment, single-line or multi-line +@param eol_comment If non-zero, the function tries to put the comment at the end of current line. +If the flag is zero, if the comment is multi-line, or if it does not fit at the end of the current +line, the comment starts a new line. + */ +CVAPI(void) cvWriteComment( CvFileStorage* fs, const char* comment, + int eol_comment ); + +/** @brief Writes an object to file storage. + +The function writes an object to file storage. First, the appropriate type info is found using +cvTypeOf. Then, the write method associated with the type info is called. + +Attributes are used to customize the writing procedure. The standard types support the following +attributes (all the dt attributes have the same format as in cvWriteRawData): + +-# CvSeq + - **header_dt** description of user fields of the sequence header that follow CvSeq, or + CvChain (if the sequence is a Freeman chain) or CvContour (if the sequence is a contour or + point sequence) + - **dt** description of the sequence elements. + - **recursive** if the attribute is present and is not equal to "0" or "false", the whole + tree of sequences (contours) is stored. +-# CvGraph + - **header_dt** description of user fields of the graph header that follows CvGraph; + - **vertex_dt** description of user fields of graph vertices + - **edge_dt** description of user fields of graph edges (note that the edge weight is + always written, so there is no need to specify it explicitly) + +Below is the code that creates the YAML file shown in the CvFileStorage description: +@code + #include "cxcore.h" + + int main( int argc, char** argv ) + { + CvMat* mat = cvCreateMat( 3, 3, CV_32F ); + CvFileStorage* fs = cvOpenFileStorage( "example.yml", 0, CV_STORAGE_WRITE ); + + cvSetIdentity( mat ); + cvWrite( fs, "A", mat, cvAttrList(0,0) ); + + cvReleaseFileStorage( &fs ); + cvReleaseMat( &mat ); + return 0; + } +@endcode +@param fs File storage +@param name Name of the written object. Should be NULL if and only if the parent structure is a +sequence. +@param ptr Pointer to the object +@param attributes The attributes of the object. They are specific for each particular type (see +the discussion below). + */ +CVAPI(void) cvWrite( CvFileStorage* fs, const char* name, const void* ptr, + CvAttrList attributes CV_DEFAULT(cvAttrList())); + +/** @brief Starts the next stream. + +The function finishes the currently written stream and starts the next stream. In the case of XML +the file with multiple streams looks like this: +@code{.xml} + + + + + + + ... +@endcode +The YAML file will look like this: +@code{.yaml} + %YAML 1.0 + # stream #1 data + ... + --- + # stream #2 data +@endcode +This is useful for concatenating files or for resuming the writing process. +@param fs File storage + */ +CVAPI(void) cvStartNextStream( CvFileStorage* fs ); + +/** @brief Writes multiple numbers. + +The function writes an array, whose elements consist of single or multiple numbers. The function +call can be replaced with a loop containing a few cvWriteInt and cvWriteReal calls, but a single +call is more efficient. Note that because none of the elements have a name, they should be written +to a sequence rather than a map. +@param fs File storage +@param src Pointer to the written array +@param len Number of the array elements to write +@param dt Specification of each array element, see @ref format_spec "format specification" + */ +CVAPI(void) cvWriteRawData( CvFileStorage* fs, const void* src, + int len, const char* dt ); + +/** @brief Writes multiple numbers in Base64. + +If either CV_STORAGE_WRITE_BASE64 or cv::FileStorage::WRITE_BASE64 is used, +this function will be the same as cvWriteRawData. If neither, the main +difference is that it outputs a sequence in Base64 encoding rather than +in plain text. + +This function can only be used to write a sequence with a type "binary". + +@param fs File storage +@param src Pointer to the written array +@param len Number of the array elements to write +@param dt Specification of each array element, see @ref format_spec "format specification" +*/ +CVAPI(void) cvWriteRawDataBase64( CvFileStorage* fs, const void* src, + int len, const char* dt ); + +/** @brief Returns a unique pointer for a given name. + +The function returns a unique pointer for each particular file node name. This pointer can be then +passed to the cvGetFileNode function that is faster than cvGetFileNodeByName because it compares +text strings by comparing pointers rather than the strings' content. + +Consider the following example where an array of points is encoded as a sequence of 2-entry maps: +@code + points: + - { x: 10, y: 10 } + - { x: 20, y: 20 } + - { x: 30, y: 30 } + # ... +@endcode +Then, it is possible to get hashed "x" and "y" pointers to speed up decoding of the points. : +@code + #include "cxcore.h" + + int main( int argc, char** argv ) + { + CvFileStorage* fs = cvOpenFileStorage( "points.yml", 0, CV_STORAGE_READ ); + CvStringHashNode* x_key = cvGetHashedNode( fs, "x", -1, 1 ); + CvStringHashNode* y_key = cvGetHashedNode( fs, "y", -1, 1 ); + CvFileNode* points = cvGetFileNodeByName( fs, 0, "points" ); + + if( CV_NODE_IS_SEQ(points->tag) ) + { + CvSeq* seq = points->data.seq; + int i, total = seq->total; + CvSeqReader reader; + cvStartReadSeq( seq, &reader, 0 ); + for( i = 0; i < total; i++ ) + { + CvFileNode* pt = (CvFileNode*)reader.ptr; + #if 1 // faster variant + CvFileNode* xnode = cvGetFileNode( fs, pt, x_key, 0 ); + CvFileNode* ynode = cvGetFileNode( fs, pt, y_key, 0 ); + assert( xnode && CV_NODE_IS_INT(xnode->tag) && + ynode && CV_NODE_IS_INT(ynode->tag)); + int x = xnode->data.i; // or x = cvReadInt( xnode, 0 ); + int y = ynode->data.i; // or y = cvReadInt( ynode, 0 ); + #elif 1 // slower variant; does not use x_key & y_key + CvFileNode* xnode = cvGetFileNodeByName( fs, pt, "x" ); + CvFileNode* ynode = cvGetFileNodeByName( fs, pt, "y" ); + assert( xnode && CV_NODE_IS_INT(xnode->tag) && + ynode && CV_NODE_IS_INT(ynode->tag)); + int x = xnode->data.i; // or x = cvReadInt( xnode, 0 ); + int y = ynode->data.i; // or y = cvReadInt( ynode, 0 ); + #else // the slowest yet the easiest to use variant + int x = cvReadIntByName( fs, pt, "x", 0 ); + int y = cvReadIntByName( fs, pt, "y", 0 ); + #endif + CV_NEXT_SEQ_ELEM( seq->elem_size, reader ); + printf(" + } + } + cvReleaseFileStorage( &fs ); + return 0; + } +@endcode +Please note that whatever method of accessing a map you are using, it is still much slower than +using plain sequences; for example, in the above example, it is more efficient to encode the points +as pairs of integers in a single numeric sequence. +@param fs File storage +@param name Literal node name +@param len Length of the name (if it is known apriori), or -1 if it needs to be calculated +@param create_missing Flag that specifies, whether an absent key should be added into the hash table +*/ +CVAPI(CvStringHashNode*) cvGetHashedKey( CvFileStorage* fs, const char* name, + int len CV_DEFAULT(-1), + int create_missing CV_DEFAULT(0)); + +/** @brief Retrieves one of the top-level nodes of the file storage. + +The function returns one of the top-level file nodes. The top-level nodes do not have a name, they +correspond to the streams that are stored one after another in the file storage. If the index is out +of range, the function returns a NULL pointer, so all the top-level nodes can be iterated by +subsequent calls to the function with stream_index=0,1,..., until the NULL pointer is returned. +This function can be used as a base for recursive traversal of the file storage. +@param fs File storage +@param stream_index Zero-based index of the stream. See cvStartNextStream . In most cases, +there is only one stream in the file; however, there can be several. + */ +CVAPI(CvFileNode*) cvGetRootFileNode( const CvFileStorage* fs, + int stream_index CV_DEFAULT(0) ); + +/** @brief Finds a node in a map or file storage. + +The function finds a file node. It is a faster version of cvGetFileNodeByName (see +cvGetHashedKey discussion). Also, the function can insert a new node, if it is not in the map yet. +@param fs File storage +@param map The parent map. If it is NULL, the function searches a top-level node. If both map and +key are NULLs, the function returns the root file node - a map that contains top-level nodes. +@param key Unique pointer to the node name, retrieved with cvGetHashedKey +@param create_missing Flag that specifies whether an absent node should be added to the map + */ +CVAPI(CvFileNode*) cvGetFileNode( CvFileStorage* fs, CvFileNode* map, + const CvStringHashNode* key, + int create_missing CV_DEFAULT(0) ); + +/** @brief Finds a node in a map or file storage. + +The function finds a file node by name. The node is searched either in map or, if the pointer is +NULL, among the top-level file storage nodes. Using this function for maps and cvGetSeqElem (or +sequence reader) for sequences, it is possible to navigate through the file storage. To speed up +multiple queries for a certain key (e.g., in the case of an array of structures) one may use a +combination of cvGetHashedKey and cvGetFileNode. +@param fs File storage +@param map The parent map. If it is NULL, the function searches in all the top-level nodes +(streams), starting with the first one. +@param name The file node name + */ +CVAPI(CvFileNode*) cvGetFileNodeByName( const CvFileStorage* fs, + const CvFileNode* map, + const char* name ); + +/** @brief Retrieves an integer value from a file node. + +The function returns an integer that is represented by the file node. If the file node is NULL, the +default_value is returned (thus, it is convenient to call the function right after cvGetFileNode +without checking for a NULL pointer). If the file node has type CV_NODE_INT, then node-\>data.i is +returned. If the file node has type CV_NODE_REAL, then node-\>data.f is converted to an integer +and returned. Otherwise the error is reported. +@param node File node +@param default_value The value that is returned if node is NULL + */ +CV_INLINE int cvReadInt( const CvFileNode* node, int default_value CV_DEFAULT(0) ) +{ + return !node ? default_value : + CV_NODE_IS_INT(node->tag) ? node->data.i : + CV_NODE_IS_REAL(node->tag) ? cvRound(node->data.f) : 0x7fffffff; +} + +/** @brief Finds a file node and returns its value. + +The function is a simple superposition of cvGetFileNodeByName and cvReadInt. +@param fs File storage +@param map The parent map. If it is NULL, the function searches a top-level node. +@param name The node name +@param default_value The value that is returned if the file node is not found + */ +CV_INLINE int cvReadIntByName( const CvFileStorage* fs, const CvFileNode* map, + const char* name, int default_value CV_DEFAULT(0) ) +{ + return cvReadInt( cvGetFileNodeByName( fs, map, name ), default_value ); +} + +/** @brief Retrieves a floating-point value from a file node. + +The function returns a floating-point value that is represented by the file node. If the file node +is NULL, the default_value is returned (thus, it is convenient to call the function right after +cvGetFileNode without checking for a NULL pointer). If the file node has type CV_NODE_REAL , +then node-\>data.f is returned. If the file node has type CV_NODE_INT , then node-:math:\>data.f +is converted to floating-point and returned. Otherwise the result is not determined. +@param node File node +@param default_value The value that is returned if node is NULL + */ +CV_INLINE double cvReadReal( const CvFileNode* node, double default_value CV_DEFAULT(0.) ) +{ + return !node ? default_value : + CV_NODE_IS_INT(node->tag) ? (double)node->data.i : + CV_NODE_IS_REAL(node->tag) ? node->data.f : 1e300; +} + +/** @brief Finds a file node and returns its value. + +The function is a simple superposition of cvGetFileNodeByName and cvReadReal . +@param fs File storage +@param map The parent map. If it is NULL, the function searches a top-level node. +@param name The node name +@param default_value The value that is returned if the file node is not found + */ +CV_INLINE double cvReadRealByName( const CvFileStorage* fs, const CvFileNode* map, + const char* name, double default_value CV_DEFAULT(0.) ) +{ + return cvReadReal( cvGetFileNodeByName( fs, map, name ), default_value ); +} + +/** @brief Retrieves a text string from a file node. + +The function returns a text string that is represented by the file node. If the file node is NULL, +the default_value is returned (thus, it is convenient to call the function right after +cvGetFileNode without checking for a NULL pointer). If the file node has type CV_NODE_STR , then +node-:math:\>data.str.ptr is returned. Otherwise the result is not determined. +@param node File node +@param default_value The value that is returned if node is NULL + */ +CV_INLINE const char* cvReadString( const CvFileNode* node, + const char* default_value CV_DEFAULT(NULL) ) +{ + return !node ? default_value : CV_NODE_IS_STRING(node->tag) ? node->data.str.ptr : 0; +} + +/** @brief Finds a file node by its name and returns its value. + +The function is a simple superposition of cvGetFileNodeByName and cvReadString . +@param fs File storage +@param map The parent map. If it is NULL, the function searches a top-level node. +@param name The node name +@param default_value The value that is returned if the file node is not found + */ +CV_INLINE const char* cvReadStringByName( const CvFileStorage* fs, const CvFileNode* map, + const char* name, const char* default_value CV_DEFAULT(NULL) ) +{ + return cvReadString( cvGetFileNodeByName( fs, map, name ), default_value ); +} + + +/** @brief Decodes an object and returns a pointer to it. + +The function decodes a user object (creates an object in a native representation from the file +storage subtree) and returns it. The object to be decoded must be an instance of a registered type +that supports the read method (see CvTypeInfo). The type of the object is determined by the type +name that is encoded in the file. If the object is a dynamic structure, it is created either in +memory storage and passed to cvOpenFileStorage or, if a NULL pointer was passed, in temporary +memory storage, which is released when cvReleaseFileStorage is called. Otherwise, if the object is +not a dynamic structure, it is created in a heap and should be released with a specialized function +or by using the generic cvRelease. +@param fs File storage +@param node The root object node +@param attributes Unused parameter + */ +CVAPI(void*) cvRead( CvFileStorage* fs, CvFileNode* node, + CvAttrList* attributes CV_DEFAULT(NULL)); + +/** @brief Finds an object by name and decodes it. + +The function is a simple superposition of cvGetFileNodeByName and cvRead. +@param fs File storage +@param map The parent map. If it is NULL, the function searches a top-level node. +@param name The node name +@param attributes Unused parameter + */ +CV_INLINE void* cvReadByName( CvFileStorage* fs, const CvFileNode* map, + const char* name, CvAttrList* attributes CV_DEFAULT(NULL) ) +{ + return cvRead( fs, cvGetFileNodeByName( fs, map, name ), attributes ); +} + + +/** @brief Initializes the file node sequence reader. + +The function initializes the sequence reader to read data from a file node. The initialized reader +can be then passed to cvReadRawDataSlice. +@param fs File storage +@param src The file node (a sequence) to read numbers from +@param reader Pointer to the sequence reader + */ +CVAPI(void) cvStartReadRawData( const CvFileStorage* fs, const CvFileNode* src, + CvSeqReader* reader ); + +/** @brief Initializes file node sequence reader. + +The function reads one or more elements from the file node, representing a sequence, to a +user-specified array. The total number of read sequence elements is a product of total and the +number of components in each array element. For example, if dt=2if, the function will read total\*3 +sequence elements. As with any sequence, some parts of the file node sequence can be skipped or read +repeatedly by repositioning the reader using cvSetSeqReaderPos. +@param fs File storage +@param reader The sequence reader. Initialize it with cvStartReadRawData . +@param count The number of elements to read +@param dst Pointer to the destination array +@param dt Specification of each array element. It has the same format as in cvWriteRawData . + */ +CVAPI(void) cvReadRawDataSlice( const CvFileStorage* fs, CvSeqReader* reader, + int count, void* dst, const char* dt ); + +/** @brief Reads multiple numbers. + +The function reads elements from a file node that represents a sequence of scalars. +@param fs File storage +@param src The file node (a sequence) to read numbers from +@param dst Pointer to the destination array +@param dt Specification of each array element. It has the same format as in cvWriteRawData . + */ +CVAPI(void) cvReadRawData( const CvFileStorage* fs, const CvFileNode* src, + void* dst, const char* dt ); + +/** @brief Writes a file node to another file storage. + +The function writes a copy of a file node to file storage. Possible applications of the function are +merging several file storages into one and conversion between XML, YAML and JSON formats. +@param fs Destination file storage +@param new_node_name New name of the file node in the destination file storage. To keep the +existing name, use cvcvGetFileNodeName +@param node The written node +@param embed If the written node is a collection and this parameter is not zero, no extra level of +hierarchy is created. Instead, all the elements of node are written into the currently written +structure. Of course, map elements can only be embedded into another map, and sequence elements +can only be embedded into another sequence. + */ +CVAPI(void) cvWriteFileNode( CvFileStorage* fs, const char* new_node_name, + const CvFileNode* node, int embed ); + +/** @brief Returns the name of a file node. + +The function returns the name of a file node or NULL, if the file node does not have a name or if +node is NULL. +@param node File node + */ +CVAPI(const char*) cvGetFileNodeName( const CvFileNode* node ); + +/*********************************** Adding own types ***********************************/ + +/** @brief Registers a new type. + +The function registers a new type, which is described by info . The function creates a copy of the +structure, so the user should delete it after calling the function. +@param info Type info structure + */ +CVAPI(void) cvRegisterType( const CvTypeInfo* info ); + +/** @brief Unregisters the type. + +The function unregisters a type with a specified name. If the name is unknown, it is possible to +locate the type info by an instance of the type using cvTypeOf or by iterating the type list, +starting from cvFirstType, and then calling cvUnregisterType(info-\>typeName). +@param type_name Name of an unregistered type + */ +CVAPI(void) cvUnregisterType( const char* type_name ); + +/** @brief Returns the beginning of a type list. + +The function returns the first type in the list of registered types. Navigation through the list can +be done via the prev and next fields of the CvTypeInfo structure. + */ +CVAPI(CvTypeInfo*) cvFirstType(void); + +/** @brief Finds a type by its name. + +The function finds a registered type by its name. It returns NULL if there is no type with the +specified name. +@param type_name Type name + */ +CVAPI(CvTypeInfo*) cvFindType( const char* type_name ); + +/** @brief Returns the type of an object. + +The function finds the type of a given object. It iterates through the list of registered types and +calls the is_instance function/method for every type info structure with that object until one of +them returns non-zero or until the whole list has been traversed. In the latter case, the function +returns NULL. +@param struct_ptr The object pointer + */ +CVAPI(CvTypeInfo*) cvTypeOf( const void* struct_ptr ); + +#endif + +/** @brief Releases an object. + + The function finds the type of a given object and calls release with the double pointer. + @param struct_ptr Double pointer to the object + */ +CVAPI(void) cvRelease( void** struct_ptr ); + +/** @brief Makes a clone of an object. + +The function finds the type of a given object and calls clone with the passed object. Of course, if +you know the object type, for example, struct_ptr is CvMat\*, it is faster to call the specific +function, like cvCloneMat. +@param struct_ptr The object to clone + */ +CVAPI(void*) cvClone( const void* struct_ptr ); + +/*********************************** Measuring Execution Time ***************************/ + +/** helper functions for RNG initialization and accurate time measurement: + uses internal clock counter on x86 */ +CVAPI(int64) cvGetTickCount( void ); +CVAPI(double) cvGetTickFrequency( void ); + +/*********************************** CPU capabilities ***********************************/ + +CVAPI(int) cvCheckHardwareSupport(int feature); + +/*********************************** Multi-Threading ************************************/ + +/** retrieve/set the number of threads used in OpenMP implementations */ +CVAPI(int) cvGetNumThreads( void ); +CVAPI(void) cvSetNumThreads( int threads CV_DEFAULT(0) ); +/** get index of the thread being executed */ +CVAPI(int) cvGetThreadNum( void ); + + +/********************************** Error Handling **************************************/ + +/** Get current OpenCV error status */ +CVAPI(int) cvGetErrStatus( void ); + +/** Sets error status silently */ +CVAPI(void) cvSetErrStatus( int status ); + +#define CV_ErrModeLeaf 0 /* Print error and exit program */ +#define CV_ErrModeParent 1 /* Print error and continue */ +#define CV_ErrModeSilent 2 /* Don't print and continue */ + +/** Retrieves current error processing mode */ +CVAPI(int) cvGetErrMode( void ); + +/** Sets error processing mode, returns previously used mode */ +CVAPI(int) cvSetErrMode( int mode ); + +/** Sets error status and performs some additional actions (displaying message box, + writing message to stderr, terminating application etc.) + depending on the current error mode */ +CVAPI(void) cvError( int status, const char* func_name, + const char* err_msg, const char* file_name, int line ); + +/** Retrieves textual description of the error given its code */ +CVAPI(const char*) cvErrorStr( int status ); + +/** Retrieves detailed information about the last error occurred */ +CVAPI(int) cvGetErrInfo( const char** errcode_desc, const char** description, + const char** filename, int* line ); + +/** Maps IPP error codes to the counterparts from OpenCV */ +CVAPI(int) cvErrorFromIppStatus( int ipp_status ); + +typedef int (CV_CDECL *CvErrorCallback)( int status, const char* func_name, + const char* err_msg, const char* file_name, int line, void* userdata ); + +/** Assigns a new error-handling function */ +CVAPI(CvErrorCallback) cvRedirectError( CvErrorCallback error_handler, + void* userdata CV_DEFAULT(NULL), + void** prev_userdata CV_DEFAULT(NULL) ); + +/** Output nothing */ +CVAPI(int) cvNulDevReport( int status, const char* func_name, const char* err_msg, + const char* file_name, int line, void* userdata ); + +/** Output to console(fprintf(stderr,...)) */ +CVAPI(int) cvStdErrReport( int status, const char* func_name, const char* err_msg, + const char* file_name, int line, void* userdata ); + +/** Output to MessageBox(WIN32) */ +CVAPI(int) cvGuiBoxReport( int status, const char* func_name, const char* err_msg, + const char* file_name, int line, void* userdata ); + +#define OPENCV_ERROR(status,func,context) \ +cvError((status),(func),(context),__FILE__,__LINE__) + +#define OPENCV_ASSERT(expr,func,context) \ +{if (! (expr)) \ +{OPENCV_ERROR(CV_StsInternal,(func),(context));}} + +#define OPENCV_CALL( Func ) \ +{ \ +Func; \ +} + + +/** CV_FUNCNAME macro defines icvFuncName constant which is used by CV_ERROR macro */ +#ifdef CV_NO_FUNC_NAMES +#define CV_FUNCNAME( Name ) +#define cvFuncName "" +#else +#define CV_FUNCNAME( Name ) \ +static char cvFuncName[] = Name +#endif + + +/** + CV_ERROR macro unconditionally raises error with passed code and message. + After raising error, control will be transferred to the exit label. + */ +#define CV_ERROR( Code, Msg ) \ +{ \ + cvError( (Code), cvFuncName, Msg, __FILE__, __LINE__ ); \ + __CV_EXIT__; \ +} + +/** + CV_CHECK macro checks error status after CV (or IPL) + function call. If error detected, control will be transferred to the exit + label. + */ +#define CV_CHECK() \ +{ \ + if( cvGetErrStatus() < 0 ) \ + CV_ERROR( CV_StsBackTrace, "Inner function failed." ); \ +} + + +/** + CV_CALL macro calls CV (or IPL) function, checks error status and + signals a error if the function failed. Useful in "parent node" + error processing mode + */ +#define CV_CALL( Func ) \ +{ \ + Func; \ + CV_CHECK(); \ +} + + +/** Runtime assertion macro */ +#define CV_ASSERT( Condition ) \ +{ \ + if( !(Condition) ) \ + CV_ERROR( CV_StsInternal, "Assertion: " #Condition " failed" ); \ +} + +#define __CV_BEGIN__ { +#define __CV_END__ goto exit; exit: ; } +#define __CV_EXIT__ goto exit + +/** @} core_c */ + +#ifdef __cplusplus +} // extern "C" +#endif + +#ifdef __cplusplus + +#include "opencv2/core/utility.hpp" + +namespace cv +{ + +//! @addtogroup core_c_glue +//! @{ + +/////////////////////////////////////////// glue /////////////////////////////////////////// + +//! converts array (CvMat or IplImage) to cv::Mat +CV_EXPORTS Mat cvarrToMat(const CvArr* arr, bool copyData=false, + bool allowND=true, int coiMode=0, + AutoBuffer* buf=0); + +static inline Mat cvarrToMatND(const CvArr* arr, bool copyData=false, int coiMode=0) +{ + return cvarrToMat(arr, copyData, true, coiMode); +} + + +//! extracts Channel of Interest from CvMat or IplImage and makes cv::Mat out of it. +CV_EXPORTS void extractImageCOI(const CvArr* arr, OutputArray coiimg, int coi=-1); +//! inserts single-channel cv::Mat into a multi-channel CvMat or IplImage +CV_EXPORTS void insertImageCOI(InputArray coiimg, CvArr* arr, int coi=-1); + + + +////// specialized implementations of DefaultDeleter::operator() for classic OpenCV types ////// + +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(CvMat* obj) const; }; +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(IplImage* obj) const; }; +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(CvMatND* obj) const; }; +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(CvSparseMat* obj) const; }; +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(CvMemStorage* obj) const; }; + +////////////// convenient wrappers for operating old-style dynamic structures ////////////// + +template class SeqIterator; + +typedef Ptr MemStorage; + +/*! + Template Sequence Class derived from CvSeq + + The class provides more convenient access to sequence elements, + STL-style operations and iterators. + + \note The class is targeted for simple data types, + i.e. no constructors or destructors + are called for the sequence elements. +*/ +template class Seq +{ +public: + typedef SeqIterator<_Tp> iterator; + typedef SeqIterator<_Tp> const_iterator; + + //! the default constructor + Seq(); + //! the constructor for wrapping CvSeq structure. The real element type in CvSeq should match _Tp. + Seq(const CvSeq* seq); + //! creates the empty sequence that resides in the specified storage + Seq(MemStorage& storage, int headerSize = sizeof(CvSeq)); + //! returns read-write reference to the specified element + _Tp& operator [](int idx); + //! returns read-only reference to the specified element + const _Tp& operator[](int idx) const; + //! returns iterator pointing to the beginning of the sequence + SeqIterator<_Tp> begin() const; + //! returns iterator pointing to the element following the last sequence element + SeqIterator<_Tp> end() const; + //! returns the number of elements in the sequence + size_t size() const; + //! returns the type of sequence elements (CV_8UC1 ... CV_64FC(CV_CN_MAX) ...) + int type() const; + //! returns the depth of sequence elements (CV_8U ... CV_64F) + int depth() const; + //! returns the number of channels in each sequence element + int channels() const; + //! returns the size of each sequence element + size_t elemSize() const; + //! returns index of the specified sequence element + size_t index(const _Tp& elem) const; + //! appends the specified element to the end of the sequence + void push_back(const _Tp& elem); + //! appends the specified element to the front of the sequence + void push_front(const _Tp& elem); + //! appends zero or more elements to the end of the sequence + void push_back(const _Tp* elems, size_t count); + //! appends zero or more elements to the front of the sequence + void push_front(const _Tp* elems, size_t count); + //! inserts the specified element to the specified position + void insert(int idx, const _Tp& elem); + //! inserts zero or more elements to the specified position + void insert(int idx, const _Tp* elems, size_t count); + //! removes element at the specified position + void remove(int idx); + //! removes the specified subsequence + void remove(const Range& r); + + //! returns reference to the first sequence element + _Tp& front(); + //! returns read-only reference to the first sequence element + const _Tp& front() const; + //! returns reference to the last sequence element + _Tp& back(); + //! returns read-only reference to the last sequence element + const _Tp& back() const; + //! returns true iff the sequence contains no elements + bool empty() const; + + //! removes all the elements from the sequence + void clear(); + //! removes the first element from the sequence + void pop_front(); + //! removes the last element from the sequence + void pop_back(); + //! removes zero or more elements from the beginning of the sequence + void pop_front(_Tp* elems, size_t count); + //! removes zero or more elements from the end of the sequence + void pop_back(_Tp* elems, size_t count); + + //! copies the whole sequence or the sequence slice to the specified vector + void copyTo(std::vector<_Tp>& vec, const Range& range=Range::all()) const; + //! returns the vector containing all the sequence elements + operator std::vector<_Tp>() const; + + CvSeq* seq; +}; + + +/*! + STL-style Sequence Iterator inherited from the CvSeqReader structure +*/ +template class SeqIterator : public CvSeqReader +{ +public: + //! the default constructor + SeqIterator(); + //! the constructor setting the iterator to the beginning or to the end of the sequence + SeqIterator(const Seq<_Tp>& seq, bool seekEnd=false); + //! positions the iterator within the sequence + void seek(size_t pos); + //! reports the current iterator position + size_t tell() const; + //! returns reference to the current sequence element + _Tp& operator *(); + //! returns read-only reference to the current sequence element + const _Tp& operator *() const; + //! moves iterator to the next sequence element + SeqIterator& operator ++(); + //! moves iterator to the next sequence element + SeqIterator operator ++(int) const; + //! moves iterator to the previous sequence element + SeqIterator& operator --(); + //! moves iterator to the previous sequence element + SeqIterator operator --(int) const; + + //! moves iterator forward by the specified offset (possibly negative) + SeqIterator& operator +=(int); + //! moves iterator backward by the specified offset (possibly negative) + SeqIterator& operator -=(int); + + // this is index of the current element module seq->total*2 + // (to distinguish between 0 and seq->total) + int index; +}; + + + +// bridge C++ => C Seq API +CV_EXPORTS schar* seqPush( CvSeq* seq, const void* element=0); +CV_EXPORTS schar* seqPushFront( CvSeq* seq, const void* element=0); +CV_EXPORTS void seqPop( CvSeq* seq, void* element=0); +CV_EXPORTS void seqPopFront( CvSeq* seq, void* element=0); +CV_EXPORTS void seqPopMulti( CvSeq* seq, void* elements, + int count, int in_front=0 ); +CV_EXPORTS void seqRemove( CvSeq* seq, int index ); +CV_EXPORTS void clearSeq( CvSeq* seq ); +CV_EXPORTS schar* getSeqElem( const CvSeq* seq, int index ); +CV_EXPORTS void seqRemoveSlice( CvSeq* seq, CvSlice slice ); +CV_EXPORTS void seqInsertSlice( CvSeq* seq, int before_index, const CvArr* from_arr ); + +template inline Seq<_Tp>::Seq() : seq(0) {} +template inline Seq<_Tp>::Seq( const CvSeq* _seq ) : seq((CvSeq*)_seq) +{ + CV_Assert(!_seq || _seq->elem_size == sizeof(_Tp)); +} + +template inline Seq<_Tp>::Seq( MemStorage& storage, + int headerSize ) +{ + CV_Assert(headerSize >= (int)sizeof(CvSeq)); + seq = cvCreateSeq(DataType<_Tp>::type, headerSize, sizeof(_Tp), storage); +} + +template inline _Tp& Seq<_Tp>::operator [](int idx) +{ return *(_Tp*)getSeqElem(seq, idx); } + +template inline const _Tp& Seq<_Tp>::operator [](int idx) const +{ return *(_Tp*)getSeqElem(seq, idx); } + +template inline SeqIterator<_Tp> Seq<_Tp>::begin() const +{ return SeqIterator<_Tp>(*this); } + +template inline SeqIterator<_Tp> Seq<_Tp>::end() const +{ return SeqIterator<_Tp>(*this, true); } + +template inline size_t Seq<_Tp>::size() const +{ return seq ? seq->total : 0; } + +template inline int Seq<_Tp>::type() const +{ return seq ? CV_MAT_TYPE(seq->flags) : 0; } + +template inline int Seq<_Tp>::depth() const +{ return seq ? CV_MAT_DEPTH(seq->flags) : 0; } + +template inline int Seq<_Tp>::channels() const +{ return seq ? CV_MAT_CN(seq->flags) : 0; } + +template inline size_t Seq<_Tp>::elemSize() const +{ return seq ? seq->elem_size : 0; } + +template inline size_t Seq<_Tp>::index(const _Tp& elem) const +{ return cvSeqElemIdx(seq, &elem); } + +template inline void Seq<_Tp>::push_back(const _Tp& elem) +{ cvSeqPush(seq, &elem); } + +template inline void Seq<_Tp>::push_front(const _Tp& elem) +{ cvSeqPushFront(seq, &elem); } + +template inline void Seq<_Tp>::push_back(const _Tp* elem, size_t count) +{ cvSeqPushMulti(seq, elem, (int)count, 0); } + +template inline void Seq<_Tp>::push_front(const _Tp* elem, size_t count) +{ cvSeqPushMulti(seq, elem, (int)count, 1); } + +template inline _Tp& Seq<_Tp>::back() +{ return *(_Tp*)getSeqElem(seq, -1); } + +template inline const _Tp& Seq<_Tp>::back() const +{ return *(const _Tp*)getSeqElem(seq, -1); } + +template inline _Tp& Seq<_Tp>::front() +{ return *(_Tp*)getSeqElem(seq, 0); } + +template inline const _Tp& Seq<_Tp>::front() const +{ return *(const _Tp*)getSeqElem(seq, 0); } + +template inline bool Seq<_Tp>::empty() const +{ return !seq || seq->total == 0; } + +template inline void Seq<_Tp>::clear() +{ if(seq) clearSeq(seq); } + +template inline void Seq<_Tp>::pop_back() +{ seqPop(seq); } + +template inline void Seq<_Tp>::pop_front() +{ seqPopFront(seq); } + +template inline void Seq<_Tp>::pop_back(_Tp* elem, size_t count) +{ seqPopMulti(seq, elem, (int)count, 0); } + +template inline void Seq<_Tp>::pop_front(_Tp* elem, size_t count) +{ seqPopMulti(seq, elem, (int)count, 1); } + +template inline void Seq<_Tp>::insert(int idx, const _Tp& elem) +{ seqInsert(seq, idx, &elem); } + +template inline void Seq<_Tp>::insert(int idx, const _Tp* elems, size_t count) +{ + CvMat m = cvMat(1, count, DataType<_Tp>::type, elems); + seqInsertSlice(seq, idx, &m); +} + +template inline void Seq<_Tp>::remove(int idx) +{ seqRemove(seq, idx); } + +template inline void Seq<_Tp>::remove(const Range& r) +{ seqRemoveSlice(seq, cvSlice(r.start, r.end)); } + +template inline void Seq<_Tp>::copyTo(std::vector<_Tp>& vec, const Range& range) const +{ + size_t len = !seq ? 0 : range == Range::all() ? seq->total : range.end - range.start; + vec.resize(len); + if( seq && len ) + cvCvtSeqToArray(seq, &vec[0], cvSlice(range)); +} + +template inline Seq<_Tp>::operator std::vector<_Tp>() const +{ + std::vector<_Tp> vec; + copyTo(vec); + return vec; +} + +template inline SeqIterator<_Tp>::SeqIterator() +{ memset(this, 0, sizeof(*this)); } + +template inline SeqIterator<_Tp>::SeqIterator(const Seq<_Tp>& _seq, bool seekEnd) +{ + cvStartReadSeq(_seq.seq, this); + index = seekEnd ? _seq.seq->total : 0; +} + +template inline void SeqIterator<_Tp>::seek(size_t pos) +{ + cvSetSeqReaderPos(this, (int)pos, false); + index = pos; +} + +template inline size_t SeqIterator<_Tp>::tell() const +{ return index; } + +template inline _Tp& SeqIterator<_Tp>::operator *() +{ return *(_Tp*)ptr; } + +template inline const _Tp& SeqIterator<_Tp>::operator *() const +{ return *(const _Tp*)ptr; } + +template inline SeqIterator<_Tp>& SeqIterator<_Tp>::operator ++() +{ + CV_NEXT_SEQ_ELEM(sizeof(_Tp), *this); + if( ++index >= seq->total*2 ) + index = 0; + return *this; +} + +template inline SeqIterator<_Tp> SeqIterator<_Tp>::operator ++(int) const +{ + SeqIterator<_Tp> it = *this; + ++*this; + return it; +} + +template inline SeqIterator<_Tp>& SeqIterator<_Tp>::operator --() +{ + CV_PREV_SEQ_ELEM(sizeof(_Tp), *this); + if( --index < 0 ) + index = seq->total*2-1; + return *this; +} + +template inline SeqIterator<_Tp> SeqIterator<_Tp>::operator --(int) const +{ + SeqIterator<_Tp> it = *this; + --*this; + return it; +} + +template inline SeqIterator<_Tp>& SeqIterator<_Tp>::operator +=(int delta) +{ + cvSetSeqReaderPos(this, delta, 1); + index += delta; + int n = seq->total*2; + if( index < 0 ) + index += n; + if( index >= n ) + index -= n; + return *this; +} + +template inline SeqIterator<_Tp>& SeqIterator<_Tp>::operator -=(int delta) +{ + return (*this += -delta); +} + +template inline ptrdiff_t operator - (const SeqIterator<_Tp>& a, + const SeqIterator<_Tp>& b) +{ + ptrdiff_t delta = a.index - b.index, n = a.seq->total; + if( delta > n || delta < -n ) + delta += delta < 0 ? n : -n; + return delta; +} + +template inline bool operator == (const SeqIterator<_Tp>& a, + const SeqIterator<_Tp>& b) +{ + return a.seq == b.seq && a.index == b.index; +} + +template inline bool operator != (const SeqIterator<_Tp>& a, + const SeqIterator<_Tp>& b) +{ + return !(a == b); +} + +//! @} + +} // cv + +#endif + +#endif diff --git a/camera_lib/include/opencv2/core/cuda.hpp b/camera_lib/include/opencv2/core/cuda.hpp new file mode 100644 index 0000000..9c948ce --- /dev/null +++ b/camera_lib/include/opencv2/core/cuda.hpp @@ -0,0 +1,1309 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CUDA_HPP +#define OPENCV_CORE_CUDA_HPP + +#ifndef __cplusplus +# error cuda.hpp header must be compiled as C++ +#endif + +#include "opencv2/core.hpp" +#include "opencv2/core/cuda_types.hpp" + +/** + @defgroup cuda CUDA-accelerated Computer Vision + @{ + @defgroup cudacore Core part + @{ + @defgroup cudacore_init Initialization and Information + @defgroup cudacore_struct Data Structures + @} + @} + */ + +namespace cv { namespace cuda { + +//! @addtogroup cudacore_struct +//! @{ + +//=================================================================================== +// GpuMat +//=================================================================================== + +/** @brief Base storage class for GPU memory with reference counting. + +Its interface matches the Mat interface with the following limitations: + +- no arbitrary dimensions support (only 2D) +- no functions that return references to their data (because references on GPU are not valid for + CPU) +- no expression templates technique support + +Beware that the latter limitation may lead to overloaded matrix operators that cause memory +allocations. The GpuMat class is convertible to cuda::PtrStepSz and cuda::PtrStep so it can be +passed directly to the kernel. + +@note In contrast with Mat, in most cases GpuMat::isContinuous() == false . This means that rows are +aligned to a size depending on the hardware. Single-row GpuMat is always a continuous matrix. + +@note You are not recommended to leave static or global GpuMat variables allocated, that is, to rely +on its destructor. The destruction order of such variables and CUDA context is undefined. GPU memory +release function returns error if the CUDA context has been destroyed before. + +Some member functions are described as a "Blocking Call" while some are described as a +"Non-Blocking Call". Blocking functions are synchronous to host. It is guaranteed that the GPU +operation is finished when the function returns. However, non-blocking functions are asynchronous to +host. Those functions may return even if the GPU operation is not finished. + +Compared to their blocking counterpart, non-blocking functions accept Stream as an additional +argument. If a non-default stream is passed, the GPU operation may overlap with operations in other +streams. + +@sa Mat + */ +class CV_EXPORTS_W GpuMat +{ +public: + class CV_EXPORTS_W Allocator + { + public: + virtual ~Allocator() {} + + // allocator must fill data, step and refcount fields + virtual bool allocate(GpuMat* mat, int rows, int cols, size_t elemSize) = 0; + virtual void free(GpuMat* mat) = 0; + }; + + //! default allocator + CV_WRAP static GpuMat::Allocator* defaultAllocator(); + CV_WRAP static void setDefaultAllocator(GpuMat::Allocator* allocator); + + //! default constructor + CV_WRAP explicit GpuMat(GpuMat::Allocator* allocator = GpuMat::defaultAllocator()); + + //! constructs GpuMat of the specified size and type + CV_WRAP GpuMat(int rows, int cols, int type, GpuMat::Allocator* allocator = GpuMat::defaultAllocator()); + CV_WRAP GpuMat(Size size, int type, GpuMat::Allocator* allocator = GpuMat::defaultAllocator()); + + //! constructs GpuMat and fills it with the specified value _s + CV_WRAP GpuMat(int rows, int cols, int type, Scalar s, GpuMat::Allocator* allocator = GpuMat::defaultAllocator()); + CV_WRAP GpuMat(Size size, int type, Scalar s, GpuMat::Allocator* allocator = GpuMat::defaultAllocator()); + + //! copy constructor + CV_WRAP GpuMat(const GpuMat& m); + + //! constructor for GpuMat headers pointing to user-allocated data + GpuMat(int rows, int cols, int type, void* data, size_t step = Mat::AUTO_STEP); + GpuMat(Size size, int type, void* data, size_t step = Mat::AUTO_STEP); + + //! creates a GpuMat header for a part of the bigger matrix + CV_WRAP GpuMat(const GpuMat& m, Range rowRange, Range colRange); + CV_WRAP GpuMat(const GpuMat& m, Rect roi); + + //! builds GpuMat from host memory (Blocking call) + CV_WRAP explicit GpuMat(InputArray arr, GpuMat::Allocator* allocator = GpuMat::defaultAllocator()); + + //! destructor - calls release() + ~GpuMat(); + + //! assignment operators + GpuMat& operator =(const GpuMat& m); + + //! allocates new GpuMat data unless the GpuMat already has specified size and type + CV_WRAP void create(int rows, int cols, int type); + CV_WRAP void create(Size size, int type); + + //! decreases reference counter, deallocate the data when reference counter reaches 0 + CV_WRAP void release(); + + //! swaps with other smart pointer + CV_WRAP void swap(GpuMat& mat); + + /** @brief Performs data upload to GpuMat (Blocking call) + + This function copies data from host memory to device memory. As being a blocking call, it is + guaranteed that the copy operation is finished when this function returns. + */ + CV_WRAP void upload(InputArray arr); + + /** @brief Performs data upload to GpuMat (Non-Blocking call) + + This function copies data from host memory to device memory. As being a non-blocking call, this + function may return even if the copy operation is not finished. + + The copy operation may be overlapped with operations in other non-default streams if \p stream is + not the default stream and \p dst is HostMem allocated with HostMem::PAGE_LOCKED option. + */ + CV_WRAP void upload(InputArray arr, Stream& stream); + + /** @brief Performs data download from GpuMat (Blocking call) + + This function copies data from device memory to host memory. As being a blocking call, it is + guaranteed that the copy operation is finished when this function returns. + */ + CV_WRAP void download(OutputArray dst) const; + + /** @brief Performs data download from GpuMat (Non-Blocking call) + + This function copies data from device memory to host memory. As being a non-blocking call, this + function may return even if the copy operation is not finished. + + The copy operation may be overlapped with operations in other non-default streams if \p stream is + not the default stream and \p dst is HostMem allocated with HostMem::PAGE_LOCKED option. + */ + CV_WRAP void download(OutputArray dst, Stream& stream) const; + + //! returns deep copy of the GpuMat, i.e. the data is copied + CV_WRAP GpuMat clone() const; + + //! copies the GpuMat content to device memory (Blocking call) + CV_WRAP void copyTo(OutputArray dst) const; + + //! copies the GpuMat content to device memory (Non-Blocking call) + CV_WRAP void copyTo(OutputArray dst, Stream& stream) const; + + //! copies those GpuMat elements to "m" that are marked with non-zero mask elements (Blocking call) + CV_WRAP void copyTo(OutputArray dst, InputArray mask) const; + + //! copies those GpuMat elements to "m" that are marked with non-zero mask elements (Non-Blocking call) + CV_WRAP void copyTo(OutputArray dst, InputArray mask, Stream& stream) const; + + //! sets some of the GpuMat elements to s (Blocking call) + CV_WRAP GpuMat& setTo(Scalar s); + + //! sets some of the GpuMat elements to s (Non-Blocking call) + CV_WRAP GpuMat& setTo(Scalar s, Stream& stream); + + //! sets some of the GpuMat elements to s, according to the mask (Blocking call) + CV_WRAP GpuMat& setTo(Scalar s, InputArray mask); + + //! sets some of the GpuMat elements to s, according to the mask (Non-Blocking call) + CV_WRAP GpuMat& setTo(Scalar s, InputArray mask, Stream& stream); + + //! converts GpuMat to another datatype (Blocking call) + CV_WRAP void convertTo(OutputArray dst, int rtype) const; + + //! converts GpuMat to another datatype (Non-Blocking call) + CV_WRAP void convertTo(OutputArray dst, int rtype, Stream& stream) const; + + //! converts GpuMat to another datatype with scaling (Blocking call) + CV_WRAP void convertTo(OutputArray dst, int rtype, double alpha, double beta = 0.0) const; + + //! converts GpuMat to another datatype with scaling (Non-Blocking call) + CV_WRAP void convertTo(OutputArray dst, int rtype, double alpha, Stream& stream) const; + + //! converts GpuMat to another datatype with scaling (Non-Blocking call) + CV_WRAP void convertTo(OutputArray dst, int rtype, double alpha, double beta, Stream& stream) const; + + CV_WRAP void assignTo(GpuMat& m, int type = -1) const; + + //! returns pointer to y-th row + uchar* ptr(int y = 0); + const uchar* ptr(int y = 0) const; + + //! template version of the above method + template _Tp* ptr(int y = 0); + template const _Tp* ptr(int y = 0) const; + + template operator PtrStepSz<_Tp>() const; + template operator PtrStep<_Tp>() const; + + //! returns a new GpuMat header for the specified row + CV_WRAP GpuMat row(int y) const; + + //! returns a new GpuMat header for the specified column + CV_WRAP GpuMat col(int x) const; + + //! ... for the specified row span + CV_WRAP GpuMat rowRange(int startrow, int endrow) const; + CV_WRAP GpuMat rowRange(Range r) const; + + //! ... for the specified column span + CV_WRAP GpuMat colRange(int startcol, int endcol) const; + CV_WRAP GpuMat colRange(Range r) const; + + //! extracts a rectangular sub-GpuMat (this is a generalized form of row, rowRange etc.) + GpuMat operator ()(Range rowRange, Range colRange) const; + GpuMat operator ()(Rect roi) const; + + //! creates alternative GpuMat header for the same data, with different + //! number of channels and/or different number of rows + CV_WRAP GpuMat reshape(int cn, int rows = 0) const; + + //! locates GpuMat header within a parent GpuMat + CV_WRAP void locateROI(Size& wholeSize, Point& ofs) const; + + //! moves/resizes the current GpuMat ROI inside the parent GpuMat + CV_WRAP GpuMat& adjustROI(int dtop, int dbottom, int dleft, int dright); + + //! returns true iff the GpuMat data is continuous + //! (i.e. when there are no gaps between successive rows) + CV_WRAP bool isContinuous() const; + + //! returns element size in bytes + CV_WRAP size_t elemSize() const; + + //! returns the size of element channel in bytes + CV_WRAP size_t elemSize1() const; + + //! returns element type + CV_WRAP int type() const; + + //! returns element type + CV_WRAP int depth() const; + + //! returns number of channels + CV_WRAP int channels() const; + + //! returns step/elemSize1() + CV_WRAP size_t step1() const; + + //! returns GpuMat size : width == number of columns, height == number of rows + CV_WRAP Size size() const; + + //! returns true if GpuMat data is NULL + CV_WRAP bool empty() const; + + // returns pointer to cuda memory + CV_WRAP void* cudaPtr() const; + + //! internal use method: updates the continuity flag + CV_WRAP void updateContinuityFlag(); + + /*! includes several bit-fields: + - the magic signature + - continuity flag + - depth + - number of channels + */ + int flags; + + //! the number of rows and columns + int rows, cols; + + //! a distance between successive rows in bytes; includes the gap if any + CV_PROP size_t step; + + //! pointer to the data + uchar* data; + + //! pointer to the reference counter; + //! when GpuMat points to user-allocated data, the pointer is NULL + int* refcount; + + //! helper fields used in locateROI and adjustROI + uchar* datastart; + const uchar* dataend; + + //! allocator + Allocator* allocator; +}; + +struct CV_EXPORTS_W GpuData +{ + explicit GpuData(size_t _size); + ~GpuData(); + + GpuData(const GpuData&) = delete; + GpuData& operator=(const GpuData&) = delete; + + GpuData(GpuData&&) = delete; + GpuData& operator=(GpuData&&) = delete; + + uchar* data; + size_t size; +}; + +class CV_EXPORTS_W GpuMatND +{ +public: + using SizeArray = std::vector; + using StepArray = std::vector; + using IndexArray = std::vector; + + //! destructor + ~GpuMatND(); + + //! default constructor + GpuMatND(); + + /** @overload + @param size Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_16FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + */ + GpuMatND(SizeArray size, int type); + + /** @overload + @param size Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_16FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param data Pointer to the user data. Matrix constructors that take data and step parameters do not + allocate matrix data. Instead, they just initialize the matrix header that points to the specified + data, which means that no data is copied. This operation is very efficient and can be used to + process external data using OpenCV functions. The external data is not automatically deallocated, so + you should take care of it. + @param step Array of _size.size()-1 steps in case of a multi-dimensional array (the last step is always + set to the element size). If not specified, the matrix is assumed to be continuous. + */ + GpuMatND(SizeArray size, int type, void* data, StepArray step = StepArray()); + + /** @brief Allocates GPU memory. + Suppose there is some GPU memory already allocated. In that case, this method may choose to reuse that + GPU memory under the specific condition: it must be of the same size and type, not externally allocated, + the GPU memory is continuous(i.e., isContinuous() is true), and is not a sub-matrix of another GpuMatND + (i.e., isSubmatrix() is false). In other words, this method guarantees that the GPU memory allocated by + this method is always continuous and is not a sub-region of another GpuMatND. + */ + void create(SizeArray size, int type); + + void release(); + + void swap(GpuMatND& m) noexcept; + + /** @brief Creates a full copy of the array and the underlying data. + The method creates a full copy of the array. It mimics the behavior of Mat::clone(), i.e. + the original step is not taken into account. So, the array copy is a continuous array + occupying total()\*elemSize() bytes. + */ + GpuMatND clone() const; + + /** @overload + This overload is non-blocking, so it may return even if the copy operation is not finished. + */ + GpuMatND clone(Stream& stream) const; + + /** @brief Extracts a sub-matrix. + The operator makes a new header for the specified sub-array of \*this. + The operator is an O(1) operation, that is, no matrix data is copied. + @param ranges Array of selected ranges along each dimension. + */ + GpuMatND operator()(const std::vector& ranges) const; + + /** @brief Creates a GpuMat header for a 2D plane part of an n-dim matrix. + @note The returned GpuMat is constructed with the constructor for user-allocated data. + That is, It does not perform reference counting. + @note This function does not increment this GpuMatND's reference counter. + */ + GpuMat createGpuMatHeader(IndexArray idx, Range rowRange, Range colRange) const; + + /** @overload + Creates a GpuMat header if this GpuMatND is effectively 2D. + @note The returned GpuMat is constructed with the constructor for user-allocated data. + That is, It does not perform reference counting. + @note This function does not increment this GpuMatND's reference counter. + */ + GpuMat createGpuMatHeader() const; + + /** @brief Extracts a 2D plane part of an n-dim matrix. + It differs from createGpuMatHeader(IndexArray, Range, Range) in that it clones a part of this + GpuMatND to the returned GpuMat. + @note This operator does not increment this GpuMatND's reference counter; + */ + GpuMat operator()(IndexArray idx, Range rowRange, Range colRange) const; + + /** @brief Extracts a 2D plane part of an n-dim matrix if this GpuMatND is effectively 2D. + It differs from createGpuMatHeader() in that it clones a part of this GpuMatND. + @note This operator does not increment this GpuMatND's reference counter; + */ + operator GpuMat() const; + + GpuMatND(const GpuMatND&) = default; + GpuMatND& operator=(const GpuMatND&) = default; + +#if defined(__GNUC__) && __GNUC__ < 5 + // error: function '...' defaulted on its first declaration with an exception-specification + // that differs from the implicit declaration '...' + + GpuMatND(GpuMatND&&) = default; + GpuMatND& operator=(GpuMatND&&) = default; +#else + GpuMatND(GpuMatND&&) noexcept = default; + GpuMatND& operator=(GpuMatND&&) noexcept = default; +#endif + + void upload(InputArray src); + void upload(InputArray src, Stream& stream); + void download(OutputArray dst) const; + void download(OutputArray dst, Stream& stream) const; + + //! returns true iff the GpuMatND data is continuous + //! (i.e. when there are no gaps between successive rows) + bool isContinuous() const; + + //! returns true if the matrix is a sub-matrix of another matrix + bool isSubmatrix() const; + + //! returns element size in bytes + size_t elemSize() const; + + //! returns the size of element channel in bytes + size_t elemSize1() const; + + //! returns true if data is null + bool empty() const; + + //! returns true if not empty and points to external(user-allocated) gpu memory + bool external() const; + + //! returns pointer to the first byte of the GPU memory + uchar* getDevicePtr() const; + + //! returns the total number of array elements + size_t total() const; + + //! returns the size of underlying memory in bytes + size_t totalMemSize() const; + + //! returns element type + int type() const; + +private: + //! internal use + void setFields(SizeArray size, int type, StepArray step = StepArray()); + +public: + /*! includes several bit-fields: + - the magic signature + - continuity flag + - depth + - number of channels + */ + int flags; + + //! matrix dimensionality + int dims; + + //! shape of this array + SizeArray size; + + /*! step values + Their semantics is identical to the semantics of step for Mat. + */ + StepArray step; + +private: + /*! internal use + If this GpuMatND holds external memory, this is empty. + */ + std::shared_ptr data_; + + /*! internal use + If this GpuMatND manages memory with reference counting, this value is + always equal to data_->data. If this GpuMatND holds external memory, + data_ is empty and data points to the external memory. + */ + uchar* data; + + /*! internal use + If this GpuMatND is a sub-matrix of a larger matrix, this value is the + difference of the first byte between the sub-matrix and the whole matrix. + */ + size_t offset; +}; + +/** @brief Creates a continuous matrix. + +@param rows Row count. +@param cols Column count. +@param type Type of the matrix. +@param arr Destination matrix. This parameter changes only if it has a proper type and area ( +\f$\texttt{rows} \times \texttt{cols}\f$ ). + +Matrix is called continuous if its elements are stored continuously, that is, without gaps at the +end of each row. + */ +CV_EXPORTS_W void createContinuous(int rows, int cols, int type, OutputArray arr); + +/** @brief Ensures that the size of a matrix is big enough and the matrix has a proper type. + +@param rows Minimum desired number of rows. +@param cols Minimum desired number of columns. +@param type Desired matrix type. +@param arr Destination matrix. + +The function does not reallocate memory if the matrix has proper attributes already. + */ +CV_EXPORTS_W void ensureSizeIsEnough(int rows, int cols, int type, OutputArray arr); + +/** @brief Bindings overload to create a GpuMat from existing GPU memory. +@param rows Row count. +@param cols Column count. +@param type Type of the matrix. +@param cudaMemoryAddress Address of the allocated GPU memory on the device. This does not allocate matrix data. Instead, it just initializes the matrix header that points to the specified \a cudaMemoryAddress, which means that no data is copied. This operation is very efficient and can be used to process external data using OpenCV functions. The external data is not automatically deallocated, so you should take care of it. +@param step Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. If the parameter is missing (set to Mat::AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize(). See GpuMat::elemSize. +@note Overload for generation of bindings only, not exported or intended for use internally from C++. + */ +CV_EXPORTS_W GpuMat inline createGpuMatFromCudaMemory(int rows, int cols, int type, size_t cudaMemoryAddress, size_t step = Mat::AUTO_STEP) { + return GpuMat(rows, cols, type, reinterpret_cast(cudaMemoryAddress), step); +}; + + /** @overload +@param size 2D array size: Size(cols, rows). In the Size() constructor, the number of rows and the number of columns go in the reverse order. +@param type Type of the matrix. +@param cudaMemoryAddress Address of the allocated GPU memory on the device. This does not allocate matrix data. Instead, it just initializes the matrix header that points to the specified \a cudaMemoryAddress, which means that no data is copied. This operation is very efficient and can be used to process external data using OpenCV functions. The external data is not automatically deallocated, so you should take care of it. +@param step Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. If the parameter is missing (set to Mat::AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize(). See GpuMat::elemSize. +@note Overload for generation of bindings only, not exported or intended for use internally from C++. + */ +CV_EXPORTS_W inline GpuMat createGpuMatFromCudaMemory(Size size, int type, size_t cudaMemoryAddress, size_t step = Mat::AUTO_STEP) { + return GpuMat(size, type, reinterpret_cast(cudaMemoryAddress), step); +}; + +/** @brief BufferPool for use with CUDA streams + +BufferPool utilizes Stream's allocator to create new buffers for GpuMat's. It is +only useful when enabled with #setBufferPoolUsage. + +@code + setBufferPoolUsage(true); +@endcode + +@note #setBufferPoolUsage must be called \em before any Stream declaration. + +Users may specify custom allocator for Stream and may implement their own stream based +functions utilizing the same underlying GPU memory management. + +If custom allocator is not specified, BufferPool utilizes StackAllocator by +default. StackAllocator allocates a chunk of GPU device memory beforehand, +and when GpuMat is declared later on, it is given the pre-allocated memory. +This kind of strategy reduces the number of calls for memory allocating APIs +such as cudaMalloc or cudaMallocPitch. + +Below is an example that utilizes BufferPool with StackAllocator: + +@code + #include + + using namespace cv; + using namespace cv::cuda + + int main() + { + setBufferPoolUsage(true); // Tell OpenCV that we are going to utilize BufferPool + setBufferPoolConfig(getDevice(), 1024 * 1024 * 64, 2); // Allocate 64 MB, 2 stacks (default is 10 MB, 5 stacks) + + Stream stream1, stream2; // Each stream uses 1 stack + BufferPool pool1(stream1), pool2(stream2); + + GpuMat d_src1 = pool1.getBuffer(4096, 4096, CV_8UC1); // 16MB + GpuMat d_dst1 = pool1.getBuffer(4096, 4096, CV_8UC3); // 48MB, pool1 is now full + + GpuMat d_src2 = pool2.getBuffer(1024, 1024, CV_8UC1); // 1MB + GpuMat d_dst2 = pool2.getBuffer(1024, 1024, CV_8UC3); // 3MB + + cvtColor(d_src1, d_dst1, cv::COLOR_GRAY2BGR, 0, stream1); + cvtColor(d_src2, d_dst2, cv::COLOR_GRAY2BGR, 0, stream2); + } +@endcode + +If we allocate another GpuMat on pool1 in the above example, it will be carried out by +the DefaultAllocator since the stack for pool1 is full. + +@code + GpuMat d_add1 = pool1.getBuffer(1024, 1024, CV_8UC1); // Stack for pool1 is full, memory is allocated with DefaultAllocator +@endcode + +If a third stream is declared in the above example, allocating with #getBuffer +within that stream will also be carried out by the DefaultAllocator because we've run out of +stacks. + +@code + Stream stream3; // Only 2 stacks were allocated, we've run out of stacks + BufferPool pool3(stream3); + GpuMat d_src3 = pool3.getBuffer(1024, 1024, CV_8UC1); // Memory is allocated with DefaultAllocator +@endcode + +@warning When utilizing StackAllocator, deallocation order is important. + +Just like a stack, deallocation must be done in LIFO order. Below is an example of +erroneous usage that violates LIFO rule. If OpenCV is compiled in Debug mode, this +sample code will emit CV_Assert error. + +@code + int main() + { + setBufferPoolUsage(true); // Tell OpenCV that we are going to utilize BufferPool + Stream stream; // A default size (10 MB) stack is allocated to this stream + BufferPool pool(stream); + + GpuMat mat1 = pool.getBuffer(1024, 1024, CV_8UC1); // Allocate mat1 (1MB) + GpuMat mat2 = pool.getBuffer(1024, 1024, CV_8UC1); // Allocate mat2 (1MB) + + mat1.release(); // erroneous usage : mat2 must be deallocated before mat1 + } +@endcode + +Since C++ local variables are destroyed in the reverse order of construction, +the code sample below satisfies the LIFO rule. Local GpuMat's are deallocated +and the corresponding memory is automatically returned to the pool for later usage. + +@code + int main() + { + setBufferPoolUsage(true); // Tell OpenCV that we are going to utilize BufferPool + setBufferPoolConfig(getDevice(), 1024 * 1024 * 64, 2); // Allocate 64 MB, 2 stacks (default is 10 MB, 5 stacks) + + Stream stream1, stream2; // Each stream uses 1 stack + BufferPool pool1(stream1), pool2(stream2); + + for (int i = 0; i < 10; i++) + { + GpuMat d_src1 = pool1.getBuffer(4096, 4096, CV_8UC1); // 16MB + GpuMat d_dst1 = pool1.getBuffer(4096, 4096, CV_8UC3); // 48MB, pool1 is now full + + GpuMat d_src2 = pool2.getBuffer(1024, 1024, CV_8UC1); // 1MB + GpuMat d_dst2 = pool2.getBuffer(1024, 1024, CV_8UC3); // 3MB + + d_src1.setTo(Scalar(i), stream1); + d_src2.setTo(Scalar(i), stream2); + + cvtColor(d_src1, d_dst1, cv::COLOR_GRAY2BGR, 0, stream1); + cvtColor(d_src2, d_dst2, cv::COLOR_GRAY2BGR, 0, stream2); + // The order of destruction of the local variables is: + // d_dst2 => d_src2 => d_dst1 => d_src1 + // LIFO rule is satisfied, this code runs without error + } + } +@endcode + */ +class CV_EXPORTS_W BufferPool +{ +public: + + //! Gets the BufferPool for the given stream. + CV_WRAP explicit BufferPool(Stream& stream); + + //! Allocates a new GpuMat of given size and type. + CV_WRAP GpuMat getBuffer(int rows, int cols, int type); + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif + //! Allocates a new GpuMat of given size and type. + CV_WRAP GpuMat getBuffer(Size size, int type) { return getBuffer(size.height, size.width, type); } +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + + //! Returns the allocator associated with the stream. + CV_WRAP Ptr getAllocator() const { return allocator_; } + +private: + Ptr allocator_; +}; + +//! BufferPool management (must be called before Stream creation) +CV_EXPORTS_W void setBufferPoolUsage(bool on); +CV_EXPORTS_W void setBufferPoolConfig(int deviceId, size_t stackSize, int stackCount); + +//=================================================================================== +// HostMem +//=================================================================================== + +/** @brief Class with reference counting wrapping special memory type allocation functions from CUDA. + +Its interface is also Mat-like but with additional memory type parameters. + +- **PAGE_LOCKED** sets a page locked memory type used commonly for fast and asynchronous + uploading/downloading data from/to GPU. +- **SHARED** specifies a zero copy memory allocation that enables mapping the host memory to GPU + address space, if supported. +- **WRITE_COMBINED** sets the write combined buffer that is not cached by CPU. Such buffers are + used to supply GPU with data when GPU only reads it. The advantage is a better CPU cache + utilization. + +@note Allocation size of such memory types is usually limited. For more details, see *CUDA 2.2 +Pinned Memory APIs* document or *CUDA C Programming Guide*. + */ +class CV_EXPORTS_W HostMem +{ +public: + enum AllocType { PAGE_LOCKED = 1, SHARED = 2, WRITE_COMBINED = 4 }; + + static MatAllocator* getAllocator(HostMem::AllocType alloc_type = HostMem::AllocType::PAGE_LOCKED); + + CV_WRAP explicit HostMem(HostMem::AllocType alloc_type = HostMem::AllocType::PAGE_LOCKED); + + HostMem(const HostMem& m); + + CV_WRAP HostMem(int rows, int cols, int type, HostMem::AllocType alloc_type = HostMem::AllocType::PAGE_LOCKED); + CV_WRAP HostMem(Size size, int type, HostMem::AllocType alloc_type = HostMem::AllocType::PAGE_LOCKED); + + //! creates from host memory with coping data + CV_WRAP explicit HostMem(InputArray arr, HostMem::AllocType alloc_type = HostMem::AllocType::PAGE_LOCKED); + + ~HostMem(); + + HostMem& operator =(const HostMem& m); + + //! swaps with other smart pointer + CV_WRAP void swap(HostMem& b); + + //! returns deep copy of the matrix, i.e. the data is copied + CV_WRAP HostMem clone() const; + + //! allocates new matrix data unless the matrix already has specified size and type. + CV_WRAP void create(int rows, int cols, int type); + void create(Size size, int type); + + //! creates alternative HostMem header for the same data, with different + //! number of channels and/or different number of rows + CV_WRAP HostMem reshape(int cn, int rows = 0) const; + + //! decrements reference counter and released memory if needed. + void release(); + + //! returns matrix header with disabled reference counting for HostMem data. + CV_WRAP Mat createMatHeader() const; + + /** @brief Maps CPU memory to GPU address space and creates the cuda::GpuMat header without reference counting + for it. + + This can be done only if memory was allocated with the SHARED flag and if it is supported by the + hardware. Laptops often share video and CPU memory, so address spaces can be mapped, which + eliminates an extra copy. + */ + GpuMat createGpuMatHeader() const; + + // Please see cv::Mat for descriptions + CV_WRAP bool isContinuous() const; + CV_WRAP size_t elemSize() const; + CV_WRAP size_t elemSize1() const; + CV_WRAP int type() const; + CV_WRAP int depth() const; + CV_WRAP int channels() const; + CV_WRAP size_t step1() const; + CV_WRAP Size size() const; + CV_WRAP bool empty() const; + + // Please see cv::Mat for descriptions + int flags; + int rows, cols; + CV_PROP size_t step; + + uchar* data; + int* refcount; + + uchar* datastart; + const uchar* dataend; + + AllocType alloc_type; +}; + +/** @brief Page-locks the memory of matrix and maps it for the device(s). + +@param m Input matrix. + */ +CV_EXPORTS_W void registerPageLocked(Mat& m); + +/** @brief Unmaps the memory of matrix and makes it pageable again. + +@param m Input matrix. + */ +CV_EXPORTS_W void unregisterPageLocked(Mat& m); + +//=================================================================================== +// Stream +//=================================================================================== + +/** @brief This class encapsulates a queue of asynchronous calls. + +@note Currently, you may face problems if an operation is enqueued twice with different data. Some +functions use the constant GPU memory, and next call may update the memory before the previous one +has been finished. But calling different operations asynchronously is safe because each operation +has its own constant buffer. Memory copy/upload/download/set operations to the buffers you hold are +also safe. + +@note The Stream class is not thread-safe. Please use different Stream objects for different CPU threads. + +@code +void thread1() +{ + cv::cuda::Stream stream1; + cv::cuda::func1(..., stream1); +} + +void thread2() +{ + cv::cuda::Stream stream2; + cv::cuda::func2(..., stream2); +} +@endcode + +@note By default all CUDA routines are launched in Stream::Null() object, if the stream is not specified by user. +In multi-threading environment the stream objects must be passed explicitly (see previous note). + */ +class CV_EXPORTS_W Stream +{ + typedef void (Stream::*bool_type)() const; + void this_type_does_not_support_comparisons() const {} + +public: + typedef void (*StreamCallback)(int status, void* userData); + + //! creates a new asynchronous stream + CV_WRAP Stream(); + + //! creates a new asynchronous stream with custom allocator + CV_WRAP Stream(const Ptr& allocator); + + /** @brief creates a new Stream using the cudaFlags argument to determine the behaviors of the stream + + @note The cudaFlags parameter is passed to the underlying api cudaStreamCreateWithFlags() and + supports the same parameter values. + @code + // creates an OpenCV cuda::Stream that manages an asynchronous, non-blocking, + // non-default CUDA stream + cv::cuda::Stream cvStream(cudaStreamNonBlocking); + @endcode + */ + CV_WRAP Stream(const size_t cudaFlags); + + /** @brief Returns true if the current stream queue is finished. Otherwise, it returns false. + */ + CV_WRAP bool queryIfComplete() const; + + /** @brief Blocks the current CPU thread until all operations in the stream are complete. + */ + CV_WRAP void waitForCompletion(); + + /** @brief Makes a compute stream wait on an event. + */ + CV_WRAP void waitEvent(const Event& event); + + /** @brief Adds a callback to be called on the host after all currently enqueued items in the stream have + completed. + + @note Callbacks must not make any CUDA API calls. Callbacks must not perform any synchronization + that may depend on outstanding device work or other callbacks that are not mandated to run earlier. + Callbacks without a mandated order (in independent streams) execute in undefined order and may be + serialized. + */ + void enqueueHostCallback(StreamCallback callback, void* userData); + + //! return Stream object for default CUDA stream + CV_WRAP static Stream& Null(); + + //! returns true if stream object is not default (!= 0) + operator bool_type() const; + + //! return Pointer to CUDA stream + CV_WRAP void* cudaPtr() const; + + class Impl; + +private: + Ptr impl_; + Stream(const Ptr& impl); + + friend struct StreamAccessor; + friend class BufferPool; + friend class DefaultDeviceInitializer; +}; + + +/** @brief Bindings overload to create a Stream object from the address stored in an existing CUDA Runtime API stream pointer (cudaStream_t). +@param cudaStreamMemoryAddress Memory address stored in a CUDA Runtime API stream pointer (cudaStream_t). The created Stream object does not perform any allocation or deallocation and simply wraps existing raw CUDA Runtime API stream pointer. +@note Overload for generation of bindings only, not exported or intended for use internally from C++. + */ +CV_EXPORTS_W Stream wrapStream(size_t cudaStreamMemoryAddress); + +class CV_EXPORTS_W Event +{ +public: + enum CreateFlags + { + DEFAULT = 0x00, /**< Default event flag */ + BLOCKING_SYNC = 0x01, /**< Event uses blocking synchronization */ + DISABLE_TIMING = 0x02, /**< Event will not record timing data */ + INTERPROCESS = 0x04 /**< Event is suitable for interprocess use. DisableTiming must be set */ + }; + + CV_WRAP explicit Event(const Event::CreateFlags flags = Event::CreateFlags::DEFAULT); + + //! records an event + CV_WRAP void record(Stream& stream = Stream::Null()); + + //! queries an event's status + CV_WRAP bool queryIfComplete() const; + + //! waits for an event to complete + CV_WRAP void waitForCompletion(); + + //! computes the elapsed time between events + CV_WRAP static float elapsedTime(const Event& start, const Event& end); + + class Impl; + +private: + Ptr impl_; + Event(const Ptr& impl); + + friend struct EventAccessor; +}; +CV_ENUM_FLAGS(Event::CreateFlags) + +//! @} cudacore_struct + +//=================================================================================== +// Initialization & Info +//=================================================================================== + +//! @addtogroup cudacore_init +//! @{ + +/** @brief Returns the number of installed CUDA-enabled devices. + +Use this function before any other CUDA functions calls. If OpenCV is compiled without CUDA support, +this function returns 0. If the CUDA driver is not installed, or is incompatible, this function +returns -1. + */ +CV_EXPORTS_W int getCudaEnabledDeviceCount(); + +/** @brief Sets a device and initializes it for the current thread. + +@param device System index of a CUDA device starting with 0. + +If the call of this function is omitted, a default device is initialized at the fist CUDA usage. + */ +CV_EXPORTS_W void setDevice(int device); + +/** @brief Returns the current device index set by cuda::setDevice or initialized by default. + */ +CV_EXPORTS_W int getDevice(); + +/** @brief Explicitly destroys and cleans up all resources associated with the current device in the current +process. + +Any subsequent API call to this device will reinitialize the device. + */ +CV_EXPORTS_W void resetDevice(); + +/** @brief Enumeration providing CUDA computing features. + */ +enum FeatureSet +{ + FEATURE_SET_COMPUTE_10 = 10, + FEATURE_SET_COMPUTE_11 = 11, + FEATURE_SET_COMPUTE_12 = 12, + FEATURE_SET_COMPUTE_13 = 13, + FEATURE_SET_COMPUTE_20 = 20, + FEATURE_SET_COMPUTE_21 = 21, + FEATURE_SET_COMPUTE_30 = 30, + FEATURE_SET_COMPUTE_32 = 32, + FEATURE_SET_COMPUTE_35 = 35, + FEATURE_SET_COMPUTE_50 = 50, + + GLOBAL_ATOMICS = FEATURE_SET_COMPUTE_11, + SHARED_ATOMICS = FEATURE_SET_COMPUTE_12, + NATIVE_DOUBLE = FEATURE_SET_COMPUTE_13, + WARP_SHUFFLE_FUNCTIONS = FEATURE_SET_COMPUTE_30, + DYNAMIC_PARALLELISM = FEATURE_SET_COMPUTE_35 +}; + +//! checks whether current device supports the given feature +CV_EXPORTS bool deviceSupports(FeatureSet feature_set); + +/** @brief Class providing a set of static methods to check what NVIDIA\* card architecture the CUDA module was +built for. + +According to the CUDA C Programming Guide Version 3.2: "PTX code produced for some specific compute +capability can always be compiled to binary code of greater or equal compute capability". + */ +class CV_EXPORTS_W TargetArchs +{ +public: + /** @brief The following method checks whether the module was built with the support of the given feature: + + @param feature_set Features to be checked. See :ocvcuda::FeatureSet. + */ + static bool builtWith(FeatureSet feature_set); + + /** @brief There is a set of methods to check whether the module contains intermediate (PTX) or binary CUDA + code for the given architecture(s): + + @param major Major compute capability version. + @param minor Minor compute capability version. + */ + CV_WRAP static bool has(int major, int minor); + CV_WRAP static bool hasPtx(int major, int minor); + CV_WRAP static bool hasBin(int major, int minor); + + CV_WRAP static bool hasEqualOrLessPtx(int major, int minor); + CV_WRAP static bool hasEqualOrGreater(int major, int minor); + CV_WRAP static bool hasEqualOrGreaterPtx(int major, int minor); + CV_WRAP static bool hasEqualOrGreaterBin(int major, int minor); +}; + +/** @brief Class providing functionality for querying the specified GPU properties. + */ +class CV_EXPORTS_W DeviceInfo +{ +public: + //! creates DeviceInfo object for the current GPU + CV_WRAP DeviceInfo(); + + /** @brief The constructors. + + @param device_id System index of the CUDA device starting with 0. + + Constructs the DeviceInfo object for the specified device. If device_id parameter is missed, it + constructs an object for the current device. + */ + CV_WRAP DeviceInfo(int device_id); + + /** @brief Returns system index of the CUDA device starting with 0. + */ + CV_WRAP int deviceID() const; + + //! ASCII string identifying device + const char* name() const; + + //! global memory available on device in bytes + CV_WRAP size_t totalGlobalMem() const; + + //! shared memory available per block in bytes + CV_WRAP size_t sharedMemPerBlock() const; + + //! 32-bit registers available per block + CV_WRAP int regsPerBlock() const; + + //! warp size in threads + CV_WRAP int warpSize() const; + + //! maximum pitch in bytes allowed by memory copies + CV_WRAP size_t memPitch() const; + + //! maximum number of threads per block + CV_WRAP int maxThreadsPerBlock() const; + + //! maximum size of each dimension of a block + CV_WRAP Vec3i maxThreadsDim() const; + + //! maximum size of each dimension of a grid + CV_WRAP Vec3i maxGridSize() const; + + //! clock frequency in kilohertz + CV_WRAP int clockRate() const; + + //! constant memory available on device in bytes + CV_WRAP size_t totalConstMem() const; + + //! major compute capability + CV_WRAP int majorVersion() const; + + //! minor compute capability + CV_WRAP int minorVersion() const; + + //! alignment requirement for textures + CV_WRAP size_t textureAlignment() const; + + //! pitch alignment requirement for texture references bound to pitched memory + CV_WRAP size_t texturePitchAlignment() const; + + //! number of multiprocessors on device + CV_WRAP int multiProcessorCount() const; + + //! specified whether there is a run time limit on kernels + CV_WRAP bool kernelExecTimeoutEnabled() const; + + //! device is integrated as opposed to discrete + CV_WRAP bool integrated() const; + + //! device can map host memory with cudaHostAlloc/cudaHostGetDevicePointer + CV_WRAP bool canMapHostMemory() const; + + enum ComputeMode + { + ComputeModeDefault, /**< default compute mode (Multiple threads can use cudaSetDevice with this device) */ + ComputeModeExclusive, /**< compute-exclusive-thread mode (Only one thread in one process will be able to use cudaSetDevice with this device) */ + ComputeModeProhibited, /**< compute-prohibited mode (No threads can use cudaSetDevice with this device) */ + ComputeModeExclusiveProcess /**< compute-exclusive-process mode (Many threads in one process will be able to use cudaSetDevice with this device) */ + }; + + //! compute mode + CV_WRAP DeviceInfo::ComputeMode computeMode() const; + + //! maximum 1D texture size + CV_WRAP int maxTexture1D() const; + + //! maximum 1D mipmapped texture size + CV_WRAP int maxTexture1DMipmap() const; + + //! maximum size for 1D textures bound to linear memory + CV_WRAP int maxTexture1DLinear() const; + + //! maximum 2D texture dimensions + CV_WRAP Vec2i maxTexture2D() const; + + //! maximum 2D mipmapped texture dimensions + CV_WRAP Vec2i maxTexture2DMipmap() const; + + //! maximum dimensions (width, height, pitch) for 2D textures bound to pitched memory + CV_WRAP Vec3i maxTexture2DLinear() const; + + //! maximum 2D texture dimensions if texture gather operations have to be performed + CV_WRAP Vec2i maxTexture2DGather() const; + + //! maximum 3D texture dimensions + CV_WRAP Vec3i maxTexture3D() const; + + //! maximum Cubemap texture dimensions + CV_WRAP int maxTextureCubemap() const; + + //! maximum 1D layered texture dimensions + CV_WRAP Vec2i maxTexture1DLayered() const; + + //! maximum 2D layered texture dimensions + CV_WRAP Vec3i maxTexture2DLayered() const; + + //! maximum Cubemap layered texture dimensions + CV_WRAP Vec2i maxTextureCubemapLayered() const; + + //! maximum 1D surface size + CV_WRAP int maxSurface1D() const; + + //! maximum 2D surface dimensions + CV_WRAP Vec2i maxSurface2D() const; + + //! maximum 3D surface dimensions + CV_WRAP Vec3i maxSurface3D() const; + + //! maximum 1D layered surface dimensions + CV_WRAP Vec2i maxSurface1DLayered() const; + + //! maximum 2D layered surface dimensions + CV_WRAP Vec3i maxSurface2DLayered() const; + + //! maximum Cubemap surface dimensions + CV_WRAP int maxSurfaceCubemap() const; + + //! maximum Cubemap layered surface dimensions + CV_WRAP Vec2i maxSurfaceCubemapLayered() const; + + //! alignment requirements for surfaces + CV_WRAP size_t surfaceAlignment() const; + + //! device can possibly execute multiple kernels concurrently + CV_WRAP bool concurrentKernels() const; + + //! device has ECC support enabled + CV_WRAP bool ECCEnabled() const; + + //! PCI bus ID of the device + CV_WRAP int pciBusID() const; + + //! PCI device ID of the device + CV_WRAP int pciDeviceID() const; + + //! PCI domain ID of the device + CV_WRAP int pciDomainID() const; + + //! true if device is a Tesla device using TCC driver, false otherwise + CV_WRAP bool tccDriver() const; + + //! number of asynchronous engines + CV_WRAP int asyncEngineCount() const; + + //! device shares a unified address space with the host + CV_WRAP bool unifiedAddressing() const; + + //! peak memory clock frequency in kilohertz + CV_WRAP int memoryClockRate() const; + + //! global memory bus width in bits + CV_WRAP int memoryBusWidth() const; + + //! size of L2 cache in bytes + CV_WRAP int l2CacheSize() const; + + //! maximum resident threads per multiprocessor + CV_WRAP int maxThreadsPerMultiProcessor() const; + + //! gets free and total device memory + CV_WRAP void queryMemory(size_t& totalMemory, size_t& freeMemory) const; + CV_WRAP size_t freeMemory() const; + CV_WRAP size_t totalMemory() const; + + /** @brief Provides information on CUDA feature support. + + @param feature_set Features to be checked. See cuda::FeatureSet. + + This function returns true if the device has the specified CUDA feature. Otherwise, it returns false + */ + bool supports(FeatureSet feature_set) const; + + /** @brief Checks the CUDA module and device compatibility. + + This function returns true if the CUDA module can be run on the specified device. Otherwise, it + returns false . + */ + CV_WRAP bool isCompatible() const; + +private: + int device_id_; +}; + +CV_EXPORTS_W void printCudaDeviceInfo(int device); +CV_EXPORTS_W void printShortCudaDeviceInfo(int device); + +/** @brief Converts an array to half precision floating number. + +@param _src input array. +@param _dst output array. +@param stream Stream for the asynchronous version. +@sa convertFp16 +*/ +CV_EXPORTS void convertFp16(InputArray _src, OutputArray _dst, Stream& stream = Stream::Null()); + +//! @} cudacore_init + +}} // namespace cv { namespace cuda { + + +#include "opencv2/core/cuda.inl.hpp" + +#endif /* OPENCV_CORE_CUDA_HPP */ diff --git a/camera_lib/include/opencv2/core/cuda.inl.hpp b/camera_lib/include/opencv2/core/cuda.inl.hpp new file mode 100644 index 0000000..9390b3a --- /dev/null +++ b/camera_lib/include/opencv2/core/cuda.inl.hpp @@ -0,0 +1,763 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CUDAINL_HPP +#define OPENCV_CORE_CUDAINL_HPP + +#include "opencv2/core/cuda.hpp" + +//! @cond IGNORED + +namespace cv { namespace cuda { + +//=================================================================================== +// GpuMat +//=================================================================================== + +inline +GpuMat::GpuMat(Allocator* allocator_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), allocator(allocator_) +{} + +inline +GpuMat::GpuMat(int rows_, int cols_, int type_, Allocator* allocator_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), allocator(allocator_) +{ + if (rows_ > 0 && cols_ > 0) + create(rows_, cols_, type_); +} + +inline +GpuMat::GpuMat(Size size_, int type_, Allocator* allocator_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), allocator(allocator_) +{ + if (size_.height > 0 && size_.width > 0) + create(size_.height, size_.width, type_); +} + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +inline +GpuMat::GpuMat(int rows_, int cols_, int type_, Scalar s_, Allocator* allocator_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), allocator(allocator_) +{ + if (rows_ > 0 && cols_ > 0) + { + create(rows_, cols_, type_); + setTo(s_); + } +} + +inline +GpuMat::GpuMat(Size size_, int type_, Scalar s_, Allocator* allocator_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), allocator(allocator_) +{ + if (size_.height > 0 && size_.width > 0) + { + create(size_.height, size_.width, type_); + setTo(s_); + } +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + +inline +GpuMat::GpuMat(const GpuMat& m) + : flags(m.flags), rows(m.rows), cols(m.cols), step(m.step), data(m.data), refcount(m.refcount), datastart(m.datastart), dataend(m.dataend), allocator(m.allocator) +{ + if (refcount) + CV_XADD(refcount, 1); +} + +inline +GpuMat::GpuMat(InputArray arr, Allocator* allocator_) : + flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), allocator(allocator_) +{ + upload(arr); +} + +inline +GpuMat::~GpuMat() +{ + release(); +} + +inline +GpuMat& GpuMat::operator =(const GpuMat& m) +{ + if (this != &m) + { + GpuMat temp(m); + swap(temp); + } + + return *this; +} + +inline +void GpuMat::create(Size size_, int type_) +{ + create(size_.height, size_.width, type_); +} + +inline +void GpuMat::swap(GpuMat& b) +{ + std::swap(flags, b.flags); + std::swap(rows, b.rows); + std::swap(cols, b.cols); + std::swap(step, b.step); + std::swap(data, b.data); + std::swap(datastart, b.datastart); + std::swap(dataend, b.dataend); + std::swap(refcount, b.refcount); + std::swap(allocator, b.allocator); +} + +inline +GpuMat GpuMat::clone() const +{ + GpuMat m; + copyTo(m); + return m; +} + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +inline +void GpuMat::copyTo(OutputArray dst, InputArray mask) const +{ + copyTo(dst, mask, Stream::Null()); +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + +inline +GpuMat& GpuMat::setTo(Scalar s) +{ + return setTo(s, Stream::Null()); +} + +inline +GpuMat& GpuMat::setTo(Scalar s, InputArray mask) +{ + return setTo(s, mask, Stream::Null()); +} + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +inline +void GpuMat::convertTo(OutputArray dst, int rtype) const +{ + convertTo(dst, rtype, Stream::Null()); +} + +inline +void GpuMat::convertTo(OutputArray dst, int rtype, double alpha, double beta) const +{ + convertTo(dst, rtype, alpha, beta, Stream::Null()); +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + +inline +void GpuMat::convertTo(OutputArray dst, int rtype, double alpha, Stream& stream) const +{ + convertTo(dst, rtype, alpha, 0.0, stream); +} + +inline +void GpuMat::assignTo(GpuMat& m, int _type) const +{ + if (_type < 0) + m = *this; + else + convertTo(m, _type); +} + +inline +uchar* GpuMat::ptr(int y) +{ + CV_DbgAssert( (unsigned)y < (unsigned)rows ); + return data + step * y; +} + +inline +const uchar* GpuMat::ptr(int y) const +{ + CV_DbgAssert( (unsigned)y < (unsigned)rows ); + return data + step * y; +} + +template inline +_Tp* GpuMat::ptr(int y) +{ + return (_Tp*)ptr(y); +} + +template inline +const _Tp* GpuMat::ptr(int y) const +{ + return (const _Tp*)ptr(y); +} + +template inline +GpuMat::operator PtrStepSz() const +{ + return PtrStepSz(rows, cols, (T*)data, step); +} + +template inline +GpuMat::operator PtrStep() const +{ + return PtrStep((T*)data, step); +} + +inline +GpuMat GpuMat::row(int y) const +{ + return GpuMat(*this, Range(y, y+1), Range::all()); +} + +inline +GpuMat GpuMat::col(int x) const +{ + return GpuMat(*this, Range::all(), Range(x, x+1)); +} + +inline +GpuMat GpuMat::rowRange(int startrow, int endrow) const +{ + return GpuMat(*this, Range(startrow, endrow), Range::all()); +} + +inline +GpuMat GpuMat::rowRange(Range r) const +{ + return GpuMat(*this, r, Range::all()); +} + +inline +GpuMat GpuMat::colRange(int startcol, int endcol) const +{ + return GpuMat(*this, Range::all(), Range(startcol, endcol)); +} + +inline +GpuMat GpuMat::colRange(Range r) const +{ + return GpuMat(*this, Range::all(), r); +} + +inline +GpuMat GpuMat::operator ()(Range rowRange_, Range colRange_) const +{ + return GpuMat(*this, rowRange_, colRange_); +} + +inline +GpuMat GpuMat::operator ()(Rect roi) const +{ + return GpuMat(*this, roi); +} + +inline +bool GpuMat::isContinuous() const +{ + return (flags & Mat::CONTINUOUS_FLAG) != 0; +} + +inline +size_t GpuMat::elemSize() const +{ + return CV_ELEM_SIZE(flags); +} + +inline +size_t GpuMat::elemSize1() const +{ + return CV_ELEM_SIZE1(flags); +} + +inline +int GpuMat::type() const +{ + return CV_MAT_TYPE(flags); +} + +inline +int GpuMat::depth() const +{ + return CV_MAT_DEPTH(flags); +} + +inline +int GpuMat::channels() const +{ + return CV_MAT_CN(flags); +} + +inline +size_t GpuMat::step1() const +{ + return step / elemSize1(); +} + +inline +Size GpuMat::size() const +{ + return Size(cols, rows); +} + +inline +bool GpuMat::empty() const +{ + return data == 0; +} + +inline +void* GpuMat::cudaPtr() const +{ + return data; +} + +static inline +GpuMat createContinuous(int rows, int cols, int type) +{ + GpuMat m; + createContinuous(rows, cols, type, m); + return m; +} + +static inline +void createContinuous(Size size, int type, OutputArray arr) +{ + createContinuous(size.height, size.width, type, arr); +} + +static inline +GpuMat createContinuous(Size size, int type) +{ + GpuMat m; + createContinuous(size, type, m); + return m; +} + +static inline +void ensureSizeIsEnough(Size size, int type, OutputArray arr) +{ + ensureSizeIsEnough(size.height, size.width, type, arr); +} + +static inline +void swap(GpuMat& a, GpuMat& b) +{ + a.swap(b); +} + +//=================================================================================== +// GpuMatND +//=================================================================================== + +inline +GpuMatND::GpuMatND() : + flags(0), dims(0), data(nullptr), offset(0) +{ +} + +inline +GpuMatND::GpuMatND(SizeArray _size, int _type) : + flags(0), dims(0), data(nullptr), offset(0) +{ + create(std::move(_size), _type); +} + +inline +void GpuMatND::swap(GpuMatND& m) noexcept +{ + std::swap(*this, m); +} + +inline +bool GpuMatND::isContinuous() const +{ + return (flags & Mat::CONTINUOUS_FLAG) != 0; +} + +inline +bool GpuMatND::isSubmatrix() const +{ + return (flags & Mat::SUBMATRIX_FLAG) != 0; +} + +inline +size_t GpuMatND::elemSize() const +{ + return CV_ELEM_SIZE(flags); +} + +inline +size_t GpuMatND::elemSize1() const +{ + return CV_ELEM_SIZE1(flags); +} + +inline +bool GpuMatND::empty() const +{ + return data == nullptr; +} + +inline +bool GpuMatND::external() const +{ + return !empty() && data_.use_count() == 0; +} + +inline +uchar* GpuMatND::getDevicePtr() const +{ + return data + offset; +} + +inline +size_t GpuMatND::total() const +{ + size_t p = 1; + for(auto s : size) + p *= s; + return p; +} + +inline +size_t GpuMatND::totalMemSize() const +{ + return size[0] * step[0]; +} + +inline +int GpuMatND::type() const +{ + return CV_MAT_TYPE(flags); +} + +//=================================================================================== +// HostMem +//=================================================================================== + +inline +HostMem::HostMem(AllocType alloc_type_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), alloc_type(alloc_type_) +{ +} + +inline +HostMem::HostMem(const HostMem& m) + : flags(m.flags), rows(m.rows), cols(m.cols), step(m.step), data(m.data), refcount(m.refcount), datastart(m.datastart), dataend(m.dataend), alloc_type(m.alloc_type) +{ + if( refcount ) + CV_XADD(refcount, 1); +} + +inline +HostMem::HostMem(int rows_, int cols_, int type_, AllocType alloc_type_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), alloc_type(alloc_type_) +{ + if (rows_ > 0 && cols_ > 0) + create(rows_, cols_, type_); +} + +inline +HostMem::HostMem(Size size_, int type_, AllocType alloc_type_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), alloc_type(alloc_type_) +{ + if (size_.height > 0 && size_.width > 0) + create(size_.height, size_.width, type_); +} + +inline +HostMem::HostMem(InputArray arr, AllocType alloc_type_) + : flags(0), rows(0), cols(0), step(0), data(0), refcount(0), datastart(0), dataend(0), alloc_type(alloc_type_) +{ + arr.getMat().copyTo(*this); +} + +inline +HostMem::~HostMem() +{ + release(); +} + +inline +HostMem& HostMem::operator =(const HostMem& m) +{ + if (this != &m) + { + HostMem temp(m); + swap(temp); + } + + return *this; +} + +inline +void HostMem::swap(HostMem& b) +{ + std::swap(flags, b.flags); + std::swap(rows, b.rows); + std::swap(cols, b.cols); + std::swap(step, b.step); + std::swap(data, b.data); + std::swap(datastart, b.datastart); + std::swap(dataend, b.dataend); + std::swap(refcount, b.refcount); + std::swap(alloc_type, b.alloc_type); +} + +inline +HostMem HostMem::clone() const +{ + HostMem m(size(), type(), alloc_type); + createMatHeader().copyTo(m); + return m; +} + +inline +void HostMem::create(Size size_, int type_) +{ + create(size_.height, size_.width, type_); +} + +inline +Mat HostMem::createMatHeader() const +{ + return Mat(size(), type(), data, step); +} + +inline +bool HostMem::isContinuous() const +{ + return (flags & Mat::CONTINUOUS_FLAG) != 0; +} + +inline +size_t HostMem::elemSize() const +{ + return CV_ELEM_SIZE(flags); +} + +inline +size_t HostMem::elemSize1() const +{ + return CV_ELEM_SIZE1(flags); +} + +inline +int HostMem::type() const +{ + return CV_MAT_TYPE(flags); +} + +inline +int HostMem::depth() const +{ + return CV_MAT_DEPTH(flags); +} + +inline +int HostMem::channels() const +{ + return CV_MAT_CN(flags); +} + +inline +size_t HostMem::step1() const +{ + return step / elemSize1(); +} + +inline +Size HostMem::size() const +{ + return Size(cols, rows); +} + +inline +bool HostMem::empty() const +{ + return data == 0; +} + +static inline +void swap(HostMem& a, HostMem& b) +{ + a.swap(b); +} + +//=================================================================================== +// Stream +//=================================================================================== + +inline +Stream::Stream(const Ptr& impl) + : impl_(impl) +{ +} + +//=================================================================================== +// Event +//=================================================================================== + +inline +Event::Event(const Ptr& impl) + : impl_(impl) +{ +} + +//=================================================================================== +// Initialization & Info +//=================================================================================== + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +inline +bool TargetArchs::has(int major, int minor) +{ + return hasPtx(major, minor) || hasBin(major, minor); +} + +inline +bool TargetArchs::hasEqualOrGreater(int major, int minor) +{ + return hasEqualOrGreaterPtx(major, minor) || hasEqualOrGreaterBin(major, minor); +} + +inline +DeviceInfo::DeviceInfo() +{ + device_id_ = getDevice(); +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + +inline +DeviceInfo::DeviceInfo(int device_id) +{ + CV_Assert( device_id >= 0 && device_id < getCudaEnabledDeviceCount() ); + device_id_ = device_id; +} + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +inline +int DeviceInfo::deviceID() const +{ + return device_id_; +} + +inline +size_t DeviceInfo::freeMemory() const +{ + size_t _totalMemory = 0, _freeMemory = 0; + queryMemory(_totalMemory, _freeMemory); + return _freeMemory; +} + +inline +size_t DeviceInfo::totalMemory() const +{ + size_t _totalMemory = 0, _freeMemory = 0; + queryMemory(_totalMemory, _freeMemory); + return _totalMemory; +} + +inline +bool DeviceInfo::supports(FeatureSet feature_set) const +{ + int version = majorVersion() * 10 + minorVersion(); + return version >= feature_set; +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + + +}} // namespace cv { namespace cuda { + +//=================================================================================== +// Mat +//=================================================================================== + +namespace cv { + +inline +Mat::Mat(const cuda::GpuMat& m) + : flags(0), dims(0), rows(0), cols(0), data(0), datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows) +{ + m.download(*this); +} + +} + +//! @endcond + +#endif // OPENCV_CORE_CUDAINL_HPP diff --git a/camera_lib/include/opencv2/core/cuda_stream_accessor.hpp b/camera_lib/include/opencv2/core/cuda_stream_accessor.hpp new file mode 100644 index 0000000..deaf356 --- /dev/null +++ b/camera_lib/include/opencv2/core/cuda_stream_accessor.hpp @@ -0,0 +1,86 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CUDA_STREAM_ACCESSOR_HPP +#define OPENCV_CORE_CUDA_STREAM_ACCESSOR_HPP + +#ifndef __cplusplus +# error cuda_stream_accessor.hpp header must be compiled as C++ +#endif + +/** @file cuda_stream_accessor.hpp + * This is only header file that depends on CUDA Runtime API. All other headers are independent. + */ + +#include +#include "opencv2/core/cuda.hpp" + +namespace cv +{ + namespace cuda + { + +//! @addtogroup cudacore_struct +//! @{ + + /** @brief Class that enables getting cudaStream_t from cuda::Stream + */ + struct StreamAccessor + { + CV_EXPORTS static cudaStream_t getStream(const Stream& stream); + CV_EXPORTS static Stream wrapStream(cudaStream_t stream); + }; + + /** @brief Class that enables getting cudaEvent_t from cuda::Event + */ + struct EventAccessor + { + CV_EXPORTS static cudaEvent_t getEvent(const Event& event); + CV_EXPORTS static Event wrapEvent(cudaEvent_t event); + }; + +//! @} + + } +} + +#endif /* OPENCV_CORE_CUDA_STREAM_ACCESSOR_HPP */ diff --git a/camera_lib/include/opencv2/core/cuda_types.hpp b/camera_lib/include/opencv2/core/cuda_types.hpp new file mode 100644 index 0000000..b33f061 --- /dev/null +++ b/camera_lib/include/opencv2/core/cuda_types.hpp @@ -0,0 +1,144 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CUDA_TYPES_HPP +#define OPENCV_CORE_CUDA_TYPES_HPP + +#ifndef __cplusplus +# error cuda_types.hpp header must be compiled as C++ +#endif + +#if defined(__OPENCV_BUILD) && defined(__clang__) +#pragma clang diagnostic ignored "-Winconsistent-missing-override" +#endif +#if defined(__OPENCV_BUILD) && defined(__GNUC__) && __GNUC__ >= 5 +#pragma GCC diagnostic ignored "-Wsuggest-override" +#endif + +/** @file + * @deprecated Use @ref cudev instead. + */ + +//! @cond IGNORED + +#ifdef __CUDACC__ + #define __CV_CUDA_HOST_DEVICE__ __host__ __device__ __forceinline__ +#else + #define __CV_CUDA_HOST_DEVICE__ +#endif + +namespace cv +{ + namespace cuda + { + + // Simple lightweight structures that encapsulates information about an image on device. + // It is intended to pass to nvcc-compiled code. GpuMat depends on headers that nvcc can't compile + + template struct DevPtr + { + typedef T elem_type; + typedef int index_type; + + enum { elem_size = sizeof(elem_type) }; + + T* data; + + __CV_CUDA_HOST_DEVICE__ DevPtr() : data(0) {} + __CV_CUDA_HOST_DEVICE__ DevPtr(T* data_) : data(data_) {} + + __CV_CUDA_HOST_DEVICE__ size_t elemSize() const { return elem_size; } + __CV_CUDA_HOST_DEVICE__ operator T*() { return data; } + __CV_CUDA_HOST_DEVICE__ operator const T*() const { return data; } + }; + + template struct PtrSz : public DevPtr + { + __CV_CUDA_HOST_DEVICE__ PtrSz() : size(0) {} + __CV_CUDA_HOST_DEVICE__ PtrSz(T* data_, size_t size_) : DevPtr(data_), size(size_) {} + + size_t size; + }; + + template struct PtrStep : public DevPtr + { + __CV_CUDA_HOST_DEVICE__ PtrStep() : step(0) {} + __CV_CUDA_HOST_DEVICE__ PtrStep(T* data_, size_t step_) : DevPtr(data_), step(step_) {} + + size_t step; + + __CV_CUDA_HOST_DEVICE__ T* ptr(int y = 0) { return ( T*)( ( char*)(((DevPtr*)this)->data) + y * step); } + __CV_CUDA_HOST_DEVICE__ const T* ptr(int y = 0) const { return (const T*)( (const char*)(((DevPtr*)this)->data) + y * step); } + + __CV_CUDA_HOST_DEVICE__ T& operator ()(int y, int x) { return ptr(y)[x]; } + __CV_CUDA_HOST_DEVICE__ const T& operator ()(int y, int x) const { return ptr(y)[x]; } + }; + + template struct PtrStepSz : public PtrStep + { + __CV_CUDA_HOST_DEVICE__ PtrStepSz() : cols(0), rows(0) {} + __CV_CUDA_HOST_DEVICE__ PtrStepSz(int rows_, int cols_, T* data_, size_t step_) + : PtrStep(data_, step_), cols(cols_), rows(rows_) {} + + template + explicit PtrStepSz(const PtrStepSz& d) : PtrStep((T*)d.data, d.step), cols(d.cols), rows(d.rows){} + + int cols; + int rows; + }; + + typedef PtrStepSz PtrStepSzb; + typedef PtrStepSz PtrStepSzus; + typedef PtrStepSz PtrStepSzf; + typedef PtrStepSz PtrStepSzi; + + typedef PtrStep PtrStepb; + typedef PtrStep PtrStepus; + typedef PtrStep PtrStepf; + typedef PtrStep PtrStepi; + + } +} + +//! @endcond + +#endif /* OPENCV_CORE_CUDA_TYPES_HPP */ diff --git a/camera_lib/include/opencv2/core/cv_cpu_dispatch.h b/camera_lib/include/opencv2/core/cv_cpu_dispatch.h new file mode 100644 index 0000000..3235b63 --- /dev/null +++ b/camera_lib/include/opencv2/core/cv_cpu_dispatch.h @@ -0,0 +1,381 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#if defined __OPENCV_BUILD \ + +#include "cv_cpu_config.h" +#include "cv_cpu_helper.h" + +#ifdef CV_CPU_DISPATCH_MODE +#define CV_CPU_OPTIMIZATION_NAMESPACE __CV_CAT(opt_, CV_CPU_DISPATCH_MODE) +#define CV_CPU_OPTIMIZATION_NAMESPACE_BEGIN namespace __CV_CAT(opt_, CV_CPU_DISPATCH_MODE) { +#define CV_CPU_OPTIMIZATION_NAMESPACE_END } +#else +#define CV_CPU_OPTIMIZATION_NAMESPACE cpu_baseline +#define CV_CPU_OPTIMIZATION_NAMESPACE_BEGIN namespace cpu_baseline { +#define CV_CPU_OPTIMIZATION_NAMESPACE_END } +#define CV_CPU_BASELINE_MODE 1 +#endif + + +#define __CV_CPU_DISPATCH_CHAIN_END(fn, args, mode, ...) /* done */ +#define __CV_CPU_DISPATCH(fn, args, mode, ...) __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) +#define __CV_CPU_DISPATCH_EXPAND(fn, args, ...) __CV_EXPAND(__CV_CPU_DISPATCH(fn, args, __VA_ARGS__)) +#define CV_CPU_DISPATCH(fn, args, ...) __CV_CPU_DISPATCH_EXPAND(fn, args, __VA_ARGS__, END) // expand macros + + +#if defined CV_ENABLE_INTRINSICS \ + && !defined CV_DISABLE_OPTIMIZATION \ + && !defined __CUDACC__ /* do not include SSE/AVX/NEON headers for NVCC compiler */ \ + +#ifdef CV_CPU_COMPILE_SSE2 +# include +# define CV_MMX 1 +# define CV_SSE 1 +# define CV_SSE2 1 +#endif +#ifdef CV_CPU_COMPILE_SSE3 +# include +# define CV_SSE3 1 +#endif +#ifdef CV_CPU_COMPILE_SSSE3 +# include +# define CV_SSSE3 1 +#endif +#ifdef CV_CPU_COMPILE_SSE4_1 +# include +# define CV_SSE4_1 1 +#endif +#ifdef CV_CPU_COMPILE_SSE4_2 +# include +# define CV_SSE4_2 1 +#endif +#ifdef CV_CPU_COMPILE_POPCNT +# ifdef _MSC_VER +# include +# if defined(_M_X64) +# define CV_POPCNT_U64 (int)_mm_popcnt_u64 +# endif +# define CV_POPCNT_U32 _mm_popcnt_u32 +# else +# include +# if defined(__x86_64__) +# define CV_POPCNT_U64 __builtin_popcountll +# endif +# define CV_POPCNT_U32 __builtin_popcount +# endif +# define CV_POPCNT 1 +#endif +#ifdef CV_CPU_COMPILE_AVX +# include +# define CV_AVX 1 +#endif +#ifdef CV_CPU_COMPILE_FP16 +# if defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || defined(_M_ARM64) +# include +# else +# include +# endif +# define CV_FP16 1 +#endif +#ifdef CV_CPU_COMPILE_NEON_DOTPROD +# include +# define CV_NEON_DOT 1 +#endif +#ifdef CV_CPU_COMPILE_AVX2 +# include +# define CV_AVX2 1 +#endif +#ifdef CV_CPU_COMPILE_AVX_512F +# include +# define CV_AVX_512F 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_COMMON +# define CV_AVX512_COMMON 1 +# define CV_AVX_512CD 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_KNL +# define CV_AVX512_KNL 1 +# define CV_AVX_512ER 1 +# define CV_AVX_512PF 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_KNM +# define CV_AVX512_KNM 1 +# define CV_AVX_5124FMAPS 1 +# define CV_AVX_5124VNNIW 1 +# define CV_AVX_512VPOPCNTDQ 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_SKX +# define CV_AVX512_SKX 1 +# define CV_AVX_512VL 1 +# define CV_AVX_512BW 1 +# define CV_AVX_512DQ 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_CNL +# define CV_AVX512_CNL 1 +# define CV_AVX_512IFMA 1 +# define CV_AVX_512VBMI 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_CLX +# define CV_AVX512_CLX 1 +# define CV_AVX_512VNNI 1 +#endif +#ifdef CV_CPU_COMPILE_AVX512_ICL +# define CV_AVX512_ICL 1 +# undef CV_AVX_512IFMA +# define CV_AVX_512IFMA 1 +# undef CV_AVX_512VBMI +# define CV_AVX_512VBMI 1 +# undef CV_AVX_512VNNI +# define CV_AVX_512VNNI 1 +# define CV_AVX_512VBMI2 1 +# define CV_AVX_512BITALG 1 +# define CV_AVX_512VPOPCNTDQ 1 +#endif +#ifdef CV_CPU_COMPILE_FMA3 +# define CV_FMA3 1 +#endif + +#if defined _WIN32 && (defined(_M_ARM) || defined(_M_ARM64)) && (defined(CV_CPU_COMPILE_NEON) || !defined(_MSC_VER)) +# include +# include +# define CV_NEON 1 +#elif defined(__ARM_NEON__) || (defined (__ARM_NEON) && defined(__aarch64__)) +# include +# define CV_NEON 1 +#endif + +#if defined(__riscv) && defined(__riscv_vector) && defined(__riscv_vector_071) +# include +# define CV_RVV071 1 +#endif + +#if defined(__ARM_NEON__) || defined(__aarch64__) +# include +#endif + +#ifdef CV_CPU_COMPILE_VSX +# include +# undef vector +# undef pixel +# undef bool +# define CV_VSX 1 +#endif + +#ifdef CV_CPU_COMPILE_VSX3 +# define CV_VSX3 1 +#endif + +#ifdef CV_CPU_COMPILE_MSA +# include "hal/msa_macros.h" +# define CV_MSA 1 +#endif + +#ifdef CV_CPU_COMPILE_LASX +# include +# define CV_LASX 1 +#endif + +#ifdef __EMSCRIPTEN__ +# define CV_WASM_SIMD 1 +# include +#endif + +#if defined CV_CPU_COMPILE_RVV +# define CV_RVV 1 +# include +#endif + +#endif // CV_ENABLE_INTRINSICS && !CV_DISABLE_OPTIMIZATION && !__CUDACC__ + +#if defined CV_CPU_COMPILE_AVX && !defined CV_CPU_BASELINE_COMPILE_AVX +struct VZeroUpperGuard { +#ifdef __GNUC__ + __attribute__((always_inline)) +#endif + inline VZeroUpperGuard() { _mm256_zeroupper(); } +#ifdef __GNUC__ + __attribute__((always_inline)) +#endif + inline ~VZeroUpperGuard() { _mm256_zeroupper(); } +}; +#define __CV_AVX_GUARD VZeroUpperGuard __vzeroupper_guard; CV_UNUSED(__vzeroupper_guard); +#endif + +#ifdef __CV_AVX_GUARD +#define CV_AVX_GUARD __CV_AVX_GUARD +#else +#define CV_AVX_GUARD +#endif + +#endif // __OPENCV_BUILD + + + +#if !defined __OPENCV_BUILD /* Compatibility code */ \ + && !defined __CUDACC__ /* do not include SSE/AVX/NEON headers for NVCC compiler */ +#if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2) +# include +# define CV_MMX 1 +# define CV_SSE 1 +# define CV_SSE2 1 +#elif defined _WIN32 && (defined(_M_ARM) || defined(_M_ARM64)) && (defined(CV_CPU_COMPILE_NEON) || !defined(_MSC_VER)) +# include +# include +# define CV_NEON 1 +#elif defined(__ARM_NEON__) || (defined (__ARM_NEON) && defined(__aarch64__)) +# include +# define CV_NEON 1 +#elif defined(__VSX__) && defined(__PPC64__) && defined(__LITTLE_ENDIAN__) +# include +# undef vector +# undef pixel +# undef bool +# define CV_VSX 1 +#endif + +#ifdef __F16C__ +# include +# define CV_FP16 1 +#endif + +#endif // !__OPENCV_BUILD && !__CUDACC (Compatibility code) + + + +#ifndef CV_MMX +# define CV_MMX 0 +#endif +#ifndef CV_SSE +# define CV_SSE 0 +#endif +#ifndef CV_SSE2 +# define CV_SSE2 0 +#endif +#ifndef CV_SSE3 +# define CV_SSE3 0 +#endif +#ifndef CV_SSSE3 +# define CV_SSSE3 0 +#endif +#ifndef CV_SSE4_1 +# define CV_SSE4_1 0 +#endif +#ifndef CV_SSE4_2 +# define CV_SSE4_2 0 +#endif +#ifndef CV_POPCNT +# define CV_POPCNT 0 +#endif +#ifndef CV_AVX +# define CV_AVX 0 +#endif +#ifndef CV_FP16 +# define CV_FP16 0 +#endif +#ifndef CV_AVX2 +# define CV_AVX2 0 +#endif +#ifndef CV_FMA3 +# define CV_FMA3 0 +#endif +#ifndef CV_AVX_512F +# define CV_AVX_512F 0 +#endif +#ifndef CV_AVX_512BW +# define CV_AVX_512BW 0 +#endif +#ifndef CV_AVX_512CD +# define CV_AVX_512CD 0 +#endif +#ifndef CV_AVX_512DQ +# define CV_AVX_512DQ 0 +#endif +#ifndef CV_AVX_512ER +# define CV_AVX_512ER 0 +#endif +#ifndef CV_AVX_512IFMA +# define CV_AVX_512IFMA 0 +#endif +#define CV_AVX_512IFMA512 CV_AVX_512IFMA // deprecated +#ifndef CV_AVX_512PF +# define CV_AVX_512PF 0 +#endif +#ifndef CV_AVX_512VBMI +# define CV_AVX_512VBMI 0 +#endif +#ifndef CV_AVX_512VL +# define CV_AVX_512VL 0 +#endif +#ifndef CV_AVX_5124FMAPS +# define CV_AVX_5124FMAPS 0 +#endif +#ifndef CV_AVX_5124VNNIW +# define CV_AVX_5124VNNIW 0 +#endif +#ifndef CV_AVX_512VPOPCNTDQ +# define CV_AVX_512VPOPCNTDQ 0 +#endif +#ifndef CV_AVX_512VNNI +# define CV_AVX_512VNNI 0 +#endif +#ifndef CV_AVX_512VBMI2 +# define CV_AVX_512VBMI2 0 +#endif +#ifndef CV_AVX_512BITALG +# define CV_AVX_512BITALG 0 +#endif +#ifndef CV_AVX512_COMMON +# define CV_AVX512_COMMON 0 +#endif +#ifndef CV_AVX512_KNL +# define CV_AVX512_KNL 0 +#endif +#ifndef CV_AVX512_KNM +# define CV_AVX512_KNM 0 +#endif +#ifndef CV_AVX512_SKX +# define CV_AVX512_SKX 0 +#endif +#ifndef CV_AVX512_CNL +# define CV_AVX512_CNL 0 +#endif +#ifndef CV_AVX512_CLX +# define CV_AVX512_CLX 0 +#endif +#ifndef CV_AVX512_ICL +# define CV_AVX512_ICL 0 +#endif + +#ifndef CV_NEON +# define CV_NEON 0 +#endif + +#ifndef CV_RVV071 +# define CV_RVV071 0 +#endif + +#ifndef CV_VSX +# define CV_VSX 0 +#endif + +#ifndef CV_VSX3 +# define CV_VSX3 0 +#endif + +#ifndef CV_MSA +# define CV_MSA 0 +#endif + +#ifndef CV_WASM_SIMD +# define CV_WASM_SIMD 0 +#endif + +#ifndef CV_RVV +# define CV_RVV 0 +#endif + +#ifndef CV_LASX +# define CV_LASX 0 +#endif diff --git a/camera_lib/include/opencv2/core/cv_cpu_helper.h b/camera_lib/include/opencv2/core/cv_cpu_helper.h new file mode 100644 index 0000000..41fc9d5 --- /dev/null +++ b/camera_lib/include/opencv2/core/cv_cpu_helper.h @@ -0,0 +1,550 @@ +// AUTOGENERATED, DO NOT EDIT + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE +# define CV_TRY_SSE 1 +# define CV_CPU_FORCE_SSE 1 +# define CV_CPU_HAS_SUPPORT_SSE 1 +# define CV_CPU_CALL_SSE(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_SSE_(fn, args) return (opt_SSE::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE +# define CV_TRY_SSE 1 +# define CV_CPU_FORCE_SSE 0 +# define CV_CPU_HAS_SUPPORT_SSE (cv::checkHardwareSupport(CV_CPU_SSE)) +# define CV_CPU_CALL_SSE(fn, args) if (CV_CPU_HAS_SUPPORT_SSE) return (opt_SSE::fn args) +# define CV_CPU_CALL_SSE_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE) return (opt_SSE::fn args) +#else +# define CV_TRY_SSE 0 +# define CV_CPU_FORCE_SSE 0 +# define CV_CPU_HAS_SUPPORT_SSE 0 +# define CV_CPU_CALL_SSE(fn, args) +# define CV_CPU_CALL_SSE_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_SSE(fn, args, mode, ...) CV_CPU_CALL_SSE(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE2 +# define CV_TRY_SSE2 1 +# define CV_CPU_FORCE_SSE2 1 +# define CV_CPU_HAS_SUPPORT_SSE2 1 +# define CV_CPU_CALL_SSE2(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_SSE2_(fn, args) return (opt_SSE2::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE2 +# define CV_TRY_SSE2 1 +# define CV_CPU_FORCE_SSE2 0 +# define CV_CPU_HAS_SUPPORT_SSE2 (cv::checkHardwareSupport(CV_CPU_SSE2)) +# define CV_CPU_CALL_SSE2(fn, args) if (CV_CPU_HAS_SUPPORT_SSE2) return (opt_SSE2::fn args) +# define CV_CPU_CALL_SSE2_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE2) return (opt_SSE2::fn args) +#else +# define CV_TRY_SSE2 0 +# define CV_CPU_FORCE_SSE2 0 +# define CV_CPU_HAS_SUPPORT_SSE2 0 +# define CV_CPU_CALL_SSE2(fn, args) +# define CV_CPU_CALL_SSE2_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_SSE2(fn, args, mode, ...) CV_CPU_CALL_SSE2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE3 +# define CV_TRY_SSE3 1 +# define CV_CPU_FORCE_SSE3 1 +# define CV_CPU_HAS_SUPPORT_SSE3 1 +# define CV_CPU_CALL_SSE3(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_SSE3_(fn, args) return (opt_SSE3::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE3 +# define CV_TRY_SSE3 1 +# define CV_CPU_FORCE_SSE3 0 +# define CV_CPU_HAS_SUPPORT_SSE3 (cv::checkHardwareSupport(CV_CPU_SSE3)) +# define CV_CPU_CALL_SSE3(fn, args) if (CV_CPU_HAS_SUPPORT_SSE3) return (opt_SSE3::fn args) +# define CV_CPU_CALL_SSE3_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE3) return (opt_SSE3::fn args) +#else +# define CV_TRY_SSE3 0 +# define CV_CPU_FORCE_SSE3 0 +# define CV_CPU_HAS_SUPPORT_SSE3 0 +# define CV_CPU_CALL_SSE3(fn, args) +# define CV_CPU_CALL_SSE3_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_SSE3(fn, args, mode, ...) CV_CPU_CALL_SSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSSE3 +# define CV_TRY_SSSE3 1 +# define CV_CPU_FORCE_SSSE3 1 +# define CV_CPU_HAS_SUPPORT_SSSE3 1 +# define CV_CPU_CALL_SSSE3(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_SSSE3_(fn, args) return (opt_SSSE3::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSSE3 +# define CV_TRY_SSSE3 1 +# define CV_CPU_FORCE_SSSE3 0 +# define CV_CPU_HAS_SUPPORT_SSSE3 (cv::checkHardwareSupport(CV_CPU_SSSE3)) +# define CV_CPU_CALL_SSSE3(fn, args) if (CV_CPU_HAS_SUPPORT_SSSE3) return (opt_SSSE3::fn args) +# define CV_CPU_CALL_SSSE3_(fn, args) if (CV_CPU_HAS_SUPPORT_SSSE3) return (opt_SSSE3::fn args) +#else +# define CV_TRY_SSSE3 0 +# define CV_CPU_FORCE_SSSE3 0 +# define CV_CPU_HAS_SUPPORT_SSSE3 0 +# define CV_CPU_CALL_SSSE3(fn, args) +# define CV_CPU_CALL_SSSE3_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_SSSE3(fn, args, mode, ...) CV_CPU_CALL_SSSE3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE4_1 +# define CV_TRY_SSE4_1 1 +# define CV_CPU_FORCE_SSE4_1 1 +# define CV_CPU_HAS_SUPPORT_SSE4_1 1 +# define CV_CPU_CALL_SSE4_1(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_SSE4_1_(fn, args) return (opt_SSE4_1::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE4_1 +# define CV_TRY_SSE4_1 1 +# define CV_CPU_FORCE_SSE4_1 0 +# define CV_CPU_HAS_SUPPORT_SSE4_1 (cv::checkHardwareSupport(CV_CPU_SSE4_1)) +# define CV_CPU_CALL_SSE4_1(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_1) return (opt_SSE4_1::fn args) +# define CV_CPU_CALL_SSE4_1_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_1) return (opt_SSE4_1::fn args) +#else +# define CV_TRY_SSE4_1 0 +# define CV_CPU_FORCE_SSE4_1 0 +# define CV_CPU_HAS_SUPPORT_SSE4_1 0 +# define CV_CPU_CALL_SSE4_1(fn, args) +# define CV_CPU_CALL_SSE4_1_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_SSE4_1(fn, args, mode, ...) CV_CPU_CALL_SSE4_1(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_SSE4_2 +# define CV_TRY_SSE4_2 1 +# define CV_CPU_FORCE_SSE4_2 1 +# define CV_CPU_HAS_SUPPORT_SSE4_2 1 +# define CV_CPU_CALL_SSE4_2(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_SSE4_2_(fn, args) return (opt_SSE4_2::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_SSE4_2 +# define CV_TRY_SSE4_2 1 +# define CV_CPU_FORCE_SSE4_2 0 +# define CV_CPU_HAS_SUPPORT_SSE4_2 (cv::checkHardwareSupport(CV_CPU_SSE4_2)) +# define CV_CPU_CALL_SSE4_2(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_2) return (opt_SSE4_2::fn args) +# define CV_CPU_CALL_SSE4_2_(fn, args) if (CV_CPU_HAS_SUPPORT_SSE4_2) return (opt_SSE4_2::fn args) +#else +# define CV_TRY_SSE4_2 0 +# define CV_CPU_FORCE_SSE4_2 0 +# define CV_CPU_HAS_SUPPORT_SSE4_2 0 +# define CV_CPU_CALL_SSE4_2(fn, args) +# define CV_CPU_CALL_SSE4_2_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_SSE4_2(fn, args, mode, ...) CV_CPU_CALL_SSE4_2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_POPCNT +# define CV_TRY_POPCNT 1 +# define CV_CPU_FORCE_POPCNT 1 +# define CV_CPU_HAS_SUPPORT_POPCNT 1 +# define CV_CPU_CALL_POPCNT(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_POPCNT_(fn, args) return (opt_POPCNT::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_POPCNT +# define CV_TRY_POPCNT 1 +# define CV_CPU_FORCE_POPCNT 0 +# define CV_CPU_HAS_SUPPORT_POPCNT (cv::checkHardwareSupport(CV_CPU_POPCNT)) +# define CV_CPU_CALL_POPCNT(fn, args) if (CV_CPU_HAS_SUPPORT_POPCNT) return (opt_POPCNT::fn args) +# define CV_CPU_CALL_POPCNT_(fn, args) if (CV_CPU_HAS_SUPPORT_POPCNT) return (opt_POPCNT::fn args) +#else +# define CV_TRY_POPCNT 0 +# define CV_CPU_FORCE_POPCNT 0 +# define CV_CPU_HAS_SUPPORT_POPCNT 0 +# define CV_CPU_CALL_POPCNT(fn, args) +# define CV_CPU_CALL_POPCNT_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_POPCNT(fn, args, mode, ...) CV_CPU_CALL_POPCNT(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX +# define CV_TRY_AVX 1 +# define CV_CPU_FORCE_AVX 1 +# define CV_CPU_HAS_SUPPORT_AVX 1 +# define CV_CPU_CALL_AVX(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX_(fn, args) return (opt_AVX::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX +# define CV_TRY_AVX 1 +# define CV_CPU_FORCE_AVX 0 +# define CV_CPU_HAS_SUPPORT_AVX (cv::checkHardwareSupport(CV_CPU_AVX)) +# define CV_CPU_CALL_AVX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX) return (opt_AVX::fn args) +# define CV_CPU_CALL_AVX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX) return (opt_AVX::fn args) +#else +# define CV_TRY_AVX 0 +# define CV_CPU_FORCE_AVX 0 +# define CV_CPU_HAS_SUPPORT_AVX 0 +# define CV_CPU_CALL_AVX(fn, args) +# define CV_CPU_CALL_AVX_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX(fn, args, mode, ...) CV_CPU_CALL_AVX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_FP16 +# define CV_TRY_FP16 1 +# define CV_CPU_FORCE_FP16 1 +# define CV_CPU_HAS_SUPPORT_FP16 1 +# define CV_CPU_CALL_FP16(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_FP16_(fn, args) return (opt_FP16::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_FP16 +# define CV_TRY_FP16 1 +# define CV_CPU_FORCE_FP16 0 +# define CV_CPU_HAS_SUPPORT_FP16 (cv::checkHardwareSupport(CV_CPU_FP16)) +# define CV_CPU_CALL_FP16(fn, args) if (CV_CPU_HAS_SUPPORT_FP16) return (opt_FP16::fn args) +# define CV_CPU_CALL_FP16_(fn, args) if (CV_CPU_HAS_SUPPORT_FP16) return (opt_FP16::fn args) +#else +# define CV_TRY_FP16 0 +# define CV_CPU_FORCE_FP16 0 +# define CV_CPU_HAS_SUPPORT_FP16 0 +# define CV_CPU_CALL_FP16(fn, args) +# define CV_CPU_CALL_FP16_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_FP16(fn, args, mode, ...) CV_CPU_CALL_FP16(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX2 +# define CV_TRY_AVX2 1 +# define CV_CPU_FORCE_AVX2 1 +# define CV_CPU_HAS_SUPPORT_AVX2 1 +# define CV_CPU_CALL_AVX2(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX2_(fn, args) return (opt_AVX2::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX2 +# define CV_TRY_AVX2 1 +# define CV_CPU_FORCE_AVX2 0 +# define CV_CPU_HAS_SUPPORT_AVX2 (cv::checkHardwareSupport(CV_CPU_AVX2)) +# define CV_CPU_CALL_AVX2(fn, args) if (CV_CPU_HAS_SUPPORT_AVX2) return (opt_AVX2::fn args) +# define CV_CPU_CALL_AVX2_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX2) return (opt_AVX2::fn args) +#else +# define CV_TRY_AVX2 0 +# define CV_CPU_FORCE_AVX2 0 +# define CV_CPU_HAS_SUPPORT_AVX2 0 +# define CV_CPU_CALL_AVX2(fn, args) +# define CV_CPU_CALL_AVX2_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX2(fn, args, mode, ...) CV_CPU_CALL_AVX2(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_FMA3 +# define CV_TRY_FMA3 1 +# define CV_CPU_FORCE_FMA3 1 +# define CV_CPU_HAS_SUPPORT_FMA3 1 +# define CV_CPU_CALL_FMA3(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_FMA3_(fn, args) return (opt_FMA3::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_FMA3 +# define CV_TRY_FMA3 1 +# define CV_CPU_FORCE_FMA3 0 +# define CV_CPU_HAS_SUPPORT_FMA3 (cv::checkHardwareSupport(CV_CPU_FMA3)) +# define CV_CPU_CALL_FMA3(fn, args) if (CV_CPU_HAS_SUPPORT_FMA3) return (opt_FMA3::fn args) +# define CV_CPU_CALL_FMA3_(fn, args) if (CV_CPU_HAS_SUPPORT_FMA3) return (opt_FMA3::fn args) +#else +# define CV_TRY_FMA3 0 +# define CV_CPU_FORCE_FMA3 0 +# define CV_CPU_HAS_SUPPORT_FMA3 0 +# define CV_CPU_CALL_FMA3(fn, args) +# define CV_CPU_CALL_FMA3_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_FMA3(fn, args, mode, ...) CV_CPU_CALL_FMA3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX_512F +# define CV_TRY_AVX_512F 1 +# define CV_CPU_FORCE_AVX_512F 1 +# define CV_CPU_HAS_SUPPORT_AVX_512F 1 +# define CV_CPU_CALL_AVX_512F(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX_512F_(fn, args) return (opt_AVX_512F::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX_512F +# define CV_TRY_AVX_512F 1 +# define CV_CPU_FORCE_AVX_512F 0 +# define CV_CPU_HAS_SUPPORT_AVX_512F (cv::checkHardwareSupport(CV_CPU_AVX_512F)) +# define CV_CPU_CALL_AVX_512F(fn, args) if (CV_CPU_HAS_SUPPORT_AVX_512F) return (opt_AVX_512F::fn args) +# define CV_CPU_CALL_AVX_512F_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX_512F) return (opt_AVX_512F::fn args) +#else +# define CV_TRY_AVX_512F 0 +# define CV_CPU_FORCE_AVX_512F 0 +# define CV_CPU_HAS_SUPPORT_AVX_512F 0 +# define CV_CPU_CALL_AVX_512F(fn, args) +# define CV_CPU_CALL_AVX_512F_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX_512F(fn, args, mode, ...) CV_CPU_CALL_AVX_512F(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_COMMON +# define CV_TRY_AVX512_COMMON 1 +# define CV_CPU_FORCE_AVX512_COMMON 1 +# define CV_CPU_HAS_SUPPORT_AVX512_COMMON 1 +# define CV_CPU_CALL_AVX512_COMMON(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_COMMON_(fn, args) return (opt_AVX512_COMMON::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_COMMON +# define CV_TRY_AVX512_COMMON 1 +# define CV_CPU_FORCE_AVX512_COMMON 0 +# define CV_CPU_HAS_SUPPORT_AVX512_COMMON (cv::checkHardwareSupport(CV_CPU_AVX512_COMMON)) +# define CV_CPU_CALL_AVX512_COMMON(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_COMMON) return (opt_AVX512_COMMON::fn args) +# define CV_CPU_CALL_AVX512_COMMON_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_COMMON) return (opt_AVX512_COMMON::fn args) +#else +# define CV_TRY_AVX512_COMMON 0 +# define CV_CPU_FORCE_AVX512_COMMON 0 +# define CV_CPU_HAS_SUPPORT_AVX512_COMMON 0 +# define CV_CPU_CALL_AVX512_COMMON(fn, args) +# define CV_CPU_CALL_AVX512_COMMON_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_COMMON(fn, args, mode, ...) CV_CPU_CALL_AVX512_COMMON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_KNL +# define CV_TRY_AVX512_KNL 1 +# define CV_CPU_FORCE_AVX512_KNL 1 +# define CV_CPU_HAS_SUPPORT_AVX512_KNL 1 +# define CV_CPU_CALL_AVX512_KNL(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_KNL_(fn, args) return (opt_AVX512_KNL::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_KNL +# define CV_TRY_AVX512_KNL 1 +# define CV_CPU_FORCE_AVX512_KNL 0 +# define CV_CPU_HAS_SUPPORT_AVX512_KNL (cv::checkHardwareSupport(CV_CPU_AVX512_KNL)) +# define CV_CPU_CALL_AVX512_KNL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNL) return (opt_AVX512_KNL::fn args) +# define CV_CPU_CALL_AVX512_KNL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNL) return (opt_AVX512_KNL::fn args) +#else +# define CV_TRY_AVX512_KNL 0 +# define CV_CPU_FORCE_AVX512_KNL 0 +# define CV_CPU_HAS_SUPPORT_AVX512_KNL 0 +# define CV_CPU_CALL_AVX512_KNL(fn, args) +# define CV_CPU_CALL_AVX512_KNL_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_KNL(fn, args, mode, ...) CV_CPU_CALL_AVX512_KNL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_KNM +# define CV_TRY_AVX512_KNM 1 +# define CV_CPU_FORCE_AVX512_KNM 1 +# define CV_CPU_HAS_SUPPORT_AVX512_KNM 1 +# define CV_CPU_CALL_AVX512_KNM(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_KNM_(fn, args) return (opt_AVX512_KNM::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_KNM +# define CV_TRY_AVX512_KNM 1 +# define CV_CPU_FORCE_AVX512_KNM 0 +# define CV_CPU_HAS_SUPPORT_AVX512_KNM (cv::checkHardwareSupport(CV_CPU_AVX512_KNM)) +# define CV_CPU_CALL_AVX512_KNM(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNM) return (opt_AVX512_KNM::fn args) +# define CV_CPU_CALL_AVX512_KNM_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_KNM) return (opt_AVX512_KNM::fn args) +#else +# define CV_TRY_AVX512_KNM 0 +# define CV_CPU_FORCE_AVX512_KNM 0 +# define CV_CPU_HAS_SUPPORT_AVX512_KNM 0 +# define CV_CPU_CALL_AVX512_KNM(fn, args) +# define CV_CPU_CALL_AVX512_KNM_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_KNM(fn, args, mode, ...) CV_CPU_CALL_AVX512_KNM(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_SKX +# define CV_TRY_AVX512_SKX 1 +# define CV_CPU_FORCE_AVX512_SKX 1 +# define CV_CPU_HAS_SUPPORT_AVX512_SKX 1 +# define CV_CPU_CALL_AVX512_SKX(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_SKX_(fn, args) return (opt_AVX512_SKX::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_SKX +# define CV_TRY_AVX512_SKX 1 +# define CV_CPU_FORCE_AVX512_SKX 0 +# define CV_CPU_HAS_SUPPORT_AVX512_SKX (cv::checkHardwareSupport(CV_CPU_AVX512_SKX)) +# define CV_CPU_CALL_AVX512_SKX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_SKX) return (opt_AVX512_SKX::fn args) +# define CV_CPU_CALL_AVX512_SKX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_SKX) return (opt_AVX512_SKX::fn args) +#else +# define CV_TRY_AVX512_SKX 0 +# define CV_CPU_FORCE_AVX512_SKX 0 +# define CV_CPU_HAS_SUPPORT_AVX512_SKX 0 +# define CV_CPU_CALL_AVX512_SKX(fn, args) +# define CV_CPU_CALL_AVX512_SKX_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_SKX(fn, args, mode, ...) CV_CPU_CALL_AVX512_SKX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_CNL +# define CV_TRY_AVX512_CNL 1 +# define CV_CPU_FORCE_AVX512_CNL 1 +# define CV_CPU_HAS_SUPPORT_AVX512_CNL 1 +# define CV_CPU_CALL_AVX512_CNL(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_CNL_(fn, args) return (opt_AVX512_CNL::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_CNL +# define CV_TRY_AVX512_CNL 1 +# define CV_CPU_FORCE_AVX512_CNL 0 +# define CV_CPU_HAS_SUPPORT_AVX512_CNL (cv::checkHardwareSupport(CV_CPU_AVX512_CNL)) +# define CV_CPU_CALL_AVX512_CNL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CNL) return (opt_AVX512_CNL::fn args) +# define CV_CPU_CALL_AVX512_CNL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CNL) return (opt_AVX512_CNL::fn args) +#else +# define CV_TRY_AVX512_CNL 0 +# define CV_CPU_FORCE_AVX512_CNL 0 +# define CV_CPU_HAS_SUPPORT_AVX512_CNL 0 +# define CV_CPU_CALL_AVX512_CNL(fn, args) +# define CV_CPU_CALL_AVX512_CNL_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_CNL(fn, args, mode, ...) CV_CPU_CALL_AVX512_CNL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_CLX +# define CV_TRY_AVX512_CLX 1 +# define CV_CPU_FORCE_AVX512_CLX 1 +# define CV_CPU_HAS_SUPPORT_AVX512_CLX 1 +# define CV_CPU_CALL_AVX512_CLX(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_CLX_(fn, args) return (opt_AVX512_CLX::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_CLX +# define CV_TRY_AVX512_CLX 1 +# define CV_CPU_FORCE_AVX512_CLX 0 +# define CV_CPU_HAS_SUPPORT_AVX512_CLX (cv::checkHardwareSupport(CV_CPU_AVX512_CLX)) +# define CV_CPU_CALL_AVX512_CLX(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CLX) return (opt_AVX512_CLX::fn args) +# define CV_CPU_CALL_AVX512_CLX_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_CLX) return (opt_AVX512_CLX::fn args) +#else +# define CV_TRY_AVX512_CLX 0 +# define CV_CPU_FORCE_AVX512_CLX 0 +# define CV_CPU_HAS_SUPPORT_AVX512_CLX 0 +# define CV_CPU_CALL_AVX512_CLX(fn, args) +# define CV_CPU_CALL_AVX512_CLX_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_CLX(fn, args, mode, ...) CV_CPU_CALL_AVX512_CLX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_AVX512_ICL +# define CV_TRY_AVX512_ICL 1 +# define CV_CPU_FORCE_AVX512_ICL 1 +# define CV_CPU_HAS_SUPPORT_AVX512_ICL 1 +# define CV_CPU_CALL_AVX512_ICL(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_AVX512_ICL_(fn, args) return (opt_AVX512_ICL::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_AVX512_ICL +# define CV_TRY_AVX512_ICL 1 +# define CV_CPU_FORCE_AVX512_ICL 0 +# define CV_CPU_HAS_SUPPORT_AVX512_ICL (cv::checkHardwareSupport(CV_CPU_AVX512_ICL)) +# define CV_CPU_CALL_AVX512_ICL(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_ICL) return (opt_AVX512_ICL::fn args) +# define CV_CPU_CALL_AVX512_ICL_(fn, args) if (CV_CPU_HAS_SUPPORT_AVX512_ICL) return (opt_AVX512_ICL::fn args) +#else +# define CV_TRY_AVX512_ICL 0 +# define CV_CPU_FORCE_AVX512_ICL 0 +# define CV_CPU_HAS_SUPPORT_AVX512_ICL 0 +# define CV_CPU_CALL_AVX512_ICL(fn, args) +# define CV_CPU_CALL_AVX512_ICL_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_AVX512_ICL(fn, args, mode, ...) CV_CPU_CALL_AVX512_ICL(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON +# define CV_TRY_NEON 1 +# define CV_CPU_FORCE_NEON 1 +# define CV_CPU_HAS_SUPPORT_NEON 1 +# define CV_CPU_CALL_NEON(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_NEON_(fn, args) return (opt_NEON::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON +# define CV_TRY_NEON 1 +# define CV_CPU_FORCE_NEON 0 +# define CV_CPU_HAS_SUPPORT_NEON (cv::checkHardwareSupport(CV_CPU_NEON)) +# define CV_CPU_CALL_NEON(fn, args) if (CV_CPU_HAS_SUPPORT_NEON) return (opt_NEON::fn args) +# define CV_CPU_CALL_NEON_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON) return (opt_NEON::fn args) +#else +# define CV_TRY_NEON 0 +# define CV_CPU_FORCE_NEON 0 +# define CV_CPU_HAS_SUPPORT_NEON 0 +# define CV_CPU_CALL_NEON(fn, args) +# define CV_CPU_CALL_NEON_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_NEON(fn, args, mode, ...) CV_CPU_CALL_NEON(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_NEON_DOTPROD +# define CV_TRY_NEON_DOTPROD 1 +# define CV_CPU_FORCE_NEON_DOTPROD 1 +# define CV_CPU_HAS_SUPPORT_NEON_DOTPROD 1 +# define CV_CPU_CALL_NEON_DOTPROD(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_NEON_DOTPROD_(fn, args) return (opt_NEON_DOTPROD::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_NEON_DOTPROD +# define CV_TRY_NEON_DOTPROD 1 +# define CV_CPU_FORCE_NEON_DOTPROD 0 +# define CV_CPU_HAS_SUPPORT_NEON_DOTPROD (cv::checkHardwareSupport(CV_CPU_NEON_DOTPROD)) +# define CV_CPU_CALL_NEON_DOTPROD(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_DOTPROD) return (opt_NEON_DOTPROD::fn args) +# define CV_CPU_CALL_NEON_DOTPROD_(fn, args) if (CV_CPU_HAS_SUPPORT_NEON_DOTPROD) return (opt_NEON_DOTPROD::fn args) +#else +# define CV_TRY_NEON_DOTPROD 0 +# define CV_CPU_FORCE_NEON_DOTPROD 0 +# define CV_CPU_HAS_SUPPORT_NEON_DOTPROD 0 +# define CV_CPU_CALL_NEON_DOTPROD(fn, args) +# define CV_CPU_CALL_NEON_DOTPROD_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_NEON_DOTPROD(fn, args, mode, ...) CV_CPU_CALL_NEON_DOTPROD(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_MSA +# define CV_TRY_MSA 1 +# define CV_CPU_FORCE_MSA 1 +# define CV_CPU_HAS_SUPPORT_MSA 1 +# define CV_CPU_CALL_MSA(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_MSA_(fn, args) return (opt_MSA::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_MSA +# define CV_TRY_MSA 1 +# define CV_CPU_FORCE_MSA 0 +# define CV_CPU_HAS_SUPPORT_MSA (cv::checkHardwareSupport(CV_CPU_MSA)) +# define CV_CPU_CALL_MSA(fn, args) if (CV_CPU_HAS_SUPPORT_MSA) return (opt_MSA::fn args) +# define CV_CPU_CALL_MSA_(fn, args) if (CV_CPU_HAS_SUPPORT_MSA) return (opt_MSA::fn args) +#else +# define CV_TRY_MSA 0 +# define CV_CPU_FORCE_MSA 0 +# define CV_CPU_HAS_SUPPORT_MSA 0 +# define CV_CPU_CALL_MSA(fn, args) +# define CV_CPU_CALL_MSA_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_MSA(fn, args, mode, ...) CV_CPU_CALL_MSA(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_VSX +# define CV_TRY_VSX 1 +# define CV_CPU_FORCE_VSX 1 +# define CV_CPU_HAS_SUPPORT_VSX 1 +# define CV_CPU_CALL_VSX(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_VSX_(fn, args) return (opt_VSX::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_VSX +# define CV_TRY_VSX 1 +# define CV_CPU_FORCE_VSX 0 +# define CV_CPU_HAS_SUPPORT_VSX (cv::checkHardwareSupport(CV_CPU_VSX)) +# define CV_CPU_CALL_VSX(fn, args) if (CV_CPU_HAS_SUPPORT_VSX) return (opt_VSX::fn args) +# define CV_CPU_CALL_VSX_(fn, args) if (CV_CPU_HAS_SUPPORT_VSX) return (opt_VSX::fn args) +#else +# define CV_TRY_VSX 0 +# define CV_CPU_FORCE_VSX 0 +# define CV_CPU_HAS_SUPPORT_VSX 0 +# define CV_CPU_CALL_VSX(fn, args) +# define CV_CPU_CALL_VSX_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_VSX(fn, args, mode, ...) CV_CPU_CALL_VSX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_VSX3 +# define CV_TRY_VSX3 1 +# define CV_CPU_FORCE_VSX3 1 +# define CV_CPU_HAS_SUPPORT_VSX3 1 +# define CV_CPU_CALL_VSX3(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_VSX3_(fn, args) return (opt_VSX3::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_VSX3 +# define CV_TRY_VSX3 1 +# define CV_CPU_FORCE_VSX3 0 +# define CV_CPU_HAS_SUPPORT_VSX3 (cv::checkHardwareSupport(CV_CPU_VSX3)) +# define CV_CPU_CALL_VSX3(fn, args) if (CV_CPU_HAS_SUPPORT_VSX3) return (opt_VSX3::fn args) +# define CV_CPU_CALL_VSX3_(fn, args) if (CV_CPU_HAS_SUPPORT_VSX3) return (opt_VSX3::fn args) +#else +# define CV_TRY_VSX3 0 +# define CV_CPU_FORCE_VSX3 0 +# define CV_CPU_HAS_SUPPORT_VSX3 0 +# define CV_CPU_CALL_VSX3(fn, args) +# define CV_CPU_CALL_VSX3_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_VSX3(fn, args, mode, ...) CV_CPU_CALL_VSX3(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_RVV +# define CV_TRY_RVV 1 +# define CV_CPU_FORCE_RVV 1 +# define CV_CPU_HAS_SUPPORT_RVV 1 +# define CV_CPU_CALL_RVV(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_RVV_(fn, args) return (opt_RVV::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_RVV +# define CV_TRY_RVV 1 +# define CV_CPU_FORCE_RVV 0 +# define CV_CPU_HAS_SUPPORT_RVV (cv::checkHardwareSupport(CV_CPU_RVV)) +# define CV_CPU_CALL_RVV(fn, args) if (CV_CPU_HAS_SUPPORT_RVV) return (opt_RVV::fn args) +# define CV_CPU_CALL_RVV_(fn, args) if (CV_CPU_HAS_SUPPORT_RVV) return (opt_RVV::fn args) +#else +# define CV_TRY_RVV 0 +# define CV_CPU_FORCE_RVV 0 +# define CV_CPU_HAS_SUPPORT_RVV 0 +# define CV_CPU_CALL_RVV(fn, args) +# define CV_CPU_CALL_RVV_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_RVV(fn, args, mode, ...) CV_CPU_CALL_RVV(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#if !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_COMPILE_LASX +# define CV_TRY_LASX 1 +# define CV_CPU_FORCE_LASX 1 +# define CV_CPU_HAS_SUPPORT_LASX 1 +# define CV_CPU_CALL_LASX(fn, args) return (cpu_baseline::fn args) +# define CV_CPU_CALL_LASX_(fn, args) return (opt_LASX::fn args) +#elif !defined CV_DISABLE_OPTIMIZATION && defined CV_ENABLE_INTRINSICS && defined CV_CPU_DISPATCH_COMPILE_LASX +# define CV_TRY_LASX 1 +# define CV_CPU_FORCE_LASX 0 +# define CV_CPU_HAS_SUPPORT_LASX (cv::checkHardwareSupport(CV_CPU_LASX)) +# define CV_CPU_CALL_LASX(fn, args) if (CV_CPU_HAS_SUPPORT_LASX) return (opt_LASX::fn args) +# define CV_CPU_CALL_LASX_(fn, args) if (CV_CPU_HAS_SUPPORT_LASX) return (opt_LASX::fn args) +#else +# define CV_TRY_LASX 0 +# define CV_CPU_FORCE_LASX 0 +# define CV_CPU_HAS_SUPPORT_LASX 0 +# define CV_CPU_CALL_LASX(fn, args) +# define CV_CPU_CALL_LASX_(fn, args) +#endif +#define __CV_CPU_DISPATCH_CHAIN_LASX(fn, args, mode, ...) CV_CPU_CALL_LASX(fn, args); __CV_EXPAND(__CV_CPU_DISPATCH_CHAIN_ ## mode(fn, args, __VA_ARGS__)) + +#define CV_CPU_CALL_BASELINE(fn, args) return (cpu_baseline::fn args) +#define __CV_CPU_DISPATCH_CHAIN_BASELINE(fn, args, mode, ...) CV_CPU_CALL_BASELINE(fn, args) /* last in sequence */ diff --git a/camera_lib/include/opencv2/core/cvdef.h b/camera_lib/include/opencv2/core/cvdef.h new file mode 100644 index 0000000..8307ca7 --- /dev/null +++ b/camera_lib/include/opencv2/core/cvdef.h @@ -0,0 +1,974 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CVDEF_H +#define OPENCV_CORE_CVDEF_H + +#include "opencv2/core/version.hpp" + +//! @addtogroup core_utils +//! @{ + +#ifdef OPENCV_INCLUDE_PORT_FILE // User-provided header file with custom platform configuration +#include OPENCV_INCLUDE_PORT_FILE +#endif + +#if !defined CV_DOXYGEN && !defined CV_IGNORE_DEBUG_BUILD_GUARD +#if (defined(_MSC_VER) && (defined(DEBUG) || defined(_DEBUG))) || \ + (defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_DEBUG_PEDANTIC)) +// Guard to prevent using of binary incompatible binaries / runtimes +// https://github.com/opencv/opencv/pull/9161 +#define CV__DEBUG_NS_BEGIN namespace debug_build_guard { +#define CV__DEBUG_NS_END } +namespace cv { namespace debug_build_guard { } using namespace debug_build_guard; } +#endif +#endif + +#ifndef CV__DEBUG_NS_BEGIN +#define CV__DEBUG_NS_BEGIN +#define CV__DEBUG_NS_END +#endif + + +#ifdef __OPENCV_BUILD +#include "cvconfig.h" +#endif + +#ifndef __CV_EXPAND +#define __CV_EXPAND(x) x +#endif + +#ifndef __CV_CAT +#define __CV_CAT__(x, y) x ## y +#define __CV_CAT_(x, y) __CV_CAT__(x, y) +#define __CV_CAT(x, y) __CV_CAT_(x, y) +#endif + +#define __CV_VA_NUM_ARGS_HELPER(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N +#define __CV_VA_NUM_ARGS(...) __CV_EXPAND(__CV_VA_NUM_ARGS_HELPER(__VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)) + +#ifdef CV_Func +// keep current value (through OpenCV port file) +#elif defined __GNUC__ || (defined (__cpluscplus) && (__cpluscplus >= 201103)) +#define CV_Func __func__ +#elif defined __clang__ && (__clang_minor__ * 100 + __clang_major__ >= 305) +#define CV_Func __func__ +#elif defined(__STDC_VERSION__) && (__STDC_VERSION >= 199901) +#define CV_Func __func__ +#elif defined _MSC_VER +#define CV_Func __FUNCTION__ +#elif defined(__INTEL_COMPILER) && (_INTEL_COMPILER >= 600) +#define CV_Func __FUNCTION__ +#elif defined __IBMCPP__ && __IBMCPP__ >=500 +#define CV_Func __FUNCTION__ +#elif defined __BORLAND__ && (__BORLANDC__ >= 0x550) +#define CV_Func __FUNC__ +#else +#define CV_Func "" +#endif + +//! @cond IGNORED + +//////////////// static assert ///////////////// +#define CVAUX_CONCAT_EXP(a, b) a##b +#define CVAUX_CONCAT(a, b) CVAUX_CONCAT_EXP(a,b) + +#if defined(__clang__) +# ifndef __has_extension +# define __has_extension __has_feature /* compatibility, for older versions of clang */ +# endif +# if __has_extension(cxx_static_assert) +# define CV_StaticAssert(condition, reason) static_assert((condition), reason " " #condition) +# elif __has_extension(c_static_assert) +# define CV_StaticAssert(condition, reason) _Static_assert((condition), reason " " #condition) +# endif +#elif defined(__GNUC__) +# if (defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) +# define CV_StaticAssert(condition, reason) static_assert((condition), reason " " #condition) +# endif +#elif defined(_MSC_VER) +# if _MSC_VER >= 1600 /* MSVC 10 */ +# define CV_StaticAssert(condition, reason) static_assert((condition), reason " " #condition) +# endif +#endif +#ifndef CV_StaticAssert +# if !defined(__clang__) && defined(__GNUC__) && (__GNUC__*100 + __GNUC_MINOR__ > 302) +# define CV_StaticAssert(condition, reason) ({ extern int __attribute__((error("CV_StaticAssert: " reason " " #condition))) CV_StaticAssert(); ((condition) ? 0 : CV_StaticAssert()); }) +# else +namespace cv { + template struct CV_StaticAssert_failed; + template <> struct CV_StaticAssert_failed { enum { val = 1 }; }; + template struct CV_StaticAssert_test {}; +} +# define CV_StaticAssert(condition, reason)\ + typedef cv::CV_StaticAssert_test< sizeof(cv::CV_StaticAssert_failed< static_cast(condition) >) > CVAUX_CONCAT(CV_StaticAssert_failed_at_, __LINE__) +# endif +#endif + +// Suppress warning "-Wdeprecated-declarations" / C4996 +#if defined(_MSC_VER) + #define CV_DO_PRAGMA(x) __pragma(x) +#elif defined(__GNUC__) + #define CV_DO_PRAGMA(x) _Pragma (#x) +#else + #define CV_DO_PRAGMA(x) +#endif + +#ifdef _MSC_VER +#define CV_SUPPRESS_DEPRECATED_START \ + CV_DO_PRAGMA(warning(push)) \ + CV_DO_PRAGMA(warning(disable: 4996)) +#define CV_SUPPRESS_DEPRECATED_END CV_DO_PRAGMA(warning(pop)) +#elif defined (__clang__) || ((__GNUC__) && (__GNUC__*100 + __GNUC_MINOR__ > 405)) +#define CV_SUPPRESS_DEPRECATED_START \ + CV_DO_PRAGMA(GCC diagnostic push) \ + CV_DO_PRAGMA(GCC diagnostic ignored "-Wdeprecated-declarations") +#define CV_SUPPRESS_DEPRECATED_END CV_DO_PRAGMA(GCC diagnostic pop) +#else +#define CV_SUPPRESS_DEPRECATED_START +#define CV_SUPPRESS_DEPRECATED_END +#endif + +#define CV_UNUSED(name) (void)name + +//! @endcond + +// undef problematic defines sometimes defined by system headers (windows.h in particular) +#undef small +#undef min +#undef max +#undef abs +#undef Complex + +#if defined __cplusplus +#include +#else +#include +#endif + +#include "opencv2/core/hal/interface.h" + +#if defined __ICL +# define CV_ICC __ICL +#elif defined __ICC +# define CV_ICC __ICC +#elif defined __ECL +# define CV_ICC __ECL +#elif defined __ECC +# define CV_ICC __ECC +#elif defined __INTEL_COMPILER +# define CV_ICC __INTEL_COMPILER +#endif + +#ifndef CV_INLINE +# if defined __cplusplus +# define CV_INLINE static inline +# elif defined _MSC_VER +# define CV_INLINE __inline +# else +# define CV_INLINE static +# endif +#endif + +#ifndef CV_ALWAYS_INLINE +#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +#define CV_ALWAYS_INLINE inline __attribute__((always_inline)) +#elif defined(_MSC_VER) +#define CV_ALWAYS_INLINE __forceinline +#else +#define CV_ALWAYS_INLINE inline +#endif +#endif + +#if defined CV_DISABLE_OPTIMIZATION || (defined CV_ICC && !defined CV_ENABLE_UNROLLED) +# define CV_ENABLE_UNROLLED 0 +#else +# define CV_ENABLE_UNROLLED 1 +#endif + +#ifdef __GNUC__ +# define CV_DECL_ALIGNED(x) __attribute__ ((aligned (x))) +#elif defined _MSC_VER +# define CV_DECL_ALIGNED(x) __declspec(align(x)) +#else +# define CV_DECL_ALIGNED(x) +#endif + +/* CPU features and intrinsics support */ +#define CV_CPU_NONE 0 +#define CV_CPU_MMX 1 +#define CV_CPU_SSE 2 +#define CV_CPU_SSE2 3 +#define CV_CPU_SSE3 4 +#define CV_CPU_SSSE3 5 +#define CV_CPU_SSE4_1 6 +#define CV_CPU_SSE4_2 7 +#define CV_CPU_POPCNT 8 +#define CV_CPU_FP16 9 +#define CV_CPU_AVX 10 +#define CV_CPU_AVX2 11 +#define CV_CPU_FMA3 12 + +#define CV_CPU_AVX_512F 13 +#define CV_CPU_AVX_512BW 14 +#define CV_CPU_AVX_512CD 15 +#define CV_CPU_AVX_512DQ 16 +#define CV_CPU_AVX_512ER 17 +#define CV_CPU_AVX_512IFMA512 18 // deprecated +#define CV_CPU_AVX_512IFMA 18 +#define CV_CPU_AVX_512PF 19 +#define CV_CPU_AVX_512VBMI 20 +#define CV_CPU_AVX_512VL 21 +#define CV_CPU_AVX_512VBMI2 22 +#define CV_CPU_AVX_512VNNI 23 +#define CV_CPU_AVX_512BITALG 24 +#define CV_CPU_AVX_512VPOPCNTDQ 25 +#define CV_CPU_AVX_5124VNNIW 26 +#define CV_CPU_AVX_5124FMAPS 27 + +#define CV_CPU_NEON 100 +#define CV_CPU_NEON_DOTPROD 101 + +#define CV_CPU_MSA 150 + +#define CV_CPU_RISCVV 170 + +#define CV_CPU_VSX 200 +#define CV_CPU_VSX3 201 + +#define CV_CPU_RVV 210 + +#define CV_CPU_LASX 230 + +// CPU features groups +#define CV_CPU_AVX512_SKX 256 +#define CV_CPU_AVX512_COMMON 257 +#define CV_CPU_AVX512_KNL 258 +#define CV_CPU_AVX512_KNM 259 +#define CV_CPU_AVX512_CNL 260 +#define CV_CPU_AVX512_CLX 261 +#define CV_CPU_AVX512_ICL 262 + +// when adding to this list remember to update the following enum +#define CV_HARDWARE_MAX_FEATURE 512 + +/** @brief Available CPU features. +*/ +enum CpuFeatures { + CPU_MMX = 1, + CPU_SSE = 2, + CPU_SSE2 = 3, + CPU_SSE3 = 4, + CPU_SSSE3 = 5, + CPU_SSE4_1 = 6, + CPU_SSE4_2 = 7, + CPU_POPCNT = 8, + CPU_FP16 = 9, + CPU_AVX = 10, + CPU_AVX2 = 11, + CPU_FMA3 = 12, + + CPU_AVX_512F = 13, + CPU_AVX_512BW = 14, + CPU_AVX_512CD = 15, + CPU_AVX_512DQ = 16, + CPU_AVX_512ER = 17, + CPU_AVX_512IFMA512 = 18, // deprecated + CPU_AVX_512IFMA = 18, + CPU_AVX_512PF = 19, + CPU_AVX_512VBMI = 20, + CPU_AVX_512VL = 21, + CPU_AVX_512VBMI2 = 22, + CPU_AVX_512VNNI = 23, + CPU_AVX_512BITALG = 24, + CPU_AVX_512VPOPCNTDQ= 25, + CPU_AVX_5124VNNIW = 26, + CPU_AVX_5124FMAPS = 27, + + CPU_NEON = 100, + CPU_NEON_DOTPROD = 101, + + CPU_MSA = 150, + + CPU_RISCVV = 170, + + CPU_VSX = 200, + CPU_VSX3 = 201, + + CPU_RVV = 210, + + CPU_LASX = 230, + + CPU_AVX512_SKX = 256, //!< Skylake-X with AVX-512F/CD/BW/DQ/VL + CPU_AVX512_COMMON = 257, //!< Common instructions AVX-512F/CD for all CPUs that support AVX-512 + CPU_AVX512_KNL = 258, //!< Knights Landing with AVX-512F/CD/ER/PF + CPU_AVX512_KNM = 259, //!< Knights Mill with AVX-512F/CD/ER/PF/4FMAPS/4VNNIW/VPOPCNTDQ + CPU_AVX512_CNL = 260, //!< Cannon Lake with AVX-512F/CD/BW/DQ/VL/IFMA/VBMI + CPU_AVX512_CLX = 261, //!< Cascade Lake with AVX-512F/CD/BW/DQ/VL/VNNI + CPU_AVX512_ICL = 262, //!< Ice Lake with AVX-512F/CD/BW/DQ/VL/IFMA/VBMI/VNNI/VBMI2/BITALG/VPOPCNTDQ + + CPU_MAX_FEATURE = 512 // see CV_HARDWARE_MAX_FEATURE +}; + + +#include "cv_cpu_dispatch.h" + +#if !defined(CV_STRONG_ALIGNMENT) && defined(__arm__) && !(defined(__aarch64__) || defined(_M_ARM64)) +// int*, int64* should be propertly aligned pointers on ARMv7 +#define CV_STRONG_ALIGNMENT 1 +#endif +#if !defined(CV_STRONG_ALIGNMENT) +#define CV_STRONG_ALIGNMENT 0 +#endif + +/* fundamental constants */ +#define CV_PI 3.1415926535897932384626433832795 +#define CV_2PI 6.283185307179586476925286766559 +#define CV_LOG2 0.69314718055994530941723212145818 + +#if defined __ARM_FP16_FORMAT_IEEE \ + && !defined __CUDACC__ +# define CV_FP16_TYPE 1 +#else +# define CV_FP16_TYPE 0 +#endif + +typedef union Cv16suf +{ + short i; + ushort u; +#if CV_FP16_TYPE + __fp16 h; +#endif +} +Cv16suf; + +typedef union Cv32suf +{ + int i; + unsigned u; + float f; +} +Cv32suf; + +typedef union Cv64suf +{ + int64 i; + uint64 u; + double f; +} +Cv64suf; + +#ifndef OPENCV_ABI_COMPATIBILITY +#define OPENCV_ABI_COMPATIBILITY 400 +#endif + +#ifdef __OPENCV_BUILD +# define DISABLE_OPENCV_3_COMPATIBILITY +# define OPENCV_DISABLE_DEPRECATED_COMPATIBILITY +#endif + +#ifndef CV_EXPORTS +# if (defined _WIN32 || defined WINCE || defined __CYGWIN__) && defined(CVAPI_EXPORTS) +# define CV_EXPORTS __declspec(dllexport) +# elif defined __GNUC__ && __GNUC__ >= 4 && (defined(CVAPI_EXPORTS) || defined(__APPLE__)) +# define CV_EXPORTS __attribute__ ((visibility ("default"))) +# endif +#endif + +#ifndef CV_EXPORTS +# define CV_EXPORTS +#endif + +#ifdef _MSC_VER +# define CV_EXPORTS_TEMPLATE +#else +# define CV_EXPORTS_TEMPLATE CV_EXPORTS +#endif + +#ifndef CV_DEPRECATED +# if defined(__GNUC__) +# define CV_DEPRECATED __attribute__ ((deprecated)) +# elif defined(_MSC_VER) +# define CV_DEPRECATED __declspec(deprecated) +# else +# define CV_DEPRECATED +# endif +#endif + +#ifndef CV_DEPRECATED_EXTERNAL +# if defined(__OPENCV_BUILD) +# define CV_DEPRECATED_EXTERNAL /* nothing */ +# else +# define CV_DEPRECATED_EXTERNAL CV_DEPRECATED +# endif +#endif + + +#ifndef CV_EXTERN_C +# ifdef __cplusplus +# define CV_EXTERN_C extern "C" +# else +# define CV_EXTERN_C +# endif +#endif + +/* special informative macros for wrapper generators */ +#define CV_EXPORTS_W CV_EXPORTS +#define CV_EXPORTS_W_SIMPLE CV_EXPORTS +#define CV_EXPORTS_AS(synonym) CV_EXPORTS +#define CV_EXPORTS_W_MAP CV_EXPORTS +#define CV_EXPORTS_W_PARAMS CV_EXPORTS +#define CV_IN_OUT +#define CV_OUT +#define CV_PROP +#define CV_PROP_RW +#define CV_WRAP +#define CV_WRAP_AS(synonym) +#define CV_WRAP_MAPPABLE(mappable) +#define CV_WRAP_PHANTOM(phantom_header) +#define CV_WRAP_DEFAULT(val) + +/****************************************************************************************\ +* Matrix type (Mat) * +\****************************************************************************************/ + +#define CV_MAT_CN_MASK ((CV_CN_MAX - 1) << CV_CN_SHIFT) +#define CV_MAT_CN(flags) ((((flags) & CV_MAT_CN_MASK) >> CV_CN_SHIFT) + 1) +#define CV_MAT_TYPE_MASK (CV_DEPTH_MAX*CV_CN_MAX - 1) +#define CV_MAT_TYPE(flags) ((flags) & CV_MAT_TYPE_MASK) +#define CV_MAT_CONT_FLAG_SHIFT 14 +#define CV_MAT_CONT_FLAG (1 << CV_MAT_CONT_FLAG_SHIFT) +#define CV_IS_MAT_CONT(flags) ((flags) & CV_MAT_CONT_FLAG) +#define CV_IS_CONT_MAT CV_IS_MAT_CONT +#define CV_SUBMAT_FLAG_SHIFT 15 +#define CV_SUBMAT_FLAG (1 << CV_SUBMAT_FLAG_SHIFT) +#define CV_IS_SUBMAT(flags) ((flags) & CV_MAT_SUBMAT_FLAG) + +/** Size of each channel item, + 0x28442211 = 0010 1000 0100 0100 0010 0010 0001 0001 ~ array of sizeof(arr_type_elem) */ +#define CV_ELEM_SIZE1(type) ((0x28442211 >> CV_MAT_DEPTH(type)*4) & 15) + +#define CV_ELEM_SIZE(type) (CV_MAT_CN(type)*CV_ELEM_SIZE1(type)) + +#ifndef MIN +# define MIN(a,b) ((a) > (b) ? (b) : (a)) +#endif + +#ifndef MAX +# define MAX(a,b) ((a) < (b) ? (b) : (a)) +#endif + +///////////////////////////////////////// Enum operators /////////////////////////////////////// + +/** + +Provides compatibility operators for both classical and C++11 enum classes, +as well as exposing the C++11 enum class members for backwards compatibility + +@code + // Provides operators required for flag enums + CV_ENUM_FLAGS(AccessFlag) + + // Exposes the listed members of the enum class AccessFlag to the current namespace + CV_ENUM_CLASS_EXPOSE(AccessFlag, ACCESS_READ [, ACCESS_WRITE [, ...] ]); +@endcode +*/ + +#define __CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST) \ +static const EnumType MEMBER_CONST = EnumType::MEMBER_CONST; \ + +#define __CV_ENUM_CLASS_EXPOSE_2(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_1(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_3(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_2(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_4(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_3(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_5(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_4(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_6(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_5(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_7(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_6(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_8(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_7(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_CLASS_EXPOSE_9(EnumType, MEMBER_CONST, ...) \ +__CV_ENUM_CLASS_EXPOSE_1(EnumType, MEMBER_CONST); \ +__CV_EXPAND(__CV_ENUM_CLASS_EXPOSE_8(EnumType, __VA_ARGS__)); \ + +#define __CV_ENUM_FLAGS_LOGICAL_NOT(EnumType) \ +static inline bool operator!(const EnumType& val) \ +{ \ + typedef std::underlying_type::type UnderlyingType; \ + return !static_cast(val); \ +} \ + +#define __CV_ENUM_FLAGS_LOGICAL_NOT_EQ(Arg1Type, Arg2Type) \ +static inline bool operator!=(const Arg1Type& a, const Arg2Type& b) \ +{ \ + return static_cast(a) != static_cast(b); \ +} \ + +#define __CV_ENUM_FLAGS_LOGICAL_EQ(Arg1Type, Arg2Type) \ +static inline bool operator==(const Arg1Type& a, const Arg2Type& b) \ +{ \ + return static_cast(a) == static_cast(b); \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_NOT(EnumType) \ +static inline EnumType operator~(const EnumType& val) \ +{ \ + typedef std::underlying_type::type UnderlyingType; \ + return static_cast(~static_cast(val)); \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_OR(EnumType, Arg1Type, Arg2Type) \ +static inline EnumType operator|(const Arg1Type& a, const Arg2Type& b) \ +{ \ + typedef std::underlying_type::type UnderlyingType; \ + return static_cast(static_cast(a) | static_cast(b)); \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_AND(EnumType, Arg1Type, Arg2Type) \ +static inline EnumType operator&(const Arg1Type& a, const Arg2Type& b) \ +{ \ + typedef std::underlying_type::type UnderlyingType; \ + return static_cast(static_cast(a) & static_cast(b)); \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_XOR(EnumType, Arg1Type, Arg2Type) \ +static inline EnumType operator^(const Arg1Type& a, const Arg2Type& b) \ +{ \ + typedef std::underlying_type::type UnderlyingType; \ + return static_cast(static_cast(a) ^ static_cast(b)); \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_OR_EQ(EnumType, Arg1Type) \ +static inline EnumType& operator|=(EnumType& _this, const Arg1Type& val) \ +{ \ + _this = static_cast(static_cast(_this) | static_cast(val)); \ + return _this; \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_AND_EQ(EnumType, Arg1Type) \ +static inline EnumType& operator&=(EnumType& _this, const Arg1Type& val) \ +{ \ + _this = static_cast(static_cast(_this) & static_cast(val)); \ + return _this; \ +} \ + +#define __CV_ENUM_FLAGS_BITWISE_XOR_EQ(EnumType, Arg1Type) \ +static inline EnumType& operator^=(EnumType& _this, const Arg1Type& val) \ +{ \ + _this = static_cast(static_cast(_this) ^ static_cast(val)); \ + return _this; \ +} \ + +#define CV_ENUM_CLASS_EXPOSE(EnumType, ...) \ +__CV_EXPAND(__CV_CAT(__CV_ENUM_CLASS_EXPOSE_, __CV_VA_NUM_ARGS(__VA_ARGS__))(EnumType, __VA_ARGS__)); \ + +#define CV_ENUM_FLAGS(EnumType) \ +__CV_ENUM_FLAGS_LOGICAL_NOT (EnumType) \ +__CV_ENUM_FLAGS_LOGICAL_EQ (EnumType, int) \ +__CV_ENUM_FLAGS_LOGICAL_NOT_EQ (EnumType, int) \ + \ +__CV_ENUM_FLAGS_BITWISE_NOT (EnumType) \ +__CV_ENUM_FLAGS_BITWISE_OR (EnumType, EnumType, EnumType) \ +__CV_ENUM_FLAGS_BITWISE_AND (EnumType, EnumType, EnumType) \ +__CV_ENUM_FLAGS_BITWISE_XOR (EnumType, EnumType, EnumType) \ + \ +__CV_ENUM_FLAGS_BITWISE_OR_EQ (EnumType, EnumType) \ +__CV_ENUM_FLAGS_BITWISE_AND_EQ (EnumType, EnumType) \ +__CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumType, EnumType) \ + +/****************************************************************************************\ +* static analysys * +\****************************************************************************************/ + +// In practice, some macro are not processed correctly (noreturn is not detected). +// We need to use simplified definition for them. +#ifndef CV_STATIC_ANALYSIS +# if defined(__KLOCWORK__) || defined(__clang_analyzer__) || defined(__COVERITY__) +# define CV_STATIC_ANALYSIS 1 +# endif +#else +# if defined(CV_STATIC_ANALYSIS) && !(__CV_CAT(1, CV_STATIC_ANALYSIS) == 1) // defined and not empty +# if 0 == CV_STATIC_ANALYSIS +# undef CV_STATIC_ANALYSIS +# endif +# endif +#endif + +/****************************************************************************************\ +* Thread sanitizer * +\****************************************************************************************/ +#ifndef CV_THREAD_SANITIZER +# if defined(__has_feature) +# if __has_feature(thread_sanitizer) +# define CV_THREAD_SANITIZER +# endif +# endif +#endif + +/****************************************************************************************\ +* exchange-add operation for atomic operations on reference counters * +\****************************************************************************************/ + +#ifdef CV_XADD + // allow to use user-defined macro +#elif defined __GNUC__ || defined __clang__ +# if defined __clang__ && __clang_major__ >= 3 && !defined __ANDROID__ && !defined __EMSCRIPTEN__ && !defined(__CUDACC__) && !defined __INTEL_COMPILER +# ifdef __ATOMIC_ACQ_REL +# define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), delta, __ATOMIC_ACQ_REL) +# else +# define CV_XADD(addr, delta) __atomic_fetch_add((_Atomic(int)*)(addr), delta, 4) +# endif +# else +# if defined __ATOMIC_ACQ_REL && !defined __clang__ + // version for gcc >= 4.7 +# define CV_XADD(addr, delta) (int)__atomic_fetch_add((unsigned*)(addr), (unsigned)(delta), __ATOMIC_ACQ_REL) +# else +# define CV_XADD(addr, delta) (int)__sync_fetch_and_add((unsigned*)(addr), (unsigned)(delta)) +# endif +# endif +#elif defined _MSC_VER && !defined RC_INVOKED +# include +# define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd((long volatile*)addr, delta) +#else + #ifdef OPENCV_FORCE_UNSAFE_XADD + CV_INLINE int CV_XADD(int* addr, int delta) { int tmp = *addr; *addr += delta; return tmp; } + #else + #error "OpenCV: can't define safe CV_XADD macro for current platform (unsupported). Define CV_XADD macro through custom port header (see OPENCV_INCLUDE_PORT_FILE)" + #endif +#endif + + +/****************************************************************************************\ +* CV_NORETURN attribute * +\****************************************************************************************/ + +#ifndef CV_NORETURN +# if defined(__GNUC__) +# define CV_NORETURN __attribute__((__noreturn__)) +# elif defined(_MSC_VER) && (_MSC_VER >= 1300) +# define CV_NORETURN __declspec(noreturn) +# else +# define CV_NORETURN /* nothing by default */ +# endif +#endif + +/****************************************************************************************\ +* CV_NODISCARD_STD attribute (C++17) * +* encourages the compiler to issue a warning if the return value is discarded * +\****************************************************************************************/ +#ifndef CV_NODISCARD_STD +# ifndef __has_cpp_attribute +// workaround preprocessor non-compliance https://reviews.llvm.org/D57851 +# define __has_cpp_attribute(__x) 0 +# endif +# if __has_cpp_attribute(nodiscard) +# define CV_NODISCARD_STD [[nodiscard]] +# elif __cplusplus >= 201703L +// available when compiler is C++17 compliant +# define CV_NODISCARD_STD [[nodiscard]] +# elif defined(__INTEL_COMPILER) + // see above, available when C++17 is enabled +# elif defined(_MSC_VER) && _MSC_VER >= 1911 && _MSVC_LANG >= 201703L +// available with VS2017 v15.3+ with /std:c++17 or higher; works on functions and classes +# define CV_NODISCARD_STD [[nodiscard]] +# elif defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 700) && (__cplusplus >= 201103L) +// available with GCC 7.0+; works on functions, works or silently fails on classes +# define CV_NODISCARD_STD [[nodiscard]] +# elif defined(__GNUC__) && (((__GNUC__ * 100) + __GNUC_MINOR__) >= 408) && (__cplusplus >= 201103L) +// available with GCC 4.8+ but it usually does nothing and can fail noisily -- therefore not used +// define CV_NODISCARD_STD [[gnu::warn_unused_result]] +# endif +#endif +#ifndef CV_NODISCARD_STD +# define CV_NODISCARD_STD /* nothing by default */ +#endif + + +/****************************************************************************************\ +* CV_NODISCARD attribute (deprecated, GCC only) * +* DONT USE: use instead the standard CV_NODISCARD_STD macro above * +* this legacy method silently fails to issue warning until some version * +* after gcc 6.3.0. Yet with gcc 7+ you can use the above standard method * +* which makes this method useless. Don't use it. * +* @deprecated use instead CV_NODISCARD_STD * +\****************************************************************************************/ +#ifndef CV_NODISCARD +# if defined(__GNUC__) +# define CV_NODISCARD __attribute__((__warn_unused_result__)) +# elif defined(__clang__) && defined(__has_attribute) +# if __has_attribute(__warn_unused_result__) +# define CV_NODISCARD __attribute__((__warn_unused_result__)) +# endif +# endif +#endif +#ifndef CV_NODISCARD +# define CV_NODISCARD /* nothing by default */ +#endif + + +/****************************************************************************************\ +* C++ 11 * +\****************************************************************************************/ +#ifndef CV_CXX11 +# if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1800) +# define CV_CXX11 1 +# endif +#else +# if CV_CXX11 == 0 +# undef CV_CXX11 +# endif +#endif +#ifndef CV_CXX11 +# error "OpenCV 4.x+ requires enabled C++11 support" +#endif + +#define CV_CXX_MOVE_SEMANTICS 1 +#define CV_CXX_MOVE(x) std::move(x) +#define CV_CXX_STD_ARRAY 1 +#include +#ifndef CV_OVERRIDE +# define CV_OVERRIDE override +#endif +#ifndef CV_FINAL +# define CV_FINAL final +#endif + +#ifndef CV_NOEXCEPT +# if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900/*MSVS 2015*/) +# define CV_NOEXCEPT noexcept +# endif +#endif +#ifndef CV_NOEXCEPT +# define CV_NOEXCEPT +#endif + +#ifndef CV_CONSTEXPR +# if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900/*MSVS 2015*/) +# define CV_CONSTEXPR constexpr +# endif +#endif +#ifndef CV_CONSTEXPR +# define CV_CONSTEXPR +#endif + +// Integer types portability +#ifdef OPENCV_STDINT_HEADER +#include OPENCV_STDINT_HEADER +#elif defined(__cplusplus) +#if defined(_MSC_VER) && _MSC_VER < 1600 /* MSVS 2010 */ +namespace cv { +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; +} +#elif defined(_MSC_VER) || __cplusplus >= 201103L +#include +namespace cv { +using std::int8_t; +using std::uint8_t; +using std::int16_t; +using std::uint16_t; +using std::int32_t; +using std::uint32_t; +using std::int64_t; +using std::uint64_t; +} +#else +#include +namespace cv { +typedef ::int8_t int8_t; +typedef ::uint8_t uint8_t; +typedef ::int16_t int16_t; +typedef ::uint16_t uint16_t; +typedef ::int32_t int32_t; +typedef ::uint32_t uint32_t; +typedef ::int64_t int64_t; +typedef ::uint64_t uint64_t; +} +#endif +#else // pure C +#include +#endif + +#ifdef __cplusplus +namespace cv +{ + +class float16_t +{ +public: +#if CV_FP16_TYPE + + float16_t() : h(0) {} + explicit float16_t(float x) { h = (__fp16)x; } + operator float() const { return (float)h; } + static float16_t fromBits(ushort w) + { + Cv16suf u; + u.u = w; + float16_t result; + result.h = u.h; + return result; + } + static float16_t zero() + { + float16_t result; + result.h = (__fp16)0; + return result; + } + ushort bits() const + { + Cv16suf u; + u.h = h; + return u.u; + } +protected: + __fp16 h; + +#else + float16_t() : w(0) {} + explicit float16_t(float x) + { + #if CV_FP16 + __m128 v = _mm_load_ss(&x); + w = (ushort)_mm_cvtsi128_si32(_mm_cvtps_ph(v, 0)); + #else + Cv32suf in; + in.f = x; + unsigned sign = in.u & 0x80000000; + in.u ^= sign; + + if( in.u >= 0x47800000 ) + w = (ushort)(in.u > 0x7f800000 ? 0x7e00 : 0x7c00); + else + { + if (in.u < 0x38800000) + { + in.f += 0.5f; + w = (ushort)(in.u - 0x3f000000); + } + else + { + unsigned t = in.u + 0xc8000fff; + w = (ushort)((t + ((in.u >> 13) & 1)) >> 13); + } + } + + w = (ushort)(w | (sign >> 16)); + #endif + } + + operator float() const + { + #if CV_FP16 + float f; + _mm_store_ss(&f, _mm_cvtph_ps(_mm_cvtsi32_si128(w))); + return f; + #else + Cv32suf out; + + unsigned t = ((w & 0x7fff) << 13) + 0x38000000; + unsigned sign = (w & 0x8000) << 16; + unsigned e = w & 0x7c00; + + out.u = t + (1 << 23); + out.u = (e >= 0x7c00 ? t + 0x38000000 : + e == 0 ? (static_cast(out.f -= 6.103515625e-05f), out.u) : t) | sign; + return out.f; + #endif + } + + static float16_t fromBits(ushort b) + { + float16_t result; + result.w = b; + return result; + } + static float16_t zero() + { + float16_t result; + result.w = (ushort)0; + return result; + } + ushort bits() const { return w; } +protected: + ushort w; + +#endif +}; + +} +#endif + +//! @} + +#ifndef __cplusplus +#include "opencv2/core/fast_math.hpp" // define cvRound(double) +#endif + +#endif // OPENCV_CORE_CVDEF_H diff --git a/camera_lib/include/opencv2/core/cvstd.hpp b/camera_lib/include/opencv2/core/cvstd.hpp new file mode 100644 index 0000000..6ce9e4b --- /dev/null +++ b/camera_lib/include/opencv2/core/cvstd.hpp @@ -0,0 +1,190 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CVSTD_HPP +#define OPENCV_CORE_CVSTD_HPP + +#ifndef __cplusplus +# error cvstd.hpp header must be compiled as C++ +#endif + +#include "opencv2/core/cvdef.h" +#include +#include +#include + +#include + +// import useful primitives from stl +# include +# include +# include //for abs(int) +# include + +namespace cv +{ + static inline uchar abs(uchar a) { return a; } + static inline ushort abs(ushort a) { return a; } + static inline unsigned abs(unsigned a) { return a; } + static inline uint64 abs(uint64 a) { return a; } + + using std::min; + using std::max; + using std::abs; + using std::swap; + using std::sqrt; + using std::exp; + using std::pow; + using std::log; +} + +#include "cvstd_wrapper.hpp" + +namespace cv { + +//! @addtogroup core_utils +//! @{ + +//////////////////////////// memory management functions //////////////////////////// + +/** @brief Allocates an aligned memory buffer. + +The function allocates the buffer of the specified size and returns it. When the buffer size is 16 +bytes or more, the returned buffer is aligned to 16 bytes. +@param bufSize Allocated buffer size. + */ +CV_EXPORTS void* fastMalloc(size_t bufSize); + +/** @brief Deallocates a memory buffer. + +The function deallocates the buffer allocated with fastMalloc . If NULL pointer is passed, the +function does nothing. C version of the function clears the pointer *pptr* to avoid problems with +double memory deallocation. +@param ptr Pointer to the allocated buffer. + */ +CV_EXPORTS void fastFree(void* ptr); + +/*! + The STL-compliant memory Allocator based on cv::fastMalloc() and cv::fastFree() +*/ +template class Allocator +{ +public: + typedef _Tp value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + template class rebind { typedef Allocator other; }; + + explicit Allocator() {} + ~Allocator() {} + explicit Allocator(Allocator const&) {} + template + explicit Allocator(Allocator const&) {} + + // address + pointer address(reference r) { return &r; } + const_pointer address(const_reference r) { return &r; } + + pointer allocate(size_type count, const void* =0) { return reinterpret_cast(fastMalloc(count * sizeof (_Tp))); } + void deallocate(pointer p, size_type) { fastFree(p); } + + void construct(pointer p, const _Tp& v) { new(static_cast(p)) _Tp(v); } + void destroy(pointer p) { p->~_Tp(); } + + size_type max_size() const { return cv::max(static_cast<_Tp>(-1)/sizeof(_Tp), 1); } +}; + +//! @} core_utils + +//! @endcond + +//! @addtogroup core_basic +//! @{ + +//////////////////////////////// string class //////////////////////////////// + +class CV_EXPORTS FileNode; //for string constructor from FileNode + +typedef std::string String; + +#ifndef OPENCV_DISABLE_STRING_LOWER_UPPER_CONVERSIONS + +//! @cond IGNORED +namespace details { +// std::tolower is int->int +static inline char char_tolower(char ch) +{ + return (char)std::tolower((int)ch); +} +// std::toupper is int->int +static inline char char_toupper(char ch) +{ + return (char)std::toupper((int)ch); +} +} // namespace details +//! @endcond + +static inline std::string toLowerCase(const std::string& str) +{ + std::string result(str); + std::transform(result.begin(), result.end(), result.begin(), details::char_tolower); + return result; +} + +static inline std::string toUpperCase(const std::string& str) +{ + std::string result(str); + std::transform(result.begin(), result.end(), result.begin(), details::char_toupper); + return result; +} + +#endif // OPENCV_DISABLE_STRING_LOWER_UPPER_CONVERSIONS + +//! @} core_basic +} // cv + +#endif //OPENCV_CORE_CVSTD_HPP diff --git a/camera_lib/include/opencv2/core/cvstd.inl.hpp b/camera_lib/include/opencv2/core/cvstd.inl.hpp new file mode 100644 index 0000000..37ad1e6 --- /dev/null +++ b/camera_lib/include/opencv2/core/cvstd.inl.hpp @@ -0,0 +1,197 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_CVSTDINL_HPP +#define OPENCV_CORE_CVSTDINL_HPP + +#include +#include +#include + +//! @cond IGNORED + +#ifdef _MSC_VER +#pragma warning( push ) +#pragma warning( disable: 4127 ) +#endif + +namespace cv +{ + +template class DataType< std::complex<_Tp> > +{ +public: + typedef std::complex<_Tp> value_type; + typedef value_type work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + depth = DataType::depth, + channels = 2, + fmt = DataType::fmt + ((channels - 1) << 8), + type = CV_MAKETYPE(depth, channels) }; + + typedef Vec vec_type; +}; + +static inline +std::ostream& operator << (std::ostream& out, Ptr fmtd) +{ + fmtd->reset(); + for(const char* str = fmtd->next(); str; str = fmtd->next()) + out << str; + return out; +} + +static inline +std::ostream& operator << (std::ostream& out, const Mat& mtx) +{ + return out << Formatter::get()->format(mtx); +} + +static inline +std::ostream& operator << (std::ostream& out, const UMat& m) +{ + return out << m.getMat(ACCESS_READ); +} + +template static inline +std::ostream& operator << (std::ostream& out, const Complex<_Tp>& c) +{ + return out << "(" << c.re << "," << c.im << ")"; +} + +template static inline +std::ostream& operator << (std::ostream& out, const std::vector >& vec) +{ + return out << Formatter::get()->format(Mat(vec)); +} + + +template static inline +std::ostream& operator << (std::ostream& out, const std::vector >& vec) +{ + return out << Formatter::get()->format(Mat(vec)); +} + + +template static inline +std::ostream& operator << (std::ostream& out, const Matx<_Tp, m, n>& matx) +{ + return out << Formatter::get()->format(Mat(matx)); +} + +template static inline +std::ostream& operator << (std::ostream& out, const Point_<_Tp>& p) +{ + out << "[" << p.x << ", " << p.y << "]"; + return out; +} + +template static inline +std::ostream& operator << (std::ostream& out, const Point3_<_Tp>& p) +{ + out << "[" << p.x << ", " << p.y << ", " << p.z << "]"; + return out; +} + +template static inline +std::ostream& operator << (std::ostream& out, const Vec<_Tp, n>& vec) +{ + out << "["; + if (cv::traits::Depth<_Tp>::value <= CV_32S) + { + for (int i = 0; i < n - 1; ++i) { + out << (int)vec[i] << ", "; + } + out << (int)vec[n-1] << "]"; + } + else + { + for (int i = 0; i < n - 1; ++i) { + out << vec[i] << ", "; + } + out << vec[n-1] << "]"; + } + + return out; +} + +template static inline +std::ostream& operator << (std::ostream& out, const Size_<_Tp>& size) +{ + return out << "[" << size.width << " x " << size.height << "]"; +} + +template static inline +std::ostream& operator << (std::ostream& out, const Rect_<_Tp>& rect) +{ + return out << "[" << rect.width << " x " << rect.height << " from (" << rect.x << ", " << rect.y << ")]"; +} + +static inline std::ostream& operator << (std::ostream& out, const MatSize& msize) +{ + int i, dims = msize.dims(); + for( i = 0; i < dims; i++ ) + { + out << msize[i]; + if( i < dims-1 ) + out << " x "; + } + return out; +} + +static inline std::ostream &operator<< (std::ostream &s, cv::Range &r) +{ + return s << "[" << r.start << " : " << r.end << ")"; +} + +} // cv + +#ifdef _MSC_VER +#pragma warning( pop ) +#endif + +//! @endcond + +#endif // OPENCV_CORE_CVSTDINL_HPP diff --git a/camera_lib/include/opencv2/core/cvstd_wrapper.hpp b/camera_lib/include/opencv2/core/cvstd_wrapper.hpp new file mode 100644 index 0000000..25e0041 --- /dev/null +++ b/camera_lib/include/opencv2/core/cvstd_wrapper.hpp @@ -0,0 +1,154 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_CORE_CVSTD_WRAPPER_HPP +#define OPENCV_CORE_CVSTD_WRAPPER_HPP + +#include "opencv2/core/cvdef.h" + +#include +#include // std::shared_ptr +#include // std::enable_if + +namespace cv { + +using std::nullptr_t; + +//! @addtogroup core_basic +//! @{ + +#ifdef CV_DOXYGEN + +template using Ptr = std::shared_ptr<_Tp>; // In ideal world it should look like this, but we need some compatibility workarounds below + +template static inline +Ptr<_Tp> makePtr(const A1&... a1) { return std::make_shared<_Tp>(a1...); } + +#else // cv::Ptr with compatibility workarounds + +// It should be defined for C-API types only. +// C++ types should use regular "delete" operator. +template struct DefaultDeleter; +#if 0 +{ + void operator()(Y* p) const; +}; +#endif + +namespace sfinae { +template +struct has_parenthesis_operator +{ +private: + template + static CV_CONSTEXPR std::true_type has_parenthesis_operator_check(typename std::is_same().operator()(std::declval()...))>::type, Ret>::type*); + + template static CV_CONSTEXPR std::false_type has_parenthesis_operator_check(...); + + typedef decltype(has_parenthesis_operator_check(0)) type; + +public: +#if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1900/*MSVS 2015*/) + static CV_CONSTEXPR bool value = type::value; +#else + // support MSVS 2013 + static const int value = type::value; +#endif +}; +} // namespace sfinae + +template +struct has_custom_delete + : public std::false_type {}; + +// Force has_custom_delete to std::false_type when NVCC is compiling CUDA source files +#ifndef __CUDACC__ +template +struct has_custom_delete, void, T*>::value >::type > + : public std::true_type {}; +#endif + +template +struct Ptr : public std::shared_ptr +{ +#if 0 + using std::shared_ptr::shared_ptr; // GCC 5.x can't handle this +#else + inline Ptr() CV_NOEXCEPT : std::shared_ptr() {} + inline Ptr(nullptr_t) CV_NOEXCEPT : std::shared_ptr(nullptr) {} + template inline Ptr(Y* p, D d) : std::shared_ptr(p, d) {} + template inline Ptr(nullptr_t, D d) : std::shared_ptr(nullptr, d) {} + + template inline Ptr(const Ptr& r, T* ptr) CV_NOEXCEPT : std::shared_ptr(r, ptr) {} + + inline Ptr(const Ptr& o) CV_NOEXCEPT : std::shared_ptr(o) {} + inline Ptr(Ptr&& o) CV_NOEXCEPT : std::shared_ptr(std::move(o)) {} + + template inline Ptr(const Ptr& o) CV_NOEXCEPT : std::shared_ptr(o) {} + template inline Ptr(Ptr&& o) CV_NOEXCEPT : std::shared_ptr(std::move(o)) {} +#endif + inline Ptr(const std::shared_ptr& o) CV_NOEXCEPT : std::shared_ptr(o) {} + inline Ptr(std::shared_ptr&& o) CV_NOEXCEPT : std::shared_ptr(std::move(o)) {} + + // Overload with custom DefaultDeleter: Ptr(...) + template + inline Ptr(const std::true_type&, Y* ptr) : std::shared_ptr(ptr, DefaultDeleter()) {} + + // Overload without custom deleter: Ptr(...); + template + inline Ptr(const std::false_type&, Y* ptr) : std::shared_ptr(ptr) {} + + template + inline Ptr(Y* ptr) : Ptr(has_custom_delete(), ptr) {} + + // Overload with custom DefaultDeleter: Ptr(...) + template + inline void reset(const std::true_type&, Y* ptr) { std::shared_ptr::reset(ptr, DefaultDeleter()); } + + // Overload without custom deleter: Ptr(...); + template + inline void reset(const std::false_type&, Y* ptr) { std::shared_ptr::reset(ptr); } + + template + inline void reset(Y* ptr) { Ptr::reset(has_custom_delete(), ptr); } + + template + void reset(Y* ptr, Deleter d) { std::shared_ptr::reset(ptr, d); } + + void reset() CV_NOEXCEPT { std::shared_ptr::reset(); } + + Ptr& operator=(const Ptr& o) { std::shared_ptr::operator =(o); return *this; } + template inline Ptr& operator=(const Ptr& o) { std::shared_ptr::operator =(o); return *this; } + + T* operator->() const CV_NOEXCEPT { return std::shared_ptr::get();} + typename std::add_lvalue_reference::type operator*() const CV_NOEXCEPT { return *std::shared_ptr::get(); } + + // OpenCV 3.x methods (not a part of standard C++ library) + inline void release() { std::shared_ptr::reset(); } + inline operator T* () const { return std::shared_ptr::get(); } + inline bool empty() const { return std::shared_ptr::get() == nullptr; } + + template inline + Ptr staticCast() const CV_NOEXCEPT { return std::static_pointer_cast(*this); } + + template inline + Ptr constCast() const CV_NOEXCEPT { return std::const_pointer_cast(*this); } + + template inline + Ptr dynamicCast() const CV_NOEXCEPT { return std::dynamic_pointer_cast(*this); } +}; + +template static inline +Ptr<_Tp> makePtr(const A1&... a1) +{ + static_assert( !has_custom_delete<_Tp>::value, "Can't use this makePtr with custom DefaultDeleter"); + return (Ptr<_Tp>)std::make_shared<_Tp>(a1...); +} + +#endif // CV_DOXYGEN + +//! @} core_basic +} // cv + +#endif //OPENCV_CORE_CVSTD_WRAPPER_HPP diff --git a/camera_lib/include/opencv2/core/directx.hpp b/camera_lib/include/opencv2/core/directx.hpp new file mode 100644 index 0000000..056a85a --- /dev/null +++ b/camera_lib/include/opencv2/core/directx.hpp @@ -0,0 +1,184 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors as is and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the copyright holders or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_DIRECTX_HPP +#define OPENCV_CORE_DIRECTX_HPP + +#include "mat.hpp" +#include "ocl.hpp" + +#if !defined(__d3d11_h__) +struct ID3D11Device; +struct ID3D11Texture2D; +#endif + +#if !defined(__d3d10_h__) +struct ID3D10Device; +struct ID3D10Texture2D; +#endif + +#if !defined(_D3D9_H_) +struct IDirect3DDevice9; +struct IDirect3DDevice9Ex; +struct IDirect3DSurface9; +#endif + + +namespace cv { namespace directx { + +namespace ocl { +using namespace cv::ocl; + +//! @addtogroup core_directx +// This section describes OpenCL and DirectX interoperability. +// +// To enable DirectX support, configure OpenCV using CMake with WITH_DIRECTX=ON . Note, DirectX is +// supported only on Windows. +// +// To use OpenCL functionality you should first initialize OpenCL context from DirectX resource. +// +//! @{ + +// TODO static functions in the Context class +//! @brief Creates OpenCL context from D3D11 device +// +//! @param pD3D11Device - pointer to D3D11 device +//! @return Returns reference to OpenCL Context +CV_EXPORTS Context& initializeContextFromD3D11Device(ID3D11Device* pD3D11Device); + +//! @brief Creates OpenCL context from D3D10 device +// +//! @param pD3D10Device - pointer to D3D10 device +//! @return Returns reference to OpenCL Context +CV_EXPORTS Context& initializeContextFromD3D10Device(ID3D10Device* pD3D10Device); + +//! @brief Creates OpenCL context from Direct3DDevice9Ex device +// +//! @param pDirect3DDevice9Ex - pointer to Direct3DDevice9Ex device +//! @return Returns reference to OpenCL Context +CV_EXPORTS Context& initializeContextFromDirect3DDevice9Ex(IDirect3DDevice9Ex* pDirect3DDevice9Ex); + +//! @brief Creates OpenCL context from Direct3DDevice9 device +// +//! @param pDirect3DDevice9 - pointer to Direct3Device9 device +//! @return Returns reference to OpenCL Context +CV_EXPORTS Context& initializeContextFromDirect3DDevice9(IDirect3DDevice9* pDirect3DDevice9); + +//! @} + +} // namespace cv::directx::ocl + +//! @addtogroup core_directx +//! @{ + +//! @brief Converts InputArray to ID3D11Texture2D. If destination texture format is DXGI_FORMAT_NV12 then +//! input UMat expected to be in BGR format and data will be downsampled and color-converted to NV12. +// +//! @note Note: Destination texture must be allocated by application. Function does memory copy from src to +//! pD3D11Texture2D +// +//! @param src - source InputArray +//! @param pD3D11Texture2D - destination D3D11 texture +CV_EXPORTS void convertToD3D11Texture2D(InputArray src, ID3D11Texture2D* pD3D11Texture2D); + +//! @brief Converts ID3D11Texture2D to OutputArray. If input texture format is DXGI_FORMAT_NV12 then +//! data will be upsampled and color-converted to BGR format. +// +//! @note Note: Destination matrix will be re-allocated if it has not enough memory to match texture size. +//! function does memory copy from pD3D11Texture2D to dst +// +//! @param pD3D11Texture2D - source D3D11 texture +//! @param dst - destination OutputArray +CV_EXPORTS void convertFromD3D11Texture2D(ID3D11Texture2D* pD3D11Texture2D, OutputArray dst); + +//! @brief Converts InputArray to ID3D10Texture2D +// +//! @note Note: function does memory copy from src to +//! pD3D10Texture2D +// +//! @param src - source InputArray +//! @param pD3D10Texture2D - destination D3D10 texture +CV_EXPORTS void convertToD3D10Texture2D(InputArray src, ID3D10Texture2D* pD3D10Texture2D); + +//! @brief Converts ID3D10Texture2D to OutputArray +// +//! @note Note: function does memory copy from pD3D10Texture2D +//! to dst +// +//! @param pD3D10Texture2D - source D3D10 texture +//! @param dst - destination OutputArray +CV_EXPORTS void convertFromD3D10Texture2D(ID3D10Texture2D* pD3D10Texture2D, OutputArray dst); + +//! @brief Converts InputArray to IDirect3DSurface9 +// +//! @note Note: function does memory copy from src to +//! pDirect3DSurface9 +// +//! @param src - source InputArray +//! @param pDirect3DSurface9 - destination D3D10 texture +//! @param surfaceSharedHandle - shared handle +CV_EXPORTS void convertToDirect3DSurface9(InputArray src, IDirect3DSurface9* pDirect3DSurface9, void* surfaceSharedHandle = NULL); + +//! @brief Converts IDirect3DSurface9 to OutputArray +// +//! @note Note: function does memory copy from pDirect3DSurface9 +//! to dst +// +//! @param pDirect3DSurface9 - source D3D10 texture +//! @param dst - destination OutputArray +//! @param surfaceSharedHandle - shared handle +CV_EXPORTS void convertFromDirect3DSurface9(IDirect3DSurface9* pDirect3DSurface9, OutputArray dst, void* surfaceSharedHandle = NULL); + +//! @brief Get OpenCV type from DirectX type +//! @param iDXGI_FORMAT - enum DXGI_FORMAT for D3D10/D3D11 +//! @return OpenCV type or -1 if there is no equivalent +CV_EXPORTS int getTypeFromDXGI_FORMAT(const int iDXGI_FORMAT); // enum DXGI_FORMAT for D3D10/D3D11 + +//! @brief Get OpenCV type from DirectX type +//! @param iD3DFORMAT - enum D3DTYPE for D3D9 +//! @return OpenCV type or -1 if there is no equivalent +CV_EXPORTS int getTypeFromD3DFORMAT(const int iD3DFORMAT); // enum D3DTYPE for D3D9 + +//! @} + +} } // namespace cv::directx + +#endif // OPENCV_CORE_DIRECTX_HPP diff --git a/camera_lib/include/opencv2/core/dualquaternion.hpp b/camera_lib/include/opencv2/core/dualquaternion.hpp new file mode 100644 index 0000000..1f644e9 --- /dev/null +++ b/camera_lib/include/opencv2/core/dualquaternion.hpp @@ -0,0 +1,979 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2020, Huawei Technologies Co., Ltd. All rights reserved. +// Third party copyrights are property of their respective owners. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Author: Liangqian Kong +// Longbu Wang +#ifndef OPENCV_CORE_DUALQUATERNION_HPP +#define OPENCV_CORE_DUALQUATERNION_HPP + +#include +#include + +namespace cv{ +//! @addtogroup core +//! @{ + +template class DualQuat; +template std::ostream& operator<<(std::ostream&, const DualQuat<_Tp>&); + +/** + * Dual quaternions were introduced to describe rotation together with translation while ordinary + * quaternions can only describe rotation. It can be used for shortest path pose interpolation, + * local pose optimization or volumetric deformation. More details can be found + * - https://en.wikipedia.org/wiki/Dual_quaternion + * - ["A beginners guide to dual-quaternions: what they are, how they work, and how to use them for 3D character hierarchies", Ben Kenwright, 2012](https://borodust.org/public/shared/beginner_dual_quats.pdf) + * - ["Dual Quaternions", Yan-Bin Jia, 2013](http://web.cs.iastate.edu/~cs577/handouts/dual-quaternion.pdf) + * - ["Geometric Skinning with Approximate Dual Quaternion Blending", Kavan, 2008](https://www.cs.utah.edu/~ladislav/kavan08geometric/kavan08geometric) + * - http://rodolphe-vaillant.fr/?e=29 + * + * A unit dual quaternion can be classically represented as: + * \f[ + * \begin{equation} + * \begin{split} + * \sigma &= \left(r+\frac{\epsilon}{2}tr\right)\\ + * &= [w, x, y, z, w\_, x\_, y\_, z\_] + * \end{split} + * \end{equation} + * \f] + * where \f$r, t\f$ represents the rotation (ordinary unit quaternion) and translation (pure ordinary quaternion) respectively. + * + * A general dual quaternions which consist of two quaternions is usually represented in form of: + * \f[ + * \sigma = p + \epsilon q + * \f] + * where the introduced dual unit \f$\epsilon\f$ satisfies \f$\epsilon^2 = \epsilon^3 =...=0\f$, and \f$p, q\f$ are quaternions. + * + * Alternatively, dual quaternions can also be interpreted as four components which are all [dual numbers](https://www.cs.utah.edu/~ladislav/kavan08geometric/kavan08geometric): + * \f[ + * \sigma = \hat{q}_w + \hat{q}_xi + \hat{q}_yj + \hat{q}_zk + * \f] + * If we set \f$\hat{q}_x, \hat{q}_y\f$ and \f$\hat{q}_z\f$ equal to 0, a dual quaternion is transformed to a dual number. see normalize(). + * + * If you want to create a dual quaternion, you can use: + * + * ``` + * using namespace cv; + * double angle = CV_PI; + * + * // create from eight number + * DualQuatd dq1(1, 2, 3, 4, 5, 6, 7, 8); //p = [1,2,3,4]. q=[5,6,7,8] + * + * // create from Vec + * Vec v{1,2,3,4,5,6,7,8}; + * DualQuatd dq_v{v}; + * + * // create from two quaternion + * Quatd p(1, 2, 3, 4); + * Quatd q(5, 6, 7, 8); + * DualQuatd dq2 = DualQuatd::createFromQuat(p, q); + * + * // create from an angle, an axis and a translation + * Vec3d axis{0, 0, 1}; + * Vec3d trans{3, 4, 5}; + * DualQuatd dq3 = DualQuatd::createFromAngleAxisTrans(angle, axis, trans); + * + * // If you already have an instance of class Affine3, then you can use + * Affine3d R = dq3.toAffine3(); + * DualQuatd dq4 = DualQuatd::createFromAffine3(R); + * + * // or create directly by affine transformation matrix Rt + * // see createFromMat() in detail for the form of Rt + * Matx44d Rt = dq3.toMat(); + * DualQuatd dq5 = DualQuatd::createFromMat(Rt); + * + * // Any rotation + translation movement can + * // be expressed as a rotation + translation around the same line in space (expressed by Plucker + * // coords), and here's a way to represent it this way. + * Vec3d axis{1, 1, 1}; // axis will be normalized in createFromPitch + * Vec3d trans{3, 4 ,5}; + * axis = axis / std::sqrt(axis.dot(axis));// The formula for computing moment that I use below requires a normalized axis + * Vec3d moment = 1.0 / 2 * (trans.cross(axis) + axis.cross(trans.cross(axis)) * + * std::cos(rotation_angle / 2) / std::sin(rotation_angle / 2)); + * double d = trans.dot(qaxis); + * DualQuatd dq6 = DualQuatd::createFromPitch(angle, d, axis, moment); + * ``` + * + * A point \f$v=(x, y, z)\f$ in form of dual quaternion is \f$[1+\epsilon v]=[1,0,0,0,0,x,y,z]\f$. + * The transformation of a point \f$v_1\f$ to another point \f$v_2\f$ under the dual quaternion \f$\sigma\f$ is + * \f[ + * 1 + \epsilon v_2 = \sigma * (1 + \epsilon v_1) * \sigma^{\star} + * \f] + * where \f$\sigma^{\star}=p^*-\epsilon q^*.\f$ + * + * A line in the \f$Pl\ddot{u}cker\f$ coordinates \f$(\hat{l}, m)\f$ defined by the dual quaternion \f$l=\hat{l}+\epsilon m\f$. + * To transform a line, \f[l_2 = \sigma * l_1 * \sigma^*,\f] where \f$\sigma=r+\frac{\epsilon}{2}rt\f$ and + * \f$\sigma^*=p^*+\epsilon q^*\f$. + * + * To extract the Vec or Vec, see toVec(); + * + * To extract the affine transformation matrix, see toMat(); + * + * To extract the instance of Affine3, see toAffine3(); + * + * If two quaternions \f$q_0, q_1\f$ are needed to be interpolated, you can use sclerp() + * ``` + * DualQuatd::sclerp(q0, q1, t) + * ``` + * or dqblend(). + * ``` + * DualQuatd::dqblend(q0, q1, t) + * ``` + * With more than two dual quaternions to be blended, you can use generalize linear dual quaternion blending + * with the corresponding weights, i.e. gdqblend(). + * + */ +template +class CV_EXPORTS DualQuat{ + static_assert(std::is_floating_point<_Tp>::value, "Dual quaternion only make sense with type of float or double"); + using value_type = _Tp; + +public: + static constexpr _Tp CV_DUAL_QUAT_EPS = (_Tp)1.e-6; + + DualQuat(); + + /** + * @brief create from eight same type numbers. + */ + DualQuat(const _Tp w, const _Tp x, const _Tp y, const _Tp z, const _Tp w_, const _Tp x_, const _Tp y_, const _Tp z_); + + /** + * @brief create from a double or float vector. + */ + DualQuat(const Vec<_Tp, 8> &q); + + _Tp w, x, y, z, w_, x_, y_, z_; + + /** + * @brief create Dual Quaternion from two same type quaternions p and q. + * A Dual Quaternion \f$\sigma\f$ has the form: + * \f[\sigma = p + \epsilon q\f] + * where p and q are defined as follows: + * \f[\begin{equation} + * \begin{split} + * p &= w + x\boldsymbol{i} + y\boldsymbol{j} + z\boldsymbol{k}\\ + * q &= w\_ + x\_\boldsymbol{i} + y\_\boldsymbol{j} + z\_\boldsymbol{k}. + * \end{split} + * \end{equation} + * \f] + * The p and q are the real part and dual part respectively. + * @param realPart a quaternion, real part of dual quaternion. + * @param dualPart a quaternion, dual part of dual quaternion. + * @sa Quat + */ + static DualQuat<_Tp> createFromQuat(const Quat<_Tp> &realPart, const Quat<_Tp> &dualPart); + + /** + * @brief create a dual quaternion from a rotation angle \f$\theta\f$, a rotation axis + * \f$\boldsymbol{u}\f$ and a translation \f$\boldsymbol{t}\f$. + * It generates a dual quaternion \f$\sigma\f$ in the form of + * \f[\begin{equation} + * \begin{split} + * \sigma &= r + \frac{\epsilon}{2}\boldsymbol{t}r \\ + * &= [\cos(\frac{\theta}{2}), \boldsymbol{u}\sin(\frac{\theta}{2})] + * + \frac{\epsilon}{2}[0, \boldsymbol{t}][[\cos(\frac{\theta}{2}), + * \boldsymbol{u}\sin(\frac{\theta}{2})]]\\ + * &= \cos(\frac{\theta}{2}) + \boldsymbol{u}\sin(\frac{\theta}{2}) + * + \frac{\epsilon}{2}(-(\boldsymbol{t} \cdot \boldsymbol{u})\sin(\frac{\theta}{2}) + * + \boldsymbol{t}\cos(\frac{\theta}{2}) + \boldsymbol{u} \times \boldsymbol{t} \sin(\frac{\theta}{2})). + * \end{split} + * \end{equation}\f] + * @param angle rotation angle. + * @param axis rotation axis. + * @param translation a vector of length 3. + * @note Axis will be normalized in this function. And translation is applied + * after the rotation. Use @ref createFromQuat(r, r * t / 2) to create a dual quaternion + * which translation is applied before rotation. + * @sa Quat + */ + static DualQuat<_Tp> createFromAngleAxisTrans(const _Tp angle, const Vec<_Tp, 3> &axis, const Vec<_Tp, 3> &translation); + + /** + * @brief Transform this dual quaternion to an affine transformation matrix \f$M\f$. + * Dual quaternion consists of a rotation \f$r=[a,b,c,d]\f$ and a translation \f$t=[\Delta x,\Delta y,\Delta z]\f$. The + * affine transformation matrix \f$M\f$ has the form + * \f[ + * \begin{bmatrix} + * 1-2(e_2^2 +e_3^2) &2(e_1e_2-e_0e_3) &2(e_0e_2+e_1e_3) &\Delta x\\ + * 2(e_0e_3+e_1e_2) &1-2(e_1^2+e_3^2) &2(e_2e_3-e_0e_1) &\Delta y\\ + * 2(e_1e_3-e_0e_2) &2(e_0e_1+e_2e_3) &1-2(e_1^2-e_2^2) &\Delta z\\ + * 0&0&0&1 + * \end{bmatrix} + * \f] + * if A is a matrix consisting of n points to be transformed, this could be achieved by + * \f[ + * new\_A = M * A + * \f] + * where A has the form + * \f[ + * \begin{bmatrix} + * x_0& x_1& x_2&...&x_n\\ + * y_0& y_1& y_2&...&y_n\\ + * z_0& z_1& z_2&...&z_n\\ + * 1&1&1&...&1 + * \end{bmatrix} + * \f] + * where the same subscript represent the same point. The size of A should be \f$[4,n]\f$. + * and the same size for matrix new_A. + * @param _R 4x4 matrix that represents rotations and translation. + * @note Translation is applied after the rotation. Use createFromQuat(r, r * t / 2) to create + * a dual quaternion which translation is applied before rotation. + */ + static DualQuat<_Tp> createFromMat(InputArray _R); + + /** + * @brief create dual quaternion from an affine matrix. The definition of affine matrix can refer to createFromMat() + */ + static DualQuat<_Tp> createFromAffine3(const Affine3<_Tp> &R); + + /** + * @brief A dual quaternion is a vector in form of + * \f[ + * \begin{equation} + * \begin{split} + * \sigma &=\boldsymbol{p} + \epsilon \boldsymbol{q}\\ + * &= \cos\hat{\frac{\theta}{2}}+\overline{\hat{l}}\sin\frac{\hat{\theta}}{2} + * \end{split} + * \end{equation} + * \f] + * where \f$\hat{\theta}\f$ is dual angle and \f$\overline{\hat{l}}\f$ is dual axis: + * \f[ + * \hat{\theta}=\theta + \epsilon d,\\ + * \overline{\hat{l}}= \hat{l} +\epsilon m. + * \f] + * In this representation, \f$\theta\f$ is rotation angle and \f$(\hat{l},m)\f$ is the screw axis, d is the translation distance along the axis. + * + * @param angle rotation angle. + * @param d translation along the rotation axis. + * @param axis rotation axis represented by quaternion with w = 0. + * @param moment the moment of line, and it should be orthogonal to axis. + * @note Translation is applied after the rotation. Use createFromQuat(r, r * t / 2) to create + * a dual quaternion which translation is applied before rotation. + */ + static DualQuat<_Tp> createFromPitch(const _Tp angle, const _Tp d, const Vec<_Tp, 3> &axis, const Vec<_Tp, 3> &moment); + + /** + * @brief return a quaternion which represent the real part of dual quaternion. + * The definition of real part is in createFromQuat(). + * @sa createFromQuat, getDualPart + */ + Quat<_Tp> getRealPart() const; + + /** + * @brief return a quaternion which represent the dual part of dual quaternion. + * The definition of dual part is in createFromQuat(). + * @sa createFromQuat, getRealPart + */ + Quat<_Tp> getDualPart() const; + + /** + * @brief return the conjugate of a dual quaternion. + * \f[ + * \begin{equation} + * \begin{split} + * \sigma^* &= (p + \epsilon q)^* + * &= (p^* + \epsilon q^*) + * \end{split} + * \end{equation} + * \f] + * @param dq a dual quaternion. + */ + template + friend DualQuat conjugate(const DualQuat &dq); + + /** + * @brief return the conjugate of a dual quaternion. + * \f[ + * \begin{equation} + * \begin{split} + * \sigma^* &= (p + \epsilon q)^* + * &= (p^* + \epsilon q^*) + * \end{split} + * \end{equation} + * \f] + */ + DualQuat<_Tp> conjugate() const; + + /** + * @brief return the rotation in quaternion form. + */ + Quat<_Tp> getRotation(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the translation vector. + * The rotation \f$r\f$ in this dual quaternion \f$\sigma\f$ is applied before translation \f$t\f$. + * The dual quaternion \f$\sigma\f$ is defined as + * \f[\begin{equation} + * \begin{split} + * \sigma &= p + \epsilon q \\ + * &= r + \frac{\epsilon}{2}{t}r. + * \end{split} + * \end{equation}\f] + * Thus, the translation can be obtained as follows + * \f[t = 2qp^*.\f] + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a unit dual quaternion + * and this function will save some computations. + * @note This dual quaternion's translation is applied after the rotation. + */ + Vec<_Tp, 3> getTranslation(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the norm \f$||\sigma||\f$ of dual quaternion \f$\sigma = p + \epsilon q\f$. + * \f[ + * \begin{equation} + * \begin{split} + * ||\sigma|| &= \sqrt{\sigma * \sigma^*} \\ + * &= ||p|| + \epsilon \frac{p \cdot q}{||p||}. + * \end{split} + * \end{equation} + * \f] + * Generally speaking, the norm of a not unit dual + * quaternion is a dual number. For convenience, we return it in the form of a dual quaternion + * , i.e. + * \f[ ||\sigma|| = [||p||, 0, 0, 0, \frac{p \cdot q}{||p||}, 0, 0, 0].\f] + * + * @note The data type of dual number is dual quaternion. + */ + DualQuat<_Tp> norm() const; + + /** + * @brief return a normalized dual quaternion. + * A dual quaternion can be expressed as + * \f[ + * \begin{equation} + * \begin{split} + * \sigma &= p + \epsilon q\\ + * &=||\sigma||\left(r+\frac{1}{2}tr\right) + * \end{split} + * \end{equation} + * \f] + * where \f$r, t\f$ represents the rotation (ordinary quaternion) and translation (pure ordinary quaternion) respectively, + * and \f$||\sigma||\f$ is the norm of dual quaternion(a dual number). + * A dual quaternion is unit if and only if + * \f[ + * ||p||=1, p \cdot q=0 + * \f] + * where \f$\cdot\f$ means dot product. + * The process of normalization is + * \f[ + * \sigma_{u}=\frac{\sigma}{||\sigma||} + * \f] + * Next, we simply proof \f$\sigma_u\f$ is a unit dual quaternion: + * \f[ + * \renewcommand{\Im}{\operatorname{Im}} + * \begin{equation} + * \begin{split} + * \sigma_{u}=\frac{\sigma}{||\sigma||}&=\frac{p + \epsilon q}{||p||+\epsilon\frac{p\cdot q}{||p||}}\\ + * &=\frac{p}{||p||}+\epsilon\left(\frac{q}{||p||}-p\frac{p\cdot q}{||p||^3}\right)\\ + * &=\frac{p}{||p||}+\epsilon\frac{1}{||p||^2}\left(qp^{*}-p\cdot q\right)\frac{p}{||p||}\\ + * &=\frac{p}{||p||}+\epsilon\frac{1}{||p||^2}\Im(qp^*)\frac{p}{||p||}.\\ + * \end{split} + * \end{equation} + * \f] + * As expected, the real part is a rotation and dual part is a pure quaternion. + */ + DualQuat<_Tp> normalize() const; + + /** + * @brief if \f$\sigma = p + \epsilon q\f$ is a dual quaternion, p is not zero, + * the inverse dual quaternion is + * \f[\sigma^{-1} = \frac{\sigma^*}{||\sigma||^2}, \f] + * or equivalentlly, + * \f[\sigma^{-1} = p^{-1} - \epsilon p^{-1}qp^{-1}.\f] + * @param dq a dual quaternion. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, dual quaternion dq assume to be a unit dual quaternion + * and this function will save some computations. + */ + template + friend DualQuat inv(const DualQuat &dq, QuatAssumeType assumeUnit); + + /** + * @brief if \f$\sigma = p + \epsilon q\f$ is a dual quaternion, p is not zero, + * the inverse dual quaternion is + * \f[\sigma^{-1} = \frac{\sigma^*}{||\sigma||^2}, \f] + * or equivalentlly, + * \f[\sigma^{-1} = p^{-1} - \epsilon p^{-1}qp^{-1}.\f] + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a unit dual quaternion + * and this function will save some computations. + */ + DualQuat<_Tp> inv(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the dot product of two dual quaternion. + * @param p other dual quaternion. + */ + _Tp dot(DualQuat<_Tp> p) const; + + /** + ** @brief return the value of \f$p^t\f$ where p is a dual quaternion. + * This could be calculated as: + * \f[ + * p^t = \exp(t\ln p) + * \f] + * @param dq a dual quaternion. + * @param t index of power function. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, dual quaternion dq assume to be a unit dual quaternion + * and this function will save some computations. + */ + template + friend DualQuat power(const DualQuat &dq, const T t, QuatAssumeType assumeUnit); + + /** + ** @brief return the value of \f$p^t\f$ where p is a dual quaternion. + * This could be calculated as: + * \f[ + * p^t = \exp(t\ln p) + * \f] + * + * @param t index of power function. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a unit dual quaternion + * and this function will save some computations. + */ + DualQuat<_Tp> power(const _Tp t, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the value of \f$p^q\f$ where p and q are dual quaternions. + * This could be calculated as: + * \f[ + * p^q = \exp(q\ln p) + * \f] + * @param p a dual quaternion. + * @param q a dual quaternion. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, dual quaternion p assume to be a dual unit quaternion + * and this function will save some computations. + */ + template + friend DualQuat power(const DualQuat& p, const DualQuat& q, QuatAssumeType assumeUnit); + + /** + * @brief return the value of \f$p^q\f$ where p and q are dual quaternions. + * This could be calculated as: + * \f[ + * p^q = \exp(q\ln p) + * \f] + * + * @param q a dual quaternion + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a dual unit quaternion + * and this function will save some computations. + */ + DualQuat<_Tp> power(const DualQuat<_Tp>& q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the value of exponential function value + * @param dq a dual quaternion. + */ + template + friend DualQuat exp(const DualQuat &dq); + + /** + * @brief return the value of exponential function value + */ + DualQuat<_Tp> exp() const; + + /** + * @brief return the value of logarithm function value + * + * @param dq a dual quaternion. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, dual quaternion dq assume to be a unit dual quaternion + * and this function will save some computations. + */ + template + friend DualQuat log(const DualQuat &dq, QuatAssumeType assumeUnit); + + /** + * @brief return the value of logarithm function value + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a unit dual quaternion + * and this function will save some computations. + */ + DualQuat<_Tp> log(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief Transform this dual quaternion to a vector. + */ + Vec<_Tp, 8> toVec() const; + + /** + * @brief Transform this dual quaternion to a affine transformation matrix + * the form of matrix, see createFromMat(). + */ + Matx<_Tp, 4, 4> toMat(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief Transform this dual quaternion to a instance of Affine3. + */ + Affine3<_Tp> toAffine3(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief The screw linear interpolation(ScLERP) is an extension of spherical linear interpolation of dual quaternion. + * If \f$\sigma_1\f$ and \f$\sigma_2\f$ are two dual quaternions representing the initial and final pose. + * The interpolation of ScLERP function can be defined as: + * \f[ + * ScLERP(t;\sigma_1,\sigma_2) = \sigma_1 * (\sigma_1^{-1} * \sigma_2)^t, t\in[0,1] + * \f] + * + * @param q1 a dual quaternion represents a initial pose. + * @param q2 a dual quaternion represents a final pose. + * @param t interpolation parameter + * @param directChange if true, it always return the shortest path. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a unit dual quaternion + * and this function will save some computations. + * + * For example + * ``` + * double angle1 = CV_PI / 2; + * Vec3d axis{0, 0, 1}; + * Vec3d t(0, 0, 3); + * DualQuatd initial = DualQuatd::createFromAngleAxisTrans(angle1, axis, t); + * double angle2 = CV_PI; + * DualQuatd final = DualQuatd::createFromAngleAxisTrans(angle2, axis, t); + * DualQuatd inter = DualQuatd::sclerp(initial, final, 0.5); + * ``` + */ + static DualQuat<_Tp> sclerp(const DualQuat<_Tp> &q1, const DualQuat<_Tp> &q2, const _Tp t, + bool directChange=true, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + /** + * @brief The method of Dual Quaternion linear Blending(DQB) is to compute a transformation between dual quaternion + * \f$q_1\f$ and \f$q_2\f$ and can be defined as: + * \f[ + * DQB(t;{\boldsymbol{q}}_1,{\boldsymbol{q}}_2)= + * \frac{(1-t){\boldsymbol{q}}_1+t{\boldsymbol{q}}_2}{||(1-t){\boldsymbol{q}}_1+t{\boldsymbol{q}}_2||}. + * \f] + * where \f$q_1\f$ and \f$q_2\f$ are unit dual quaternions representing the input transformations. + * If you want to use DQB that works for more than two rigid transformations, see @ref gdqblend + * + * @param q1 a unit dual quaternion representing the input transformations. + * @param q2 a unit dual quaternion representing the input transformations. + * @param t parameter \f$t\in[0,1]\f$. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, this dual quaternion assume to be a unit dual quaternion + * and this function will save some computations. + * + * @sa gdqblend + */ + static DualQuat<_Tp> dqblend(const DualQuat<_Tp> &q1, const DualQuat<_Tp> &q2, const _Tp t, + QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + + /** + * @brief The generalized Dual Quaternion linear Blending works for more than two rigid transformations. + * If these transformations are expressed as unit dual quaternions \f$q_1,...,q_n\f$ with convex weights + * \f$w = (w_1,...,w_n)\f$, the generalized DQB is simply + * \f[ + * gDQB(\boldsymbol{w};{\boldsymbol{q}}_1,...,{\boldsymbol{q}}_n)=\frac{w_1{\boldsymbol{q}}_1+...+w_n{\boldsymbol{q}}_n} + * {||w_1{\boldsymbol{q}}_1+...+w_n{\boldsymbol{q}}_n||}. + * \f] + * @param dualquat vector of dual quaternions + * @param weights vector of weights, the size of weights should be the same as dualquat, and the weights should + * satisfy \f$\sum_0^n w_{i} = 1\f$ and \f$w_i>0\f$. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, these dual quaternions assume to be unit quaternions + * and this function will save some computations. + * @note the type of weights' element should be the same as the date type of dual quaternion inside the dualquat. + */ + template + static DualQuat<_Tp> gdqblend(const Vec, cn> &dualquat, InputArray weights, + QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + + /** + * @brief The generalized Dual Quaternion linear Blending works for more than two rigid transformations. + * If these transformations are expressed as unit dual quaternions \f$q_1,...,q_n\f$ with convex weights + * \f$w = (w_1,...,w_n)\f$, the generalized DQB is simply + * \f[ + * gDQB(\boldsymbol{w};{\boldsymbol{q}}_1,...,{\boldsymbol{q}}_n)=\frac{w_1{\boldsymbol{q}}_1+...+w_n{\boldsymbol{q}}_n} + * {||w_1{\boldsymbol{q}}_1+...+w_n{\boldsymbol{q}}_n||}. + * \f] + * @param dualquat The dual quaternions which have 8 channels and 1 row or 1 col. + * @param weights vector of weights, the size of weights should be the same as dualquat, and the weights should + * satisfy \f$\sum_0^n w_{i} = 1\f$ and \f$w_i>0\f$. + * @param assumeUnit if @ref QUAT_ASSUME_UNIT, these dual quaternions assume to be unit quaternions + * and this function will save some computations. + * @note the type of weights' element should be the same as the date type of dual quaternion inside the dualquat. + */ + static DualQuat<_Tp> gdqblend(InputArray dualquat, InputArray weights, + QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + + /** + * @brief Return opposite dual quaternion \f$-p\f$ + * which satisfies \f$p + (-p) = 0.\f$ + * + * For example + * ``` + * DualQuatd q{1, 2, 3, 4, 5, 6, 7, 8}; + * std::cout << -q << std::endl; // [-1, -2, -3, -4, -5, -6, -7, -8] + * ``` + */ + DualQuat<_Tp> operator-() const; + + /** + * @brief return true if two dual quaternions p and q are nearly equal, i.e. when the absolute + * value of each \f$p_i\f$ and \f$q_i\f$ is less than CV_DUAL_QUAT_EPS. + */ + bool operator==(const DualQuat<_Tp>&) const; + + /** + * @brief Subtraction operator of two dual quaternions p and q. + * It returns a new dual quaternion that each value is the sum of \f$p_i\f$ and \f$-q_i\f$. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * std::cout << p - q << std::endl; //[-4, -4, -4, -4, 4, -4, -4, -4] + * ``` + */ + DualQuat<_Tp> operator-(const DualQuat<_Tp>&) const; + + /** + * @brief Subtraction assignment operator of two dual quaternions p and q. + * It subtracts right operand from the left operand and assign the result to left operand. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * p -= q; // equivalent to p = p - q + * std::cout << p << std::endl; //[-4, -4, -4, -4, 4, -4, -4, -4] + * + * ``` + */ + DualQuat<_Tp>& operator-=(const DualQuat<_Tp>&); + + /** + * @brief Addition operator of two dual quaternions p and q. + * It returns a new dual quaternion that each value is the sum of \f$p_i\f$ and \f$q_i\f$. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * std::cout << p + q << std::endl; //[6, 8, 10, 12, 14, 16, 18, 20] + * ``` + */ + DualQuat<_Tp> operator+(const DualQuat<_Tp>&) const; + + /** + * @brief Addition assignment operator of two dual quaternions p and q. + * It adds right operand to the left operand and assign the result to left operand. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * p += q; // equivalent to p = p + q + * std::cout << p << std::endl; //[6, 8, 10, 12, 14, 16, 18, 20] + * + * ``` + */ + DualQuat<_Tp>& operator+=(const DualQuat<_Tp>&); + + /** + * @brief Multiplication assignment operator of two quaternions. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of dual quaternion multiplication: + * The dual quaternion can be written as an ordered pair of quaternions [A, B]. Thus + * \f[ + * \begin{equation} + * \begin{split} + * p * q &= [A, B][C, D]\\ + * &=[AC, AD + BC] + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * p *= q; + * std::cout << p << std::endl; //[-60, 12, 30, 24, -216, 80, 124, 120] + * ``` + */ + DualQuat<_Tp>& operator*=(const DualQuat<_Tp>&); + + /** + * @brief Multiplication assignment operator of a quaternions and a scalar. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of dual quaternion multiplication with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p * s &= [w, x, y, z, w\_, x\_, y\_, z\_] * s\\ + * &=[w s, x s, y s, z s, w\_ \space s, x\_ \space s, y\_ \space s, z\_ \space s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double s = 2.0; + * p *= s; + * std::cout << p << std::endl; //[2, 4, 6, 8, 10, 12, 14, 16] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + DualQuat<_Tp> operator*=(const _Tp s); + + + /** + * @brief Multiplication operator of two dual quaternions q and p. + * Multiplies values on either side of the operator. + * + * Rule of dual quaternion multiplication: + * The dual quaternion can be written as an ordered pair of quaternions [A, B]. Thus + * \f[ + * \begin{equation} + * \begin{split} + * p * q &= [A, B][C, D]\\ + * &=[AC, AD + BC] + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * std::cout << p * q << std::endl; //[-60, 12, 30, 24, -216, 80, 124, 120] + * ``` + */ + DualQuat<_Tp> operator*(const DualQuat<_Tp>&) const; + + /** + * @brief Division operator of a dual quaternions and a scalar. + * It divides left operand with the right operand and assign the result to left operand. + * + * Rule of dual quaternion division with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p / s &= [w, x, y, z, w\_, x\_, y\_, z\_] / s\\ + * &=[w/s, x/s, y/s, z/s, w\_/s, x\_/s, y\_/s, z\_/s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double s = 2.0; + * p /= s; // equivalent to p = p / s + * std::cout << p << std::endl; //[0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4] + * ``` + * @note the type of scalar should be equal to this dual quaternion. + */ + DualQuat<_Tp> operator/(const _Tp s) const; + + /** + * @brief Division operator of two dual quaternions p and q. + * Divides left hand operand by right hand operand. + * + * Rule of dual quaternion division with a dual quaternion: + * \f[ + * \begin{equation} + * \begin{split} + * p / q &= p * q.inv()\\ + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * std::cout << p / q << std::endl; // equivalent to p * q.inv() + * ``` + */ + DualQuat<_Tp> operator/(const DualQuat<_Tp>&) const; + + /** + * @brief Division assignment operator of two dual quaternions p and q; + * It divides left operand with the right operand and assign the result to left operand. + * + * Rule of dual quaternion division with a quaternion: + * \f[ + * \begin{equation} + * \begin{split} + * p / q&= p * q.inv()\\ + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * DualQuatd q{5, 6, 7, 8, 9, 10, 11, 12}; + * p /= q; // equivalent to p = p * q.inv() + * std::cout << p << std::endl; + * ``` + */ + DualQuat<_Tp>& operator/=(const DualQuat<_Tp>&); + + /** + * @brief Division assignment operator of a dual quaternions and a scalar. + * It divides left operand with the right operand and assign the result to left operand. + * + * Rule of dual quaternion division with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p / s &= [w, x, y, z, w\_, x\_, y\_ ,z\_] / s\\ + * &=[w / s, x / s, y / s, z / s, w\_ / \space s, x\_ / \space s, y\_ / \space s, z\_ / \space s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double s = 2.0;; + * p /= s; // equivalent to p = p / s + * std::cout << p << std::endl; //[0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + Quat<_Tp>& operator/=(const _Tp s); + + /** + * @brief Addition operator of a scalar and a dual quaternions. + * Adds right hand operand from left hand operand. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double scalar = 2.0; + * std::cout << scalar + p << std::endl; //[3.0, 2, 3, 4, 5, 6, 7, 8] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + template + friend DualQuat cv::operator+(const T s, const DualQuat&); + + /** + * @brief Addition operator of a dual quaternions and a scalar. + * Adds right hand operand from left hand operand. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double scalar = 2.0; + * std::cout << p + scalar << std::endl; //[3.0, 2, 3, 4, 5, 6, 7, 8] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + template + friend DualQuat cv::operator+(const DualQuat&, const T s); + + /** + * @brief Multiplication operator of a scalar and a dual quaternions. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of dual quaternion multiplication with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p * s &= [w, x, y, z, w\_, x\_, y\_, z\_] * s\\ + * &=[w s, x s, y s, z s, w\_ \space s, x\_ \space s, y\_ \space s, z\_ \space s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double s = 2.0; + * std::cout << s * p << std::endl; //[2, 4, 6, 8, 10, 12, 14, 16] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + template + friend DualQuat cv::operator*(const T s, const DualQuat&); + + /** + * @brief Subtraction operator of a dual quaternion and a scalar. + * Subtracts right hand operand from left hand operand. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double scalar = 2.0; + * std::cout << p - scalar << std::endl; //[-1, 2, 3, 4, 5, 6, 7, 8] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + template + friend DualQuat cv::operator-(const DualQuat&, const T s); + + /** + * @brief Subtraction operator of a scalar and a dual quaternions. + * Subtracts right hand operand from left hand operand. + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double scalar = 2.0; + * std::cout << scalar - p << std::endl; //[1.0, -2, -3, -4, -5, -6, -7, -8] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + template + friend DualQuat cv::operator-(const T s, const DualQuat&); + + /** + * @brief Multiplication operator of a dual quaternions and a scalar. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of dual quaternion multiplication with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p * s &= [w, x, y, z, w\_, x\_, y\_, z\_] * s\\ + * &=[w s, x s, y s, z s, w\_ \space s, x\_ \space s, y\_ \space s, z\_ \space s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * DualQuatd p{1, 2, 3, 4, 5, 6, 7, 8}; + * double s = 2.0; + * std::cout << p * s << std::endl; //[2, 4, 6, 8, 10, 12, 14, 16] + * ``` + * @note the type of scalar should be equal to the dual quaternion. + */ + template + friend DualQuat cv::operator*(const DualQuat&, const T s); + + template + friend std::ostream& cv::operator<<(std::ostream&, const DualQuat&); + +}; + +using DualQuatd = DualQuat; +using DualQuatf = DualQuat; + +//! @} core +}//namespace + +#include "dualquaternion.inl.hpp" + +#endif /* OPENCV_CORE_QUATERNION_HPP */ diff --git a/camera_lib/include/opencv2/core/dualquaternion.inl.hpp b/camera_lib/include/opencv2/core/dualquaternion.inl.hpp new file mode 100644 index 0000000..6abb159 --- /dev/null +++ b/camera_lib/include/opencv2/core/dualquaternion.inl.hpp @@ -0,0 +1,487 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2020, Huawei Technologies Co., Ltd. All rights reserved. +// Third party copyrights are property of their respective owners. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Author: Liangqian Kong +// Longbu Wang + +#ifndef OPENCV_CORE_DUALQUATERNION_INL_HPP +#define OPENCV_CORE_DUALQUATERNION_INL_HPP + +#ifndef OPENCV_CORE_DUALQUATERNION_HPP +#error This is not a standalone header. Include dualquaternion.hpp instead. +#endif + +/////////////////////////////////////////////////////////////////////////////////////// +//Implementation +namespace cv { + +template +DualQuat::DualQuat():w(0), x(0), y(0), z(0), w_(0), x_(0), y_(0), z_(0){}; + +template +DualQuat::DualQuat(const T vw, const T vx, const T vy, const T vz, const T _w, const T _x, const T _y, const T _z): + w(vw), x(vx), y(vy), z(vz), w_(_w), x_(_x), y_(_y), z_(_z){}; + +template +DualQuat::DualQuat(const Vec &q):w(q[0]), x(q[1]), y(q[2]), z(q[3]), + w_(q[4]), x_(q[5]), y_(q[6]), z_(q[7]){}; + +template +DualQuat DualQuat::createFromQuat(const Quat &realPart, const Quat &dualPart) +{ + T w = realPart.w; + T x = realPart.x; + T y = realPart.y; + T z = realPart.z; + T w_ = dualPart.w; + T x_ = dualPart.x; + T y_ = dualPart.y; + T z_ = dualPart.z; + return DualQuat(w, x, y, z, w_, x_, y_, z_); +} + +template +DualQuat DualQuat::createFromAngleAxisTrans(const T angle, const Vec &axis, const Vec &trans) +{ + Quat r = Quat::createFromAngleAxis(angle, axis); + Quat t{0, trans[0], trans[1], trans[2]}; + return createFromQuat(r, t * r * T(0.5)); +} + +template +DualQuat DualQuat::createFromMat(InputArray _R) +{ + CV_CheckTypeEQ(_R.type(), cv::traits::Type::value, ""); + if (_R.size() != Size(4, 4)) + { + CV_Error(Error::StsBadArg, "The input matrix must have 4 columns and 4 rows"); + } + Mat R = _R.getMat(); + Quat r = Quat::createFromRotMat(R.colRange(0, 3).rowRange(0, 3)); + Quat trans(0, R.at(0, 3), R.at(1, 3), R.at(2, 3)); + return createFromQuat(r, trans * r * T(0.5)); +} + +template +DualQuat DualQuat::createFromAffine3(const Affine3 &R) +{ + return createFromMat(R.matrix); +} + +template +DualQuat DualQuat::createFromPitch(const T angle, const T d, const Vec &axis, const Vec &moment) +{ + T half_angle = angle * T(0.5), half_d = d * T(0.5); + Quat qaxis = Quat(0, axis[0], axis[1], axis[2]).normalize(); + Quat qmoment = Quat(0, moment[0], moment[1], moment[2]); + qmoment -= qaxis * axis.dot(moment); + Quat dual = -half_d * std::sin(half_angle) + std::sin(half_angle) * qmoment + + half_d * std::cos(half_angle) * qaxis; + return createFromQuat(Quat::createFromAngleAxis(angle, axis), dual); +} + +template +inline bool DualQuat::operator==(const DualQuat &q) const +{ + return (abs(w - q.w) < CV_DUAL_QUAT_EPS && abs(x - q.x) < CV_DUAL_QUAT_EPS && + abs(y - q.y) < CV_DUAL_QUAT_EPS && abs(z - q.z) < CV_DUAL_QUAT_EPS && + abs(w_ - q.w_) < CV_DUAL_QUAT_EPS && abs(x_ - q.x_) < CV_DUAL_QUAT_EPS && + abs(y_ - q.y_) < CV_DUAL_QUAT_EPS && abs(z_ - q.z_) < CV_DUAL_QUAT_EPS); +} + +template +inline Quat DualQuat::getRealPart() const +{ + return Quat(w, x, y, z); +} + +template +inline Quat DualQuat::getDualPart() const +{ + return Quat(w_, x_, y_, z_); +} + +template +inline DualQuat conjugate(const DualQuat &dq) +{ + return dq.conjugate(); +} + +template +inline DualQuat DualQuat::conjugate() const +{ + return DualQuat(w, -x, -y, -z, w_, -x_, -y_, -z_); +} + +template +DualQuat DualQuat::norm() const +{ + Quat real = getRealPart(); + T realNorm = real.norm(); + Quat dual = getDualPart(); + if (realNorm < CV_DUAL_QUAT_EPS){ + return DualQuat(0, 0, 0, 0, 0, 0, 0, 0); + } + return DualQuat(realNorm, 0, 0, 0, real.dot(dual) / realNorm, 0, 0, 0); +} + +template +inline Quat DualQuat::getRotation(QuatAssumeType assumeUnit) const +{ + if (assumeUnit) + { + return getRealPart(); + } + return getRealPart().normalize(); +} + +template +inline Vec DualQuat::getTranslation(QuatAssumeType assumeUnit) const +{ + Quat trans = T(2.0) * (getDualPart() * getRealPart().inv(assumeUnit)); + return Vec{trans[1], trans[2], trans[3]}; +} + +template +DualQuat DualQuat::normalize() const +{ + Quat p = getRealPart(); + Quat q = getDualPart(); + T p_norm = p.norm(); + if (p_norm < CV_DUAL_QUAT_EPS) + { + CV_Error(Error::StsBadArg, "Cannot normalize this dual quaternion: the norm is too small."); + } + Quat p_nr = p / p_norm; + Quat q_nr = q / p_norm; + return createFromQuat(p_nr, q_nr - p_nr * p_nr.dot(q_nr)); +} + +template +inline T DualQuat::dot(DualQuat q) const +{ + return q.w * w + q.x * x + q.y * y + q.z * z + q.w_ * w_ + q.x_ * x_ + q.y_ * y_ + q.z_ * z_; +} + +template +inline DualQuat inv(const DualQuat &dq, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) +{ + return dq.inv(assumeUnit); +} + +template +inline DualQuat DualQuat::inv(QuatAssumeType assumeUnit) const +{ + Quat real = getRealPart(); + Quat dual = getDualPart(); + return createFromQuat(real.inv(assumeUnit), -real.inv(assumeUnit) * dual * real.inv(assumeUnit)); +} + +template +inline DualQuat DualQuat::operator-(const DualQuat &q) const +{ + return DualQuat(w - q.w, x - q.x, y - q.y, z - q.z, w_ - q.w_, x_ - q.x_, y_ - q.y_, z_ - q.z_); +} + +template +inline DualQuat DualQuat::operator-() const +{ + return DualQuat(-w, -x, -y, -z, -w_, -x_, -y_, -z_); +} + +template +inline DualQuat DualQuat::operator+(const DualQuat &q) const +{ + return DualQuat(w + q.w, x + q.x, y + q.y, z + q.z, w_ + q.w_, x_ + q.x_, y_ + q.y_, z_ + q.z_); +} + +template +inline DualQuat& DualQuat::operator+=(const DualQuat &q) +{ + *this = *this + q; + return *this; +} + +template +inline DualQuat DualQuat::operator*(const DualQuat &q) const +{ + Quat A = getRealPart(); + Quat B = getDualPart(); + Quat C = q.getRealPart(); + Quat D = q.getDualPart(); + return DualQuat::createFromQuat(A * C, A * D + B * C); +} + +template +inline DualQuat& DualQuat::operator*=(const DualQuat &q) +{ + *this = *this * q; + return *this; +} + +template +inline DualQuat operator+(const T a, const DualQuat &q) +{ + return DualQuat(a + q.w, q.x, q.y, q.z, q.w_, q.x_, q.y_, q.z_); +} + +template +inline DualQuat operator+(const DualQuat &q, const T a) +{ + return DualQuat(a + q.w, q.x, q.y, q.z, q.w_, q.x_, q.y_, q.z_); +} + +template +inline DualQuat operator-(const DualQuat &q, const T a) +{ + return DualQuat(q.w - a, q.x, q.y, q.z, q.w_, q.x_, q.y_, q.z_); +} + +template +inline DualQuat& DualQuat::operator-=(const DualQuat &q) +{ + *this = *this - q; + return *this; +} + +template +inline DualQuat operator-(const T a, const DualQuat &q) +{ + return DualQuat(a - q.w, -q.x, -q.y, -q.z, -q.w_, -q.x_, -q.y_, -q.z_); +} + +template +inline DualQuat operator*(const T a, const DualQuat &q) +{ + return DualQuat(q.w * a, q.x * a, q.y * a, q.z * a, q.w_ * a, q.x_ * a, q.y_ * a, q.z_ * a); +} + +template +inline DualQuat operator*(const DualQuat &q, const T a) +{ + return DualQuat(q.w * a, q.x * a, q.y * a, q.z * a, q.w_ * a, q.x_ * a, q.y_ * a, q.z_ * a); +} + +template +inline DualQuat DualQuat::operator/(const T a) const +{ + return DualQuat(w / a, x / a, y / a, z / a, w_ / a, x_ / a, y_ / a, z_ / a); +} + +template +inline DualQuat DualQuat::operator/(const DualQuat &q) const +{ + return *this * q.inv(); +} + +template +inline DualQuat& DualQuat::operator/=(const DualQuat &q) +{ + *this = *this / q; + return *this; +} + +template +std::ostream & operator<<(std::ostream &os, const DualQuat &q) +{ + os << "DualQuat " << Vec{q.w, q.x, q.y, q.z, q.w_, q.x_, q.y_, q.z_}; + return os; +} + +template +inline DualQuat exp(const DualQuat &dq) +{ + return dq.exp(); +} + +namespace detail { + +template +Matx<_Tp, 4, 4> jacob_exp(const Quat<_Tp> &q) +{ + _Tp nv = std::sqrt(q.x * q.x + q.y * q.y + q.z * q.z); + _Tp sinc_nv = abs(nv) < cv::DualQuat<_Tp>::CV_DUAL_QUAT_EPS ? _Tp(1.0) - nv * nv * _Tp(1.0/6.0) : std::sin(nv) / nv; + _Tp csiii_nv = abs(nv) < cv::DualQuat<_Tp>::CV_DUAL_QUAT_EPS ? -_Tp(1.0/3.0) : (std::cos(nv) - sinc_nv) / nv / nv; + Matx<_Tp, 4, 4> J_exp_quat { + std::cos(nv), -sinc_nv * q.x, -sinc_nv * q.y, -sinc_nv * q.z, + sinc_nv * q.x, csiii_nv * q.x * q.x + sinc_nv, csiii_nv * q.x * q.y, csiii_nv * q.x * q.z, + sinc_nv * q.y, csiii_nv * q.y * q.x, csiii_nv * q.y * q.y + sinc_nv, csiii_nv * q.y * q.z, + sinc_nv * q.z, csiii_nv * q.z * q.x, csiii_nv * q.z * q.y, csiii_nv * q.z * q.z + sinc_nv + }; + return std::exp(q.w) * J_exp_quat; +} + +} // namespace detail + +template +DualQuat DualQuat::exp() const +{ + Quat real = getRealPart(); + return createFromQuat(real.exp(), Quat(detail::jacob_exp(real) * getDualPart().toVec())); +} + +template +DualQuat log(const DualQuat &dq, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) +{ + return dq.log(assumeUnit); +} + +template +DualQuat DualQuat::log(QuatAssumeType assumeUnit) const +{ + Quat plog = getRealPart().log(assumeUnit); + Matx jacob = detail::jacob_exp(plog); + return createFromQuat(plog, Quat(jacob.inv() * getDualPart().toVec())); +} + +template +inline DualQuat power(const DualQuat &dq, const T t, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) +{ + return dq.power(t, assumeUnit); +} + +template +inline DualQuat DualQuat::power(const T t, QuatAssumeType assumeUnit) const +{ + return (t * log(assumeUnit)).exp(); +} + +template +inline DualQuat power(const DualQuat &p, const DualQuat &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) +{ + return p.power(q, assumeUnit); +} + +template +inline DualQuat DualQuat::power(const DualQuat &q, QuatAssumeType assumeUnit) const +{ + return (q * log(assumeUnit)).exp(); +} + +template +inline Vec DualQuat::toVec() const +{ + return Vec(w, x, y, z, w_, x_, y_, z_); +} + +template +Affine3 DualQuat::toAffine3(QuatAssumeType assumeUnit) const +{ + return Affine3(toMat(assumeUnit)); +} + +template +Matx DualQuat::toMat(QuatAssumeType assumeUnit) const +{ + Matx rot44 = getRotation(assumeUnit).toRotMat4x4(); + Vec translation = getTranslation(assumeUnit); + rot44(0, 3) = translation[0]; + rot44(1, 3) = translation[1]; + rot44(2, 3) = translation[2]; + return rot44; +} + +template +DualQuat DualQuat::sclerp(const DualQuat &q0, const DualQuat &q1, const T t, bool directChange, QuatAssumeType assumeUnit) +{ + DualQuat v0(q0), v1(q1); + if (!assumeUnit) + { + v0 = v0.normalize(); + v1 = v1.normalize(); + } + Quat v0Real = v0.getRealPart(); + Quat v1Real = v1.getRealPart(); + if (directChange && v1Real.dot(v0Real) < 0) + { + v0 = -v0; + } + DualQuat v0inv1 = v0.inv() * v1; + return v0 * v0inv1.power(t, QUAT_ASSUME_UNIT); +} + +template +DualQuat DualQuat::dqblend(const DualQuat &q1, const DualQuat &q2, const T t, QuatAssumeType assumeUnit) +{ + DualQuat v1(q1), v2(q2); + if (!assumeUnit) + { + v1 = v1.normalize(); + v2 = v2.normalize(); + } + if (v1.getRotation(assumeUnit).dot(v2.getRotation(assumeUnit)) < 0) + { + return ((1 - t) * v1 - t * v2).normalize(); + } + return ((1 - t) * v1 + t * v2).normalize(); +} + +template +DualQuat DualQuat::gdqblend(InputArray _dualquat, InputArray _weight, QuatAssumeType assumeUnit) +{ + CV_CheckTypeEQ(_weight.type(), cv::traits::Type::value, ""); + CV_CheckTypeEQ(_dualquat.type(), CV_MAKETYPE(CV_MAT_DEPTH(cv::traits::Type::value), 8), ""); + Size dq_s = _dualquat.size(); + if (dq_s != _weight.size() || (dq_s.height != 1 && dq_s.width != 1)) + { + CV_Error(Error::StsBadArg, "The size of weight must be the same as dualquat, both of them should be (1, n) or (n, 1)"); + } + Mat dualquat = _dualquat.getMat(), weight = _weight.getMat(); + const int cn = std::max(dq_s.width, dq_s.height); + if (!assumeUnit) + { + for (int i = 0; i < cn; ++i) + { + dualquat.at>(i) = DualQuat{dualquat.at>(i)}.normalize().toVec(); + } + } + Vec dq_blend = dualquat.at>(0) * weight.at(0); + Quat q0 = DualQuat {dualquat.at>(0)}.getRotation(assumeUnit); + for (int i = 1; i < cn; ++i) + { + T k = q0.dot(DualQuat{dualquat.at>(i)}.getRotation(assumeUnit)) < 0 ? -1: 1; + dq_blend = dq_blend + dualquat.at>(i) * k * weight.at(i); + } + return DualQuat{dq_blend}.normalize(); +} + +template +template +DualQuat DualQuat::gdqblend(const Vec, cn> &_dualquat, InputArray _weight, QuatAssumeType assumeUnit) +{ + Vec, cn> dualquat(_dualquat); + if (cn == 0) + { + return DualQuat(1, 0, 0, 0, 0, 0, 0, 0); + } + Mat dualquat_mat(cn, 1, CV_64FC(8)); + for (int i = 0; i < cn ; ++i) + { + dualquat_mat.at>(i) = dualquat[i].toVec(); + } + return gdqblend(dualquat_mat, _weight, assumeUnit); +} + +} //namespace cv + +#endif /*OPENCV_CORE_DUALQUATERNION_INL_HPP*/ diff --git a/camera_lib/include/opencv2/core/eigen.hpp b/camera_lib/include/opencv2/core/eigen.hpp new file mode 100644 index 0000000..f176409 --- /dev/null +++ b/camera_lib/include/opencv2/core/eigen.hpp @@ -0,0 +1,404 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + + +#ifndef OPENCV_CORE_EIGEN_HPP +#define OPENCV_CORE_EIGEN_HPP + +#ifndef EIGEN_WORLD_VERSION +#error "Wrong usage of OpenCV's Eigen utility header. Include Eigen's headers first. See https://github.com/opencv/opencv/issues/17366" +#endif + +#include "opencv2/core.hpp" + +#if defined _MSC_VER && _MSC_VER >= 1200 +#ifndef NOMINMAX +#define NOMINMAX // fix https://github.com/opencv/opencv/issues/17548 +#endif +#pragma warning( disable: 4714 ) //__forceinline is not inlined +#pragma warning( disable: 4127 ) //conditional expression is constant +#pragma warning( disable: 4244 ) //conversion from '__int64' to 'int', possible loss of data +#endif + +#if !defined(OPENCV_DISABLE_EIGEN_TENSOR_SUPPORT) +#if EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION >= 3 \ + && defined(CV_CXX11) && defined(CV_CXX_STD_ARRAY) +#include +#define OPENCV_EIGEN_TENSOR_SUPPORT 1 +#endif // EIGEN_WORLD_VERSION == 3 && EIGEN_MAJOR_VERSION >= 3 +#endif // !defined(OPENCV_DISABLE_EIGEN_TENSOR_SUPPORT) + +namespace cv +{ + +/** @addtogroup core_eigen +These functions are provided for OpenCV-Eigen interoperability. They convert `Mat` +objects to corresponding `Eigen::Matrix` objects and vice-versa. Consult the [Eigen +documentation](https://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.html) for +information about the `Matrix` template type. + +@note Using these functions requires the `Eigen/Dense` or similar header to be +included before this header. +*/ +//! @{ + +#if defined(OPENCV_EIGEN_TENSOR_SUPPORT) || defined(CV_DOXYGEN) +/** @brief Converts an Eigen::Tensor to a cv::Mat. + +The method converts an Eigen::Tensor with shape (H x W x C) to a cv::Mat where: + H = number of rows + W = number of columns + C = number of channels + +Usage: +\code +Eigen::Tensor a_tensor(...); +// populate tensor with values +Mat a_mat; +eigen2cv(a_tensor, a_mat); +\endcode +*/ +template static inline +void eigen2cv( const Eigen::Tensor<_Tp, 3, _layout> &src, OutputArray dst ) +{ + if( !(_layout & Eigen::RowMajorBit) ) + { + const std::array shuffle{2, 1, 0}; + Eigen::Tensor<_Tp, 3, !_layout> row_major_tensor = src.swap_layout().shuffle(shuffle); + Mat _src(src.dimension(0), src.dimension(1), CV_MAKETYPE(DataType<_Tp>::type, src.dimension(2)), row_major_tensor.data()); + _src.copyTo(dst); + } + else + { + Mat _src(src.dimension(0), src.dimension(1), CV_MAKETYPE(DataType<_Tp>::type, src.dimension(2)), (void *)src.data()); + _src.copyTo(dst); + } +} + +/** @brief Converts a cv::Mat to an Eigen::Tensor. + +The method converts a cv::Mat to an Eigen Tensor with shape (H x W x C) where: + H = number of rows + W = number of columns + C = number of channels + +Usage: +\code +Mat a_mat(...); +// populate Mat with values +Eigen::Tensor a_tensor(...); +cv2eigen(a_mat, a_tensor); +\endcode +*/ +template static inline +void cv2eigen( const Mat &src, Eigen::Tensor<_Tp, 3, _layout> &dst ) +{ + if( !(_layout & Eigen::RowMajorBit) ) + { + Eigen::Tensor<_Tp, 3, !_layout> row_major_tensor(src.rows, src.cols, src.channels()); + Mat _dst(src.rows, src.cols, CV_MAKETYPE(DataType<_Tp>::type, src.channels()), row_major_tensor.data()); + if (src.type() == _dst.type()) + src.copyTo(_dst); + else + src.convertTo(_dst, _dst.type()); + const std::array shuffle{2, 1, 0}; + dst = row_major_tensor.swap_layout().shuffle(shuffle); + } + else + { + dst.resize(src.rows, src.cols, src.channels()); + Mat _dst(src.rows, src.cols, CV_MAKETYPE(DataType<_Tp>::type, src.channels()), dst.data()); + if (src.type() == _dst.type()) + src.copyTo(_dst); + else + src.convertTo(_dst, _dst.type()); + } +} + +/** @brief Maps cv::Mat data to an Eigen::TensorMap. + +The method wraps an existing Mat data array with an Eigen TensorMap of shape (H x W x C) where: + H = number of rows + W = number of columns + C = number of channels + +Explicit instantiation of the return type is required. + +@note Caller should be aware of the lifetime of the cv::Mat instance and take appropriate safety measures. +The cv::Mat instance will retain ownership of the data and the Eigen::TensorMap will lose access when the cv::Mat data is deallocated. + +The example below initializes a cv::Mat and produces an Eigen::TensorMap: +\code +float arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; +Mat a_mat(2, 2, CV_32FC3, arr); +Eigen::TensorMap> a_tensormap = cv2eigen_tensormap(a_mat); +\endcode +*/ +template static inline +Eigen::TensorMap> cv2eigen_tensormap(InputArray src) +{ + Mat mat = src.getMat(); + CV_CheckTypeEQ(mat.type(), CV_MAKETYPE(traits::Type<_Tp>::value, mat.channels()), ""); + return Eigen::TensorMap>((_Tp *)mat.data, mat.rows, mat.cols, mat.channels()); +} +#endif // OPENCV_EIGEN_TENSOR_SUPPORT + +template static inline +void eigen2cv( const Eigen::Matrix<_Tp, _rows, _cols, _options, _maxRows, _maxCols>& src, OutputArray dst ) +{ + if( !(src.Flags & Eigen::RowMajorBit) ) + { + Mat _src(src.cols(), src.rows(), traits::Type<_Tp>::value, + (void*)src.data(), src.outerStride()*sizeof(_Tp)); + transpose(_src, dst); + } + else + { + Mat _src(src.rows(), src.cols(), traits::Type<_Tp>::value, + (void*)src.data(), src.outerStride()*sizeof(_Tp)); + _src.copyTo(dst); + } +} + +// Matx case +template static inline +void eigen2cv( const Eigen::Matrix<_Tp, _rows, _cols, _options, _maxRows, _maxCols>& src, + Matx<_Tp, _rows, _cols>& dst ) +{ + if( !(src.Flags & Eigen::RowMajorBit) ) + { + dst = Matx<_Tp, _cols, _rows>(static_cast(src.data())).t(); + } + else + { + dst = Matx<_Tp, _rows, _cols>(static_cast(src.data())); + } +} + +template static inline +void cv2eigen( const Mat& src, + Eigen::Matrix<_Tp, _rows, _cols, _options, _maxRows, _maxCols>& dst ) +{ + CV_DbgAssert(src.rows == _rows && src.cols == _cols); + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(src.cols, src.rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + if( src.type() == _dst.type() ) + transpose(src, _dst); + else if( src.cols == src.rows ) + { + src.convertTo(_dst, _dst.type()); + transpose(_dst, _dst); + } + else + Mat(src.t()).convertTo(_dst, _dst.type()); + } + else + { + const Mat _dst(src.rows, src.cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + src.convertTo(_dst, _dst.type()); + } +} + +// Matx case +template static inline +void cv2eigen( const Matx<_Tp, _rows, _cols>& src, + Eigen::Matrix<_Tp, _rows, _cols, _options, _maxRows, _maxCols>& dst ) +{ + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(_cols, _rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + transpose(src, _dst); + } + else + { + const Mat _dst(_rows, _cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + Mat(src).copyTo(_dst); + } +} + +template static inline +void cv2eigen( const Mat& src, + Eigen::Matrix<_Tp, Eigen::Dynamic, Eigen::Dynamic>& dst ) +{ + dst.resize(src.rows, src.cols); + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(src.cols, src.rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + if( src.type() == _dst.type() ) + transpose(src, _dst); + else if( src.cols == src.rows ) + { + src.convertTo(_dst, _dst.type()); + transpose(_dst, _dst); + } + else + Mat(src.t()).convertTo(_dst, _dst.type()); + } + else + { + const Mat _dst(src.rows, src.cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + src.convertTo(_dst, _dst.type()); + } +} + +// Matx case +template static inline +void cv2eigen( const Matx<_Tp, _rows, _cols>& src, + Eigen::Matrix<_Tp, Eigen::Dynamic, Eigen::Dynamic>& dst ) +{ + dst.resize(_rows, _cols); + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(_cols, _rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + transpose(src, _dst); + } + else + { + const Mat _dst(_rows, _cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + Mat(src).copyTo(_dst); + } +} + +template static inline +void cv2eigen( const Mat& src, + Eigen::Matrix<_Tp, Eigen::Dynamic, 1>& dst ) +{ + CV_Assert(src.cols == 1); + dst.resize(src.rows); + + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(src.cols, src.rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + if( src.type() == _dst.type() ) + transpose(src, _dst); + else + Mat(src.t()).convertTo(_dst, _dst.type()); + } + else + { + const Mat _dst(src.rows, src.cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + src.convertTo(_dst, _dst.type()); + } +} + +// Matx case +template static inline +void cv2eigen( const Matx<_Tp, _rows, 1>& src, + Eigen::Matrix<_Tp, Eigen::Dynamic, 1>& dst ) +{ + dst.resize(_rows); + + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(1, _rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + transpose(src, _dst); + } + else + { + const Mat _dst(_rows, 1, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + src.copyTo(_dst); + } +} + + +template static inline +void cv2eigen( const Mat& src, + Eigen::Matrix<_Tp, 1, Eigen::Dynamic>& dst ) +{ + CV_Assert(src.rows == 1); + dst.resize(src.cols); + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(src.cols, src.rows, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + if( src.type() == _dst.type() ) + transpose(src, _dst); + else + Mat(src.t()).convertTo(_dst, _dst.type()); + } + else + { + const Mat _dst(src.rows, src.cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + src.convertTo(_dst, _dst.type()); + } +} + +//Matx +template static inline +void cv2eigen( const Matx<_Tp, 1, _cols>& src, + Eigen::Matrix<_Tp, 1, Eigen::Dynamic>& dst ) +{ + dst.resize(_cols); + if( !(dst.Flags & Eigen::RowMajorBit) ) + { + const Mat _dst(_cols, 1, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + transpose(src, _dst); + } + else + { + const Mat _dst(1, _cols, traits::Type<_Tp>::value, + dst.data(), (size_t)(dst.outerStride()*sizeof(_Tp))); + Mat(src).copyTo(_dst); + } +} + +//! @} + +} // cv + +#endif diff --git a/camera_lib/include/opencv2/core/fast_math.hpp b/camera_lib/include/opencv2/core/fast_math.hpp new file mode 100644 index 0000000..47a2948 --- /dev/null +++ b/camera_lib/include/opencv2/core/fast_math.hpp @@ -0,0 +1,433 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_FAST_MATH_HPP +#define OPENCV_CORE_FAST_MATH_HPP + +#include "opencv2/core/cvdef.h" + +//! @addtogroup core_utils +//! @{ + +/****************************************************************************************\ +* fast math * +\****************************************************************************************/ + +#ifdef __cplusplus +# include +#else +# ifdef __BORLANDC__ +# include +# else +# include +# endif +#endif + +#if defined(__CUDACC__) + // nothing, intrinsics/asm code is not supported +#else + #if ((defined _MSC_VER && defined _M_X64) \ + || (defined __GNUC__ && defined __x86_64__ && defined __SSE2__)) \ + && !defined(OPENCV_SKIP_INCLUDE_EMMINTRIN_H) + #include + #endif + + #if defined __PPC64__ && defined __GNUC__ && defined _ARCH_PWR8 \ + && !defined(OPENCV_SKIP_INCLUDE_ALTIVEC_H) + #include + #undef vector + #undef bool + #undef pixel + #endif + + #if defined(CV_INLINE_ROUND_FLT) + // user-specified version + // CV_INLINE_ROUND_DBL should be defined too + #elif defined __GNUC__ && defined __arm__ && (defined __ARM_PCS_VFP || defined __ARM_VFPV3__ || defined __ARM_NEON__) && !defined __SOFTFP__ + // 1. general scheme + #define ARM_ROUND(_value, _asm_string) \ + int res; \ + float temp; \ + CV_UNUSED(temp); \ + __asm__(_asm_string : [res] "=r" (res), [temp] "=w" (temp) : [value] "w" (_value)); \ + return res + // 2. version for double + #ifdef __clang__ + #define CV_INLINE_ROUND_DBL(value) ARM_ROUND(value, "vcvtr.s32.f64 %[temp], %[value] \n vmov %[res], %[temp]") + #else + #define CV_INLINE_ROUND_DBL(value) ARM_ROUND(value, "vcvtr.s32.f64 %[temp], %P[value] \n vmov %[res], %[temp]") + #endif + // 3. version for float + #define CV_INLINE_ROUND_FLT(value) ARM_ROUND(value, "vcvtr.s32.f32 %[temp], %[value]\n vmov %[res], %[temp]") + #elif defined __PPC64__ && defined __GNUC__ && defined _ARCH_PWR8 + // P8 and newer machines can convert fp32/64 to int quickly. + #define CV_INLINE_ROUND_DBL(value) \ + int out; \ + double temp; \ + __asm__( "fctiw %[temp],%[in]\n\tmfvsrwz %[out],%[temp]\n\t" : [out] "=r" (out), [temp] "=d" (temp) : [in] "d" ((double)(value)) : ); \ + return out; + + // FP32 also works with FP64 routine above + #define CV_INLINE_ROUND_FLT(value) CV_INLINE_ROUND_DBL(value) + #endif + + #ifdef CV_INLINE_ISINF_FLT + // user-specified version + // CV_INLINE_ISINF_DBL should be defined too + #elif defined __PPC64__ && defined _ARCH_PWR9 && defined(scalar_test_data_class) + #define CV_INLINE_ISINF_DBL(value) return scalar_test_data_class(value, 0x30); + #define CV_INLINE_ISINF_FLT(value) CV_INLINE_ISINF_DBL(value) + #endif + + #ifdef CV_INLINE_ISNAN_FLT + // user-specified version + // CV_INLINE_ISNAN_DBL should be defined too + #elif defined __PPC64__ && defined _ARCH_PWR9 && defined(scalar_test_data_class) + #define CV_INLINE_ISNAN_DBL(value) return scalar_test_data_class(value, 0x40); + #define CV_INLINE_ISNAN_FLT(value) CV_INLINE_ISNAN_DBL(value) + #endif + + #if !defined(OPENCV_USE_FASTMATH_BUILTINS) \ + && ( \ + defined(__x86_64__) || defined(__i686__) \ + || defined(__arm__) \ + || defined(__PPC64__) \ + ) + /* Let builtin C math functions when available. Dedicated hardware is available to + round and convert FP values. */ + #define OPENCV_USE_FASTMATH_BUILTINS 1 + #endif + + /* Enable builtin math functions if possible, desired, and available. + Note, not all math functions inline equally. E.g lrint will not inline + without the -fno-math-errno option. */ + #if defined(CV_ICC) + // nothing + #elif defined(OPENCV_USE_FASTMATH_BUILTINS) && OPENCV_USE_FASTMATH_BUILTINS + #if defined(__clang__) + #define CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + #if !defined(CV_INLINE_ISNAN_DBL) && __has_builtin(__builtin_isnan) + #define CV_INLINE_ISNAN_DBL(value) return __builtin_isnan(value); + #endif + #if !defined(CV_INLINE_ISNAN_FLT) && __has_builtin(__builtin_isnan) + #define CV_INLINE_ISNAN_FLT(value) return __builtin_isnan(value); + #endif + #if !defined(CV_INLINE_ISINF_DBL) && __has_builtin(__builtin_isinf) + #define CV_INLINE_ISINF_DBL(value) return __builtin_isinf(value); + #endif + #if !defined(CV_INLINE_ISINF_FLT) && __has_builtin(__builtin_isinf) + #define CV_INLINE_ISINF_FLT(value) return __builtin_isinf(value); + #endif + #elif defined(__GNUC__) + #define CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS + #if !defined(CV_INLINE_ISNAN_DBL) + #define CV_INLINE_ISNAN_DBL(value) return __builtin_isnan(value); + #endif + #if !defined(CV_INLINE_ISNAN_FLT) + #define CV_INLINE_ISNAN_FLT(value) return __builtin_isnanf(value); + #endif + #if !defined(CV_INLINE_ISINF_DBL) + #define CV_INLINE_ISINF_DBL(value) return __builtin_isinf(value); + #endif + #if !defined(CV_INLINE_ISINF_FLT) + #define CV_INLINE_ISINF_FLT(value) return __builtin_isinff(value); + #endif + #elif defined(_MSC_VER) + #if !defined(CV_INLINE_ISNAN_DBL) + #define CV_INLINE_ISNAN_DBL(value) return isnan(value); + #endif + #if !defined(CV_INLINE_ISNAN_FLT) + #define CV_INLINE_ISNAN_FLT(value) return isnan(value); + #endif + #if !defined(CV_INLINE_ISINF_DBL) + #define CV_INLINE_ISINF_DBL(value) return isinf(value); + #endif + #if !defined(CV_INLINE_ISINF_FLT) + #define CV_INLINE_ISINF_FLT(value) return isinf(value); + #endif + #endif + #endif + +#endif // defined(__CUDACC__) + +/** @brief Rounds floating-point number to the nearest integer + + @param value floating-point number. If the value is outside of INT_MIN ... INT_MAX range, the + result is not defined. + */ +CV_INLINE int +cvRound( double value ) +{ +#if defined CV_INLINE_ROUND_DBL + CV_INLINE_ROUND_DBL(value); +#elif (defined _MSC_VER && defined _M_X64) && !defined(__CUDACC__) + __m128d t = _mm_set_sd( value ); + return _mm_cvtsd_si32(t); +#elif defined _MSC_VER && defined _M_IX86 + int t; + __asm + { + fld value; + fistp t; + } + return t; +#elif defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \ + defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + return (int)__builtin_lrint(value); +#else + return (int)lrint(value); +#endif +} + + +/** @brief Rounds floating-point number to the nearest integer not larger than the original. + + The function computes an integer i such that: + \f[i \le \texttt{value} < i+1\f] + @param value floating-point number. If the value is outside of INT_MIN ... INT_MAX range, the + result is not defined. + */ +CV_INLINE int cvFloor( double value ) +{ +#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \ + defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + return (int)__builtin_floor(value); +#elif defined __loongarch64 + int i; + double tmp; + __asm__ ("ftintrm.l.d %[tmp], %[in] \n\t" + "movfr2gr.d %[i], %[tmp] \n\t" + : [i] "=r" (i), [tmp] "=f" (tmp) + : [in] "f" (value) + :); + return i; +#else + int i = (int)value; + return i - (i > value); +#endif +} + +/** @brief Rounds floating-point number to the nearest integer not smaller than the original. + + The function computes an integer i such that: + \f[i \le \texttt{value} < i+1\f] + @param value floating-point number. If the value is outside of INT_MIN ... INT_MAX range, the + result is not defined. + */ +CV_INLINE int cvCeil( double value ) +{ +#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \ + defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + return (int)__builtin_ceil(value); +#elif defined __loongarch64 + int i; + double tmp; + __asm__ ("ftintrp.l.d %[tmp], %[in] \n\t" + "movfr2gr.d %[i], %[tmp] \n\t" + : [i] "=r" (i), [tmp] "=f" (tmp) + : [in] "f" (value) + :); + return i; +#else + int i = (int)value; + return i + (i < value); +#endif +} + +/** @brief Determines if the argument is Not A Number. + + @param value The input floating-point value + + The function returns 1 if the argument is Not A Number (as defined by IEEE754 standard), 0 + otherwise. */ +CV_INLINE int cvIsNaN( double value ) +{ +#if defined CV_INLINE_ISNAN_DBL + CV_INLINE_ISNAN_DBL(value); +#else + Cv64suf ieee754; + ieee754.f = value; + return ((unsigned)(ieee754.u >> 32) & 0x7fffffff) + + ((unsigned)ieee754.u != 0) > 0x7ff00000; +#endif +} + +/** @brief Determines if the argument is Infinity. + + @param value The input floating-point value + + The function returns 1 if the argument is a plus or minus infinity (as defined by IEEE754 standard) + and 0 otherwise. */ +CV_INLINE int cvIsInf( double value ) +{ +#if defined CV_INLINE_ISINF_DBL + CV_INLINE_ISINF_DBL(value); +#elif defined(__x86_64__) || defined(_M_X64) || defined(__aarch64__) || defined(_M_ARM64) || defined(__PPC64__) || defined(__loongarch64) + Cv64suf ieee754; + ieee754.f = value; + return (ieee754.u & 0x7fffffffffffffff) == + 0x7ff0000000000000; +#else + Cv64suf ieee754; + ieee754.f = value; + return ((unsigned)(ieee754.u >> 32) & 0x7fffffff) == 0x7ff00000 && + (unsigned)ieee754.u == 0; +#endif +} + +#ifdef __cplusplus + +/** @overload */ +CV_INLINE int cvRound(float value) +{ +#if defined CV_INLINE_ROUND_FLT + CV_INLINE_ROUND_FLT(value); +#elif (defined _MSC_VER && defined _M_X64) && !defined(__CUDACC__) + __m128 t = _mm_set_ss( value ); + return _mm_cvtss_si32(t); +#elif defined _MSC_VER && defined _M_IX86 + int t; + __asm + { + fld value; + fistp t; + } + return t; +#elif defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \ + defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + return (int)__builtin_lrintf(value); +#else + return (int)lrintf(value); +#endif +} + +/** @overload */ +CV_INLINE int cvRound( int value ) +{ + return value; +} + +/** @overload */ +CV_INLINE int cvFloor( float value ) +{ +#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \ + defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + return (int)__builtin_floorf(value); +#elif defined __loongarch + int i; + float tmp; + __asm__ ("ftintrm.w.s %[tmp], %[in] \n\t" + "movfr2gr.s %[i], %[tmp] \n\t" + : [i] "=r" (i), [tmp] "=f" (tmp) + : [in] "f" (value) + :); + return i; +#else + int i = (int)value; + return i - (i > value); +#endif +} + +/** @overload */ +CV_INLINE int cvFloor( int value ) +{ + return value; +} + +/** @overload */ +CV_INLINE int cvCeil( float value ) +{ +#if defined CV__FASTMATH_ENABLE_GCC_MATH_BUILTINS || \ + defined CV__FASTMATH_ENABLE_CLANG_MATH_BUILTINS + return (int)__builtin_ceilf(value); +#elif defined __loongarch + int i; + float tmp; + __asm__ ("ftintrp.w.s %[tmp], %[in] \n\t" + "movfr2gr.s %[i], %[tmp] \n\t" + : [i] "=r" (i), [tmp] "=f" (tmp) + : [in] "f" (value) + :); + return i; +#else + int i = (int)value; + return i + (i < value); +#endif +} + +/** @overload */ +CV_INLINE int cvCeil( int value ) +{ + return value; +} + +/** @overload */ +CV_INLINE int cvIsNaN( float value ) +{ +#if defined CV_INLINE_ISNAN_FLT + CV_INLINE_ISNAN_FLT(value); +#else + Cv32suf ieee754; + ieee754.f = value; + return (ieee754.u & 0x7fffffff) > 0x7f800000; +#endif +} + +/** @overload */ +CV_INLINE int cvIsInf( float value ) +{ +#if defined CV_INLINE_ISINF_FLT + CV_INLINE_ISINF_FLT(value); +#else + Cv32suf ieee754; + ieee754.f = value; + return (ieee754.u & 0x7fffffff) == 0x7f800000; +#endif +} + +#endif // __cplusplus + +//! @} core_utils + +#endif diff --git a/camera_lib/include/opencv2/core/hal/interface.h b/camera_lib/include/opencv2/core/hal/interface.h new file mode 100644 index 0000000..6f0a83d --- /dev/null +++ b/camera_lib/include/opencv2/core/hal/interface.h @@ -0,0 +1,190 @@ +#ifndef OPENCV_CORE_HAL_INTERFACE_H +#define OPENCV_CORE_HAL_INTERFACE_H + +//! @addtogroup core_hal_interface +//! @{ + +//! @name Return codes +//! @{ +#define CV_HAL_ERROR_OK 0 +#define CV_HAL_ERROR_NOT_IMPLEMENTED 1 +#define CV_HAL_ERROR_UNKNOWN -1 +//! @} + +#ifdef __cplusplus +#include +#else +#include +#include +#endif + +//! @name Data types +//! primitive types +//! - schar - signed 1 byte integer +//! - uchar - unsigned 1 byte integer +//! - short - signed 2 byte integer +//! - ushort - unsigned 2 byte integer +//! - int - signed 4 byte integer +//! - uint - unsigned 4 byte integer +//! - int64 - signed 8 byte integer +//! - uint64 - unsigned 8 byte integer +//! @{ +#if !defined _MSC_VER && !defined __BORLANDC__ +# if defined __cplusplus && __cplusplus >= 201103L && !defined __APPLE__ +# include +# ifdef __NEWLIB__ + typedef unsigned int uint; +# else + typedef std::uint32_t uint; +# endif +# else +# include + typedef uint32_t uint; +# endif +#else + typedef unsigned uint; +#endif + +typedef signed char schar; + +#ifndef __IPL_H__ + typedef unsigned char uchar; + typedef unsigned short ushort; +#endif + +#if defined _MSC_VER || defined __BORLANDC__ + typedef __int64 int64; + typedef unsigned __int64 uint64; +# define CV_BIG_INT(n) n##I64 +# define CV_BIG_UINT(n) n##UI64 +#else + typedef int64_t int64; + typedef uint64_t uint64; +# define CV_BIG_INT(n) n##LL +# define CV_BIG_UINT(n) n##ULL +#endif + +#define CV_USRTYPE1 (void)"CV_USRTYPE1 support has been dropped in OpenCV 4.0" + +#define CV_CN_MAX 512 +#define CV_CN_SHIFT 3 +#define CV_DEPTH_MAX (1 << CV_CN_SHIFT) + +#define CV_8U 0 +#define CV_8S 1 +#define CV_16U 2 +#define CV_16S 3 +#define CV_32S 4 +#define CV_32F 5 +#define CV_64F 6 +#define CV_16F 7 + +#define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1) +#define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK) + +#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT)) +#define CV_MAKE_TYPE CV_MAKETYPE + +#define CV_8UC1 CV_MAKETYPE(CV_8U,1) +#define CV_8UC2 CV_MAKETYPE(CV_8U,2) +#define CV_8UC3 CV_MAKETYPE(CV_8U,3) +#define CV_8UC4 CV_MAKETYPE(CV_8U,4) +#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n)) + +#define CV_8SC1 CV_MAKETYPE(CV_8S,1) +#define CV_8SC2 CV_MAKETYPE(CV_8S,2) +#define CV_8SC3 CV_MAKETYPE(CV_8S,3) +#define CV_8SC4 CV_MAKETYPE(CV_8S,4) +#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n)) + +#define CV_16UC1 CV_MAKETYPE(CV_16U,1) +#define CV_16UC2 CV_MAKETYPE(CV_16U,2) +#define CV_16UC3 CV_MAKETYPE(CV_16U,3) +#define CV_16UC4 CV_MAKETYPE(CV_16U,4) +#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n)) + +#define CV_16SC1 CV_MAKETYPE(CV_16S,1) +#define CV_16SC2 CV_MAKETYPE(CV_16S,2) +#define CV_16SC3 CV_MAKETYPE(CV_16S,3) +#define CV_16SC4 CV_MAKETYPE(CV_16S,4) +#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n)) + +#define CV_32SC1 CV_MAKETYPE(CV_32S,1) +#define CV_32SC2 CV_MAKETYPE(CV_32S,2) +#define CV_32SC3 CV_MAKETYPE(CV_32S,3) +#define CV_32SC4 CV_MAKETYPE(CV_32S,4) +#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n)) + +#define CV_32FC1 CV_MAKETYPE(CV_32F,1) +#define CV_32FC2 CV_MAKETYPE(CV_32F,2) +#define CV_32FC3 CV_MAKETYPE(CV_32F,3) +#define CV_32FC4 CV_MAKETYPE(CV_32F,4) +#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n)) + +#define CV_64FC1 CV_MAKETYPE(CV_64F,1) +#define CV_64FC2 CV_MAKETYPE(CV_64F,2) +#define CV_64FC3 CV_MAKETYPE(CV_64F,3) +#define CV_64FC4 CV_MAKETYPE(CV_64F,4) +#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n)) + +#define CV_16FC1 CV_MAKETYPE(CV_16F,1) +#define CV_16FC2 CV_MAKETYPE(CV_16F,2) +#define CV_16FC3 CV_MAKETYPE(CV_16F,3) +#define CV_16FC4 CV_MAKETYPE(CV_16F,4) +#define CV_16FC(n) CV_MAKETYPE(CV_16F,(n)) +//! @} + +//! @name Comparison operation +//! @sa cv::CmpTypes +//! @{ +#define CV_HAL_CMP_EQ 0 +#define CV_HAL_CMP_GT 1 +#define CV_HAL_CMP_GE 2 +#define CV_HAL_CMP_LT 3 +#define CV_HAL_CMP_LE 4 +#define CV_HAL_CMP_NE 5 +//! @} + +//! @name Border processing modes +//! @sa cv::BorderTypes +//! @{ +#define CV_HAL_BORDER_CONSTANT 0 +#define CV_HAL_BORDER_REPLICATE 1 +#define CV_HAL_BORDER_REFLECT 2 +#define CV_HAL_BORDER_WRAP 3 +#define CV_HAL_BORDER_REFLECT_101 4 +#define CV_HAL_BORDER_TRANSPARENT 5 +#define CV_HAL_BORDER_ISOLATED 16 +//! @} + +//! @name DFT flags +//! @{ +#define CV_HAL_DFT_INVERSE 1 +#define CV_HAL_DFT_SCALE 2 +#define CV_HAL_DFT_ROWS 4 +#define CV_HAL_DFT_COMPLEX_OUTPUT 16 +#define CV_HAL_DFT_REAL_OUTPUT 32 +#define CV_HAL_DFT_TWO_STAGE 64 +#define CV_HAL_DFT_STAGE_COLS 128 +#define CV_HAL_DFT_IS_CONTINUOUS 512 +#define CV_HAL_DFT_IS_INPLACE 1024 +//! @} + +//! @name SVD flags +//! @{ +#define CV_HAL_SVD_NO_UV 1 +#define CV_HAL_SVD_SHORT_UV 2 +#define CV_HAL_SVD_MODIFY_A 4 +#define CV_HAL_SVD_FULL_UV 8 +//! @} + +//! @name Gemm flags +//! @{ +#define CV_HAL_GEMM_1_T 1 +#define CV_HAL_GEMM_2_T 2 +#define CV_HAL_GEMM_3_T 4 +//! @} + +//! @} + +#endif diff --git a/camera_lib/include/opencv2/core/mat.hpp b/camera_lib/include/opencv2/core/mat.hpp new file mode 100644 index 0000000..c4c6ff6 --- /dev/null +++ b/camera_lib/include/opencv2/core/mat.hpp @@ -0,0 +1,3796 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_MAT_HPP +#define OPENCV_CORE_MAT_HPP + +#ifndef __cplusplus +# error mat.hpp header must be compiled as C++ +#endif + +#include "opencv2/core/matx.hpp" +#include "opencv2/core/types.hpp" + +#include "opencv2/core/bufferpool.hpp" + +#include + +namespace cv +{ + +//! @addtogroup core_basic +//! @{ + +enum AccessFlag { ACCESS_READ=1<<24, ACCESS_WRITE=1<<25, + ACCESS_RW=3<<24, ACCESS_MASK=ACCESS_RW, ACCESS_FAST=1<<26 }; +CV_ENUM_FLAGS(AccessFlag) +__CV_ENUM_FLAGS_BITWISE_AND(AccessFlag, int, AccessFlag) + +CV__DEBUG_NS_BEGIN + +class CV_EXPORTS _OutputArray; + +//////////////////////// Input/Output Array Arguments ///////////////////////////////// + +/** @brief This is the proxy class for passing read-only input arrays into OpenCV functions. + +It is defined as: +@code + typedef const _InputArray& InputArray; +@endcode +where _InputArray is a class that can be constructed from `Mat`, `Mat_`, `Matx`, +`std::vector`, `std::vector >`, `std::vector`, `std::vector >`, +`UMat`, `std::vector` or `double`. It can also be constructed from a matrix expression. + +Since this is mostly implementation-level class, and its interface may change in future versions, we +do not describe it in details. There are a few key things, though, that should be kept in mind: + +- When you see in the reference manual or in OpenCV source code a function that takes + InputArray, it means that you can actually pass `Mat`, `Matx`, `vector` etc. (see above the + complete list). +- Optional input arguments: If some of the input arrays may be empty, pass cv::noArray() (or + simply cv::Mat() as you probably did before). +- The class is designed solely for passing parameters. That is, normally you *should not* + declare class members, local and global variables of this type. +- If you want to design your own function or a class method that can operate of arrays of + multiple types, you can use InputArray (or OutputArray) for the respective parameters. Inside + a function you should use _InputArray::getMat() method to construct a matrix header for the + array (without copying data). _InputArray::kind() can be used to distinguish Mat from + `vector<>` etc., but normally it is not needed. + +Here is how you can use a function that takes InputArray : +@code + std::vector vec; + // points or a circle + for( int i = 0; i < 30; i++ ) + vec.push_back(Point2f((float)(100 + 30*cos(i*CV_PI*2/5)), + (float)(100 - 30*sin(i*CV_PI*2/5)))); + cv::transform(vec, vec, cv::Matx23f(0.707, -0.707, 10, 0.707, 0.707, 20)); +@endcode +That is, we form an STL vector containing points, and apply in-place affine transformation to the +vector using the 2x3 matrix created inline as `Matx` instance. + +Here is how such a function can be implemented (for simplicity, we implement a very specific case of +it, according to the assertion statement inside) : +@code + void myAffineTransform(InputArray _src, OutputArray _dst, InputArray _m) + { + // get Mat headers for input arrays. This is O(1) operation, + // unless _src and/or _m are matrix expressions. + Mat src = _src.getMat(), m = _m.getMat(); + CV_Assert( src.type() == CV_32FC2 && m.type() == CV_32F && m.size() == Size(3, 2) ); + + // [re]create the output array so that it has the proper size and type. + // In case of Mat it calls Mat::create, in case of STL vector it calls vector::resize. + _dst.create(src.size(), src.type()); + Mat dst = _dst.getMat(); + + for( int i = 0; i < src.rows; i++ ) + for( int j = 0; j < src.cols; j++ ) + { + Point2f pt = src.at(i, j); + dst.at(i, j) = Point2f(m.at(0, 0)*pt.x + + m.at(0, 1)*pt.y + + m.at(0, 2), + m.at(1, 0)*pt.x + + m.at(1, 1)*pt.y + + m.at(1, 2)); + } + } +@endcode +There is another related type, InputArrayOfArrays, which is currently defined as a synonym for +InputArray: +@code + typedef InputArray InputArrayOfArrays; +@endcode +It denotes function arguments that are either vectors of vectors or vectors of matrices. A separate +synonym is needed to generate Python/Java etc. wrappers properly. At the function implementation +level their use is similar, but _InputArray::getMat(idx) should be used to get header for the +idx-th component of the outer vector and _InputArray::size().area() should be used to find the +number of components (vectors/matrices) of the outer vector. + +In general, type support is limited to cv::Mat types. Other types are forbidden. +But in some cases we need to support passing of custom non-general Mat types, like arrays of cv::KeyPoint, cv::DMatch, etc. +This data is not intended to be interpreted as an image data, or processed somehow like regular cv::Mat. +To pass such custom type use rawIn() / rawOut() / rawInOut() wrappers. +Custom type is wrapped as Mat-compatible `CV_8UC` values (N = sizeof(T), N <= CV_CN_MAX). + */ +class CV_EXPORTS _InputArray +{ +public: + enum KindFlag { + KIND_SHIFT = 16, + FIXED_TYPE = 0x8000 << KIND_SHIFT, + FIXED_SIZE = 0x4000 << KIND_SHIFT, + KIND_MASK = 31 << KIND_SHIFT, + + NONE = 0 << KIND_SHIFT, + MAT = 1 << KIND_SHIFT, + MATX = 2 << KIND_SHIFT, + STD_VECTOR = 3 << KIND_SHIFT, + STD_VECTOR_VECTOR = 4 << KIND_SHIFT, + STD_VECTOR_MAT = 5 << KIND_SHIFT, +#if OPENCV_ABI_COMPATIBILITY < 500 + EXPR = 6 << KIND_SHIFT, //!< removed: https://github.com/opencv/opencv/pull/17046 +#endif + OPENGL_BUFFER = 7 << KIND_SHIFT, + CUDA_HOST_MEM = 8 << KIND_SHIFT, + CUDA_GPU_MAT = 9 << KIND_SHIFT, + UMAT =10 << KIND_SHIFT, + STD_VECTOR_UMAT =11 << KIND_SHIFT, + STD_BOOL_VECTOR =12 << KIND_SHIFT, + STD_VECTOR_CUDA_GPU_MAT = 13 << KIND_SHIFT, +#if OPENCV_ABI_COMPATIBILITY < 500 + STD_ARRAY =14 << KIND_SHIFT, //!< removed: https://github.com/opencv/opencv/issues/18897 +#endif + STD_ARRAY_MAT =15 << KIND_SHIFT + }; + + _InputArray(); + _InputArray(int _flags, void* _obj); + _InputArray(const Mat& m); + _InputArray(const MatExpr& expr); + _InputArray(const std::vector& vec); + template _InputArray(const Mat_<_Tp>& m); + template _InputArray(const std::vector<_Tp>& vec); + _InputArray(const std::vector& vec); + template _InputArray(const std::vector >& vec); + _InputArray(const std::vector >&) = delete; // not supported + template _InputArray(const std::vector >& vec); + template _InputArray(const _Tp* vec, int n); + template _InputArray(const Matx<_Tp, m, n>& matx); + _InputArray(const double& val); + _InputArray(const cuda::GpuMat& d_mat); + _InputArray(const std::vector& d_mat_array); + _InputArray(const ogl::Buffer& buf); + _InputArray(const cuda::HostMem& cuda_mem); + template _InputArray(const cudev::GpuMat_<_Tp>& m); + _InputArray(const UMat& um); + _InputArray(const std::vector& umv); + + template _InputArray(const std::array<_Tp, _Nm>& arr); + template _InputArray(const std::array& arr); + + template static _InputArray rawIn(const std::vector<_Tp>& vec); + template static _InputArray rawIn(const std::array<_Tp, _Nm>& arr); + + Mat getMat(int idx=-1) const; + Mat getMat_(int idx=-1) const; + UMat getUMat(int idx=-1) const; + void getMatVector(std::vector& mv) const; + void getUMatVector(std::vector& umv) const; + void getGpuMatVector(std::vector& gpumv) const; + cuda::GpuMat getGpuMat() const; + ogl::Buffer getOGlBuffer() const; + + int getFlags() const; + void* getObj() const; + Size getSz() const; + + _InputArray::KindFlag kind() const; + int dims(int i=-1) const; + int cols(int i=-1) const; + int rows(int i=-1) const; + Size size(int i=-1) const; + int sizend(int* sz, int i=-1) const; + bool sameSize(const _InputArray& arr) const; + size_t total(int i=-1) const; + int type(int i=-1) const; + int depth(int i=-1) const; + int channels(int i=-1) const; + bool isContinuous(int i=-1) const; + bool isSubmatrix(int i=-1) const; + bool empty() const; + void copyTo(const _OutputArray& arr) const; + void copyTo(const _OutputArray& arr, const _InputArray & mask) const; + size_t offset(int i=-1) const; + size_t step(int i=-1) const; + bool isMat() const; + bool isUMat() const; + bool isMatVector() const; + bool isUMatVector() const; + bool isMatx() const; + bool isVector() const; + bool isGpuMat() const; + bool isGpuMatVector() const; + ~_InputArray(); + +protected: + int flags; + void* obj; + Size sz; + + void init(int _flags, const void* _obj); + void init(int _flags, const void* _obj, Size _sz); +}; +CV_ENUM_FLAGS(_InputArray::KindFlag) +__CV_ENUM_FLAGS_BITWISE_AND(_InputArray::KindFlag, int, _InputArray::KindFlag) + +/** @brief This type is very similar to InputArray except that it is used for input/output and output function +parameters. + +Just like with InputArray, OpenCV users should not care about OutputArray, they just pass `Mat`, +`vector` etc. to the functions. The same limitation as for `InputArray`: *Do not explicitly +create OutputArray instances* applies here too. + +If you want to make your function polymorphic (i.e. accept different arrays as output parameters), +it is also not very difficult. Take the sample above as the reference. Note that +_OutputArray::create() needs to be called before _OutputArray::getMat(). This way you guarantee +that the output array is properly allocated. + +Optional output parameters. If you do not need certain output array to be computed and returned to +you, pass cv::noArray(), just like you would in the case of optional input array. At the +implementation level, use _OutputArray::needed() to check if certain output array needs to be +computed or not. + +There are several synonyms for OutputArray that are used to assist automatic Python/Java/... wrapper +generators: +@code + typedef OutputArray OutputArrayOfArrays; + typedef OutputArray InputOutputArray; + typedef OutputArray InputOutputArrayOfArrays; +@endcode + */ +class CV_EXPORTS _OutputArray : public _InputArray +{ +public: + enum DepthMask + { + DEPTH_MASK_8U = 1 << CV_8U, + DEPTH_MASK_8S = 1 << CV_8S, + DEPTH_MASK_16U = 1 << CV_16U, + DEPTH_MASK_16S = 1 << CV_16S, + DEPTH_MASK_32S = 1 << CV_32S, + DEPTH_MASK_32F = 1 << CV_32F, + DEPTH_MASK_64F = 1 << CV_64F, + DEPTH_MASK_16F = 1 << CV_16F, + DEPTH_MASK_ALL = (DEPTH_MASK_64F<<1)-1, + DEPTH_MASK_ALL_BUT_8S = DEPTH_MASK_ALL & ~DEPTH_MASK_8S, + DEPTH_MASK_ALL_16F = (DEPTH_MASK_16F<<1)-1, + DEPTH_MASK_FLT = DEPTH_MASK_32F + DEPTH_MASK_64F + }; + + _OutputArray(); + _OutputArray(int _flags, void* _obj); + _OutputArray(Mat& m); + _OutputArray(std::vector& vec); + _OutputArray(cuda::GpuMat& d_mat); + _OutputArray(std::vector& d_mat); + _OutputArray(ogl::Buffer& buf); + _OutputArray(cuda::HostMem& cuda_mem); + template _OutputArray(cudev::GpuMat_<_Tp>& m); + template _OutputArray(std::vector<_Tp>& vec); + _OutputArray(std::vector& vec) = delete; // not supported + template _OutputArray(std::vector >& vec); + _OutputArray(std::vector >&) = delete; // not supported + template _OutputArray(std::vector >& vec); + template _OutputArray(Mat_<_Tp>& m); + template _OutputArray(_Tp* vec, int n); + template _OutputArray(Matx<_Tp, m, n>& matx); + _OutputArray(UMat& m); + _OutputArray(std::vector& vec); + + _OutputArray(const Mat& m); + _OutputArray(const std::vector& vec); + _OutputArray(const cuda::GpuMat& d_mat); + _OutputArray(const std::vector& d_mat); + _OutputArray(const ogl::Buffer& buf); + _OutputArray(const cuda::HostMem& cuda_mem); + template _OutputArray(const cudev::GpuMat_<_Tp>& m); + template _OutputArray(const std::vector<_Tp>& vec); + template _OutputArray(const std::vector >& vec); + template _OutputArray(const std::vector >& vec); + template _OutputArray(const Mat_<_Tp>& m); + template _OutputArray(const _Tp* vec, int n); + template _OutputArray(const Matx<_Tp, m, n>& matx); + _OutputArray(const UMat& m); + _OutputArray(const std::vector& vec); + + template _OutputArray(std::array<_Tp, _Nm>& arr); + template _OutputArray(const std::array<_Tp, _Nm>& arr); + template _OutputArray(std::array& arr); + template _OutputArray(const std::array& arr); + + template static _OutputArray rawOut(std::vector<_Tp>& vec); + template static _OutputArray rawOut(std::array<_Tp, _Nm>& arr); + + bool fixedSize() const; + bool fixedType() const; + bool needed() const; + Mat& getMatRef(int i=-1) const; + UMat& getUMatRef(int i=-1) const; + cuda::GpuMat& getGpuMatRef() const; + std::vector& getGpuMatVecRef() const; + ogl::Buffer& getOGlBufferRef() const; + cuda::HostMem& getHostMemRef() const; + void create(Size sz, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast<_OutputArray::DepthMask>(0)) const; + void create(int rows, int cols, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast<_OutputArray::DepthMask>(0)) const; + void create(int dims, const int* size, int type, int i=-1, bool allowTransposed=false, _OutputArray::DepthMask fixedDepthMask=static_cast<_OutputArray::DepthMask>(0)) const; + void createSameSize(const _InputArray& arr, int mtype) const; + void release() const; + void clear() const; + void setTo(const _InputArray& value, const _InputArray & mask = _InputArray()) const; + + void assign(const UMat& u) const; + void assign(const Mat& m) const; + + void assign(const std::vector& v) const; + void assign(const std::vector& v) const; + + void move(UMat& u) const; + void move(Mat& m) const; +}; + + +class CV_EXPORTS _InputOutputArray : public _OutputArray +{ +public: + _InputOutputArray(); + _InputOutputArray(int _flags, void* _obj); + _InputOutputArray(Mat& m); + _InputOutputArray(std::vector& vec); + _InputOutputArray(cuda::GpuMat& d_mat); + _InputOutputArray(ogl::Buffer& buf); + _InputOutputArray(cuda::HostMem& cuda_mem); + template _InputOutputArray(cudev::GpuMat_<_Tp>& m); + template _InputOutputArray(std::vector<_Tp>& vec); + _InputOutputArray(std::vector& vec) = delete; // not supported + template _InputOutputArray(std::vector >& vec); + template _InputOutputArray(std::vector >& vec); + template _InputOutputArray(Mat_<_Tp>& m); + template _InputOutputArray(_Tp* vec, int n); + template _InputOutputArray(Matx<_Tp, m, n>& matx); + _InputOutputArray(UMat& m); + _InputOutputArray(std::vector& vec); + + _InputOutputArray(const Mat& m); + _InputOutputArray(const std::vector& vec); + _InputOutputArray(const cuda::GpuMat& d_mat); + _InputOutputArray(const std::vector& d_mat); + _InputOutputArray(const ogl::Buffer& buf); + _InputOutputArray(const cuda::HostMem& cuda_mem); + template _InputOutputArray(const cudev::GpuMat_<_Tp>& m); + template _InputOutputArray(const std::vector<_Tp>& vec); + template _InputOutputArray(const std::vector >& vec); + template _InputOutputArray(const std::vector >& vec); + template _InputOutputArray(const Mat_<_Tp>& m); + template _InputOutputArray(const _Tp* vec, int n); + template _InputOutputArray(const Matx<_Tp, m, n>& matx); + _InputOutputArray(const UMat& m); + _InputOutputArray(const std::vector& vec); + + template _InputOutputArray(std::array<_Tp, _Nm>& arr); + template _InputOutputArray(const std::array<_Tp, _Nm>& arr); + template _InputOutputArray(std::array& arr); + template _InputOutputArray(const std::array& arr); + + template static _InputOutputArray rawInOut(std::vector<_Tp>& vec); + template _InputOutputArray rawInOut(std::array<_Tp, _Nm>& arr); + +}; + +/** Helper to wrap custom types. @see InputArray */ +template static inline _InputArray rawIn(_Tp& v); +/** Helper to wrap custom types. @see InputArray */ +template static inline _OutputArray rawOut(_Tp& v); +/** Helper to wrap custom types. @see InputArray */ +template static inline _InputOutputArray rawInOut(_Tp& v); + +CV__DEBUG_NS_END + +typedef const _InputArray& InputArray; +typedef InputArray InputArrayOfArrays; +typedef const _OutputArray& OutputArray; +typedef OutputArray OutputArrayOfArrays; +typedef const _InputOutputArray& InputOutputArray; +typedef InputOutputArray InputOutputArrayOfArrays; + +CV_EXPORTS InputOutputArray noArray(); + +/////////////////////////////////// MatAllocator ////////////////////////////////////// + +/** @brief Usage flags for allocator + + @warning All flags except `USAGE_DEFAULT` are experimental. + + @warning For the OpenCL allocator, `USAGE_ALLOCATE_SHARED_MEMORY` depends on + OpenCV's optional, experimental integration with OpenCL SVM. To enable this + integration, build OpenCV using the `WITH_OPENCL_SVM=ON` CMake option and, at + runtime, call `cv::ocl::Context::getDefault().setUseSVM(true);` or similar + code. Note that SVM is incompatible with OpenCL 1.x. +*/ +enum UMatUsageFlags +{ + USAGE_DEFAULT = 0, + + // buffer allocation policy is platform and usage specific + USAGE_ALLOCATE_HOST_MEMORY = 1 << 0, + USAGE_ALLOCATE_DEVICE_MEMORY = 1 << 1, + USAGE_ALLOCATE_SHARED_MEMORY = 1 << 2, // It is not equal to: USAGE_ALLOCATE_HOST_MEMORY | USAGE_ALLOCATE_DEVICE_MEMORY + + __UMAT_USAGE_FLAGS_32BIT = 0x7fffffff // Binary compatibility hint +}; + +struct CV_EXPORTS UMatData; + +/** @brief Custom array allocator +*/ +class CV_EXPORTS MatAllocator +{ +public: + MatAllocator() {} + virtual ~MatAllocator() {} + + // let's comment it off for now to detect and fix all the uses of allocator + //virtual void allocate(int dims, const int* sizes, int type, int*& refcount, + // uchar*& datastart, uchar*& data, size_t* step) = 0; + //virtual void deallocate(int* refcount, uchar* datastart, uchar* data) = 0; + virtual UMatData* allocate(int dims, const int* sizes, int type, + void* data, size_t* step, AccessFlag flags, UMatUsageFlags usageFlags) const = 0; + virtual bool allocate(UMatData* data, AccessFlag accessflags, UMatUsageFlags usageFlags) const = 0; + virtual void deallocate(UMatData* data) const = 0; + virtual void map(UMatData* data, AccessFlag accessflags) const; + virtual void unmap(UMatData* data) const; + virtual void download(UMatData* data, void* dst, int dims, const size_t sz[], + const size_t srcofs[], const size_t srcstep[], + const size_t dststep[]) const; + virtual void upload(UMatData* data, const void* src, int dims, const size_t sz[], + const size_t dstofs[], const size_t dststep[], + const size_t srcstep[]) const; + virtual void copy(UMatData* srcdata, UMatData* dstdata, int dims, const size_t sz[], + const size_t srcofs[], const size_t srcstep[], + const size_t dstofs[], const size_t dststep[], bool sync) const; + + // default implementation returns DummyBufferPoolController + virtual BufferPoolController* getBufferPoolController(const char* id = NULL) const; +}; + + +//////////////////////////////// MatCommaInitializer ////////////////////////////////// + +/** @brief Comma-separated Matrix Initializer + + The class instances are usually not created explicitly. + Instead, they are created on "matrix << firstValue" operator. + + The sample below initializes 2x2 rotation matrix: + + \code + double angle = 30, a = cos(angle*CV_PI/180), b = sin(angle*CV_PI/180); + Mat R = (Mat_(2,2) << a, -b, b, a); + \endcode +*/ +template class MatCommaInitializer_ +{ +public: + //! the constructor, created by "matrix << firstValue" operator, where matrix is cv::Mat + MatCommaInitializer_(Mat_<_Tp>* _m); + //! the operator that takes the next value and put it to the matrix + template MatCommaInitializer_<_Tp>& operator , (T2 v); + //! another form of conversion operator + operator Mat_<_Tp>() const; +protected: + MatIterator_<_Tp> it; +}; + + +/////////////////////////////////////// Mat /////////////////////////////////////////// + +// note that umatdata might be allocated together +// with the matrix data, not as a separate object. +// therefore, it does not have constructor or destructor; +// it should be explicitly initialized using init(). +struct CV_EXPORTS UMatData +{ + enum MemoryFlag { COPY_ON_MAP=1, HOST_COPY_OBSOLETE=2, + DEVICE_COPY_OBSOLETE=4, TEMP_UMAT=8, TEMP_COPIED_UMAT=24, + USER_ALLOCATED=32, DEVICE_MEM_MAPPED=64, + ASYNC_CLEANUP=128 + }; + UMatData(const MatAllocator* allocator); + ~UMatData(); + + // provide atomic access to the structure + void lock(); + void unlock(); + + bool hostCopyObsolete() const; + bool deviceCopyObsolete() const; + bool deviceMemMapped() const; + bool copyOnMap() const; + bool tempUMat() const; + bool tempCopiedUMat() const; + void markHostCopyObsolete(bool flag); + void markDeviceCopyObsolete(bool flag); + void markDeviceMemMapped(bool flag); + + const MatAllocator* prevAllocator; + const MatAllocator* currAllocator; + int urefcount; + int refcount; + uchar* data; + uchar* origdata; + size_t size; + + UMatData::MemoryFlag flags; + void* handle; + void* userdata; + int allocatorFlags_; + int mapcount; + UMatData* originalUMatData; + std::shared_ptr allocatorContext; +}; +CV_ENUM_FLAGS(UMatData::MemoryFlag) + + +struct CV_EXPORTS MatSize +{ + explicit MatSize(int* _p) CV_NOEXCEPT; + int dims() const CV_NOEXCEPT; + Size operator()() const; + const int& operator[](int i) const; + int& operator[](int i); + operator const int*() const CV_NOEXCEPT; // TODO OpenCV 4.0: drop this + bool operator == (const MatSize& sz) const CV_NOEXCEPT; + bool operator != (const MatSize& sz) const CV_NOEXCEPT; + + int* p; +}; + +struct CV_EXPORTS MatStep +{ + MatStep() CV_NOEXCEPT; + explicit MatStep(size_t s) CV_NOEXCEPT; + const size_t& operator[](int i) const CV_NOEXCEPT; + size_t& operator[](int i) CV_NOEXCEPT; + operator size_t() const; + MatStep& operator = (size_t s); + + size_t* p; + size_t buf[2]; +protected: + MatStep& operator = (const MatStep&); +}; + +/** @example samples/cpp/cout_mat.cpp +An example demonstrating the serial out capabilities of cv::Mat +*/ + + /** @brief n-dimensional dense array class \anchor CVMat_Details + +The class Mat represents an n-dimensional dense numerical single-channel or multi-channel array. It +can be used to store real or complex-valued vectors and matrices, grayscale or color images, voxel +volumes, vector fields, point clouds, tensors, histograms (though, very high-dimensional histograms +may be better stored in a SparseMat ). The data layout of the array `M` is defined by the array +`M.step[]`, so that the address of element \f$(i_0,...,i_{M.dims-1})\f$, where \f$0\leq i_k= M.step[i+1]` (in fact, `M.step[i] >= M.step[i+1]*M.size[i+1]` ). This means +that 2-dimensional matrices are stored row-by-row, 3-dimensional matrices are stored plane-by-plane, +and so on. M.step[M.dims-1] is minimal and always equal to the element size M.elemSize() . + +So, the data layout in Mat is compatible with the majority of dense array types from the standard +toolkits and SDKs, such as Numpy (ndarray), Win32 (independent device bitmaps), and others, +that is, with any array that uses *steps* (or *strides*) to compute the position of a pixel. +Due to this compatibility, it is possible to make a Mat header for user-allocated data and process +it in-place using OpenCV functions. + +There are many different ways to create a Mat object. The most popular options are listed below: + +- Use the create(nrows, ncols, type) method or the similar Mat(nrows, ncols, type[, fillValue]) +constructor. A new array of the specified size and type is allocated. type has the same meaning as +in the cvCreateMat method. For example, CV_8UC1 means a 8-bit single-channel array, CV_32FC2 +means a 2-channel (complex) floating-point array, and so on. +@code + // make a 7x7 complex matrix filled with 1+3j. + Mat M(7,7,CV_32FC2,Scalar(1,3)); + // and now turn M to a 100x60 15-channel 8-bit matrix. + // The old content will be deallocated + M.create(100,60,CV_8UC(15)); +@endcode +As noted in the introduction to this chapter, create() allocates only a new array when the shape +or type of the current array are different from the specified ones. + +- Create a multi-dimensional array: +@code + // create a 100x100x100 8-bit array + int sz[] = {100, 100, 100}; + Mat bigCube(3, sz, CV_8U, Scalar::all(0)); +@endcode +It passes the number of dimensions =1 to the Mat constructor but the created array will be +2-dimensional with the number of columns set to 1. So, Mat::dims is always \>= 2 (can also be 0 +when the array is empty). + +- Use a copy constructor or assignment operator where there can be an array or expression on the +right side (see below). As noted in the introduction, the array assignment is an O(1) operation +because it only copies the header and increases the reference counter. The Mat::clone() method can +be used to get a full (deep) copy of the array when you need it. + +- Construct a header for a part of another array. It can be a single row, single column, several +rows, several columns, rectangular region in the array (called a *minor* in algebra) or a +diagonal. Such operations are also O(1) because the new header references the same data. You can +actually modify a part of the array using this feature, for example: +@code + // add the 5-th row, multiplied by 3 to the 3rd row + M.row(3) = M.row(3) + M.row(5)*3; + // now copy the 7-th column to the 1-st column + // M.col(1) = M.col(7); // this will not work + Mat M1 = M.col(1); + M.col(7).copyTo(M1); + // create a new 320x240 image + Mat img(Size(320,240),CV_8UC3); + // select a ROI + Mat roi(img, Rect(10,10,100,100)); + // fill the ROI with (0,255,0) (which is green in RGB space); + // the original 320x240 image will be modified + roi = Scalar(0,255,0); +@endcode +Due to the additional datastart and dataend members, it is possible to compute a relative +sub-array position in the main *container* array using locateROI(): +@code + Mat A = Mat::eye(10, 10, CV_32S); + // extracts A columns, 1 (inclusive) to 3 (exclusive). + Mat B = A(Range::all(), Range(1, 3)); + // extracts B rows, 5 (inclusive) to 9 (exclusive). + // that is, C \~ A(Range(5, 9), Range(1, 3)) + Mat C = B(Range(5, 9), Range::all()); + Size size; Point ofs; + C.locateROI(size, ofs); + // size will be (width=10,height=10) and the ofs will be (x=1, y=5) +@endcode +As in case of whole matrices, if you need a deep copy, use the `clone()` method of the extracted +sub-matrices. + +- Make a header for user-allocated data. It can be useful to do the following: + -# Process "foreign" data using OpenCV (for example, when you implement a DirectShow\* filter or + a processing module for gstreamer, and so on). For example: + @code + Mat process_video_frame(const unsigned char* pixels, + int width, int height, int step) + { + // wrap input buffer + Mat img(height, width, CV_8UC3, (unsigned char*)pixels, step); + + Mat result; + GaussianBlur(img, result, Size(7, 7), 1.5, 1.5); + + return result; + } + @endcode + -# Quickly initialize small matrices and/or get a super-fast element access. + @code + double m[3][3] = {{a, b, c}, {d, e, f}, {g, h, i}}; + Mat M = Mat(3, 3, CV_64F, m).inv(); + @endcode + . + +- Use MATLAB-style array initializers, zeros(), ones(), eye(), for example: +@code + // create a double-precision identity matrix and add it to M. + M += Mat::eye(M.rows, M.cols, CV_64F); +@endcode + +- Use a comma-separated initializer: +@code + // create a 3x3 double-precision identity matrix + Mat M = (Mat_(3,3) << 1, 0, 0, 0, 1, 0, 0, 0, 1); +@endcode +With this approach, you first call a constructor of the Mat class with the proper parameters, and +then you just put `<< operator` followed by comma-separated values that can be constants, +variables, expressions, and so on. Also, note the extra parentheses required to avoid compilation +errors. + +Once the array is created, it is automatically managed via a reference-counting mechanism. If the +array header is built on top of user-allocated data, you should handle the data by yourself. The +array data is deallocated when no one points to it. If you want to release the data pointed by a +array header before the array destructor is called, use Mat::release(). + +The next important thing to learn about the array class is element access. This manual already +described how to compute an address of each array element. Normally, you are not required to use the +formula directly in the code. If you know the array element type (which can be retrieved using the +method Mat::type() ), you can access the element \f$M_{ij}\f$ of a 2-dimensional array as: +@code + M.at(i,j) += 1.f; +@endcode +assuming that `M` is a double-precision floating-point array. There are several variants of the method +at for a different number of dimensions. + +If you need to process a whole row of a 2D array, the most efficient way is to get the pointer to +the row first, and then just use the plain C operator [] : +@code + // compute sum of positive matrix elements + // (assuming that M is a double-precision matrix) + double sum=0; + for(int i = 0; i < M.rows; i++) + { + const double* Mi = M.ptr(i); + for(int j = 0; j < M.cols; j++) + sum += std::max(Mi[j], 0.); + } +@endcode +Some operations, like the one above, do not actually depend on the array shape. They just process +elements of an array one by one (or elements from multiple arrays that have the same coordinates, +for example, array addition). Such operations are called *element-wise*. It makes sense to check +whether all the input/output arrays are continuous, namely, have no gaps at the end of each row. If +yes, process them as a long single row: +@code + // compute the sum of positive matrix elements, optimized variant + double sum=0; + int cols = M.cols, rows = M.rows; + if(M.isContinuous()) + { + cols *= rows; + rows = 1; + } + for(int i = 0; i < rows; i++) + { + const double* Mi = M.ptr(i); + for(int j = 0; j < cols; j++) + sum += std::max(Mi[j], 0.); + } +@endcode +In case of the continuous matrix, the outer loop body is executed just once. So, the overhead is +smaller, which is especially noticeable in case of small matrices. + +Finally, there are STL-style iterators that are smart enough to skip gaps between successive rows: +@code + // compute sum of positive matrix elements, iterator-based variant + double sum=0; + MatConstIterator_ it = M.begin(), it_end = M.end(); + for(; it != it_end; ++it) + sum += std::max(*it, 0.); +@endcode +The matrix iterators are random-access iterators, so they can be passed to any STL algorithm, +including std::sort(). + +@note Matrix Expressions and arithmetic see MatExpr +*/ +class CV_EXPORTS Mat +{ +public: + /** + These are various constructors that form a matrix. As noted in the AutomaticAllocation, often + the default constructor is enough, and the proper matrix will be allocated by an OpenCV function. + The constructed matrix can further be assigned to another matrix or matrix expression or can be + allocated with Mat::create . In the former case, the old content is de-referenced. + */ + Mat() CV_NOEXCEPT; + + /** @overload + @param rows Number of rows in a 2D array. + @param cols Number of columns in a 2D array. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + */ + Mat(int rows, int cols, int type); + + /** @overload + @param size 2D array size: Size(cols, rows) . In the Size() constructor, the number of rows and the + number of columns go in the reverse order. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + */ + Mat(Size size, int type); + + /** @overload + @param rows Number of rows in a 2D array. + @param cols Number of columns in a 2D array. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param s An optional value to initialize each matrix element with. To set all the matrix elements to + the particular value after the construction, use the assignment operator + Mat::operator=(const Scalar& value) . + */ + Mat(int rows, int cols, int type, const Scalar& s); + + /** @overload + @param size 2D array size: Size(cols, rows) . In the Size() constructor, the number of rows and the + number of columns go in the reverse order. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param s An optional value to initialize each matrix element with. To set all the matrix elements to + the particular value after the construction, use the assignment operator + Mat::operator=(const Scalar& value) . + */ + Mat(Size size, int type, const Scalar& s); + + /** @overload + @param ndims Array dimensionality. + @param sizes Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + */ + Mat(int ndims, const int* sizes, int type); + + /** @overload + @param sizes Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + */ + Mat(const std::vector& sizes, int type); + + /** @overload + @param ndims Array dimensionality. + @param sizes Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param s An optional value to initialize each matrix element with. To set all the matrix elements to + the particular value after the construction, use the assignment operator + Mat::operator=(const Scalar& value) . + */ + Mat(int ndims, const int* sizes, int type, const Scalar& s); + + /** @overload + @param sizes Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param s An optional value to initialize each matrix element with. To set all the matrix elements to + the particular value after the construction, use the assignment operator + Mat::operator=(const Scalar& value) . + */ + Mat(const std::vector& sizes, int type, const Scalar& s); + + + /** @overload + @param m Array that (as a whole or partly) is assigned to the constructed matrix. No data is copied + by these constructors. Instead, the header pointing to m data or its sub-array is constructed and + associated with it. The reference counter, if any, is incremented. So, when you modify the matrix + formed using such a constructor, you also modify the corresponding elements of m . If you want to + have an independent copy of the sub-array, use Mat::clone() . + */ + Mat(const Mat& m); + + /** @overload + @param rows Number of rows in a 2D array. + @param cols Number of columns in a 2D array. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param data Pointer to the user data. Matrix constructors that take data and step parameters do not + allocate matrix data. Instead, they just initialize the matrix header that points to the specified + data, which means that no data is copied. This operation is very efficient and can be used to + process external data using OpenCV functions. The external data is not automatically deallocated, so + you should take care of it. + @param step Number of bytes each matrix row occupies. The value should include the padding bytes at + the end of each row, if any. If the parameter is missing (set to AUTO_STEP ), no padding is assumed + and the actual step is calculated as cols*elemSize(). See Mat::elemSize. + */ + Mat(int rows, int cols, int type, void* data, size_t step=AUTO_STEP); + + /** @overload + @param size 2D array size: Size(cols, rows) . In the Size() constructor, the number of rows and the + number of columns go in the reverse order. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param data Pointer to the user data. Matrix constructors that take data and step parameters do not + allocate matrix data. Instead, they just initialize the matrix header that points to the specified + data, which means that no data is copied. This operation is very efficient and can be used to + process external data using OpenCV functions. The external data is not automatically deallocated, so + you should take care of it. + @param step Number of bytes each matrix row occupies. The value should include the padding bytes at + the end of each row, if any. If the parameter is missing (set to AUTO_STEP ), no padding is assumed + and the actual step is calculated as cols*elemSize(). See Mat::elemSize. + */ + Mat(Size size, int type, void* data, size_t step=AUTO_STEP); + + /** @overload + @param ndims Array dimensionality. + @param sizes Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param data Pointer to the user data. Matrix constructors that take data and step parameters do not + allocate matrix data. Instead, they just initialize the matrix header that points to the specified + data, which means that no data is copied. This operation is very efficient and can be used to + process external data using OpenCV functions. The external data is not automatically deallocated, so + you should take care of it. + @param steps Array of ndims-1 steps in case of a multi-dimensional array (the last step is always + set to the element size). If not specified, the matrix is assumed to be continuous. + */ + Mat(int ndims, const int* sizes, int type, void* data, const size_t* steps=0); + + /** @overload + @param sizes Array of integers specifying an n-dimensional array shape. + @param type Array type. Use CV_8UC1, ..., CV_64FC4 to create 1-4 channel matrices, or + CV_8UC(n), ..., CV_64FC(n) to create multi-channel (up to CV_CN_MAX channels) matrices. + @param data Pointer to the user data. Matrix constructors that take data and step parameters do not + allocate matrix data. Instead, they just initialize the matrix header that points to the specified + data, which means that no data is copied. This operation is very efficient and can be used to + process external data using OpenCV functions. The external data is not automatically deallocated, so + you should take care of it. + @param steps Array of ndims-1 steps in case of a multi-dimensional array (the last step is always + set to the element size). If not specified, the matrix is assumed to be continuous. + */ + Mat(const std::vector& sizes, int type, void* data, const size_t* steps=0); + + /** @overload + @param m Array that (as a whole or partly) is assigned to the constructed matrix. No data is copied + by these constructors. Instead, the header pointing to m data or its sub-array is constructed and + associated with it. The reference counter, if any, is incremented. So, when you modify the matrix + formed using such a constructor, you also modify the corresponding elements of m . If you want to + have an independent copy of the sub-array, use Mat::clone() . + @param rowRange Range of the m rows to take. As usual, the range start is inclusive and the range + end is exclusive. Use Range::all() to take all the rows. + @param colRange Range of the m columns to take. Use Range::all() to take all the columns. + */ + Mat(const Mat& m, const Range& rowRange, const Range& colRange=Range::all()); + + /** @overload + @param m Array that (as a whole or partly) is assigned to the constructed matrix. No data is copied + by these constructors. Instead, the header pointing to m data or its sub-array is constructed and + associated with it. The reference counter, if any, is incremented. So, when you modify the matrix + formed using such a constructor, you also modify the corresponding elements of m . If you want to + have an independent copy of the sub-array, use Mat::clone() . + @param roi Region of interest. + */ + Mat(const Mat& m, const Rect& roi); + + /** @overload + @param m Array that (as a whole or partly) is assigned to the constructed matrix. No data is copied + by these constructors. Instead, the header pointing to m data or its sub-array is constructed and + associated with it. The reference counter, if any, is incremented. So, when you modify the matrix + formed using such a constructor, you also modify the corresponding elements of m . If you want to + have an independent copy of the sub-array, use Mat::clone() . + @param ranges Array of selected ranges of m along each dimensionality. + */ + Mat(const Mat& m, const Range* ranges); + + /** @overload + @param m Array that (as a whole or partly) is assigned to the constructed matrix. No data is copied + by these constructors. Instead, the header pointing to m data or its sub-array is constructed and + associated with it. The reference counter, if any, is incremented. So, when you modify the matrix + formed using such a constructor, you also modify the corresponding elements of m . If you want to + have an independent copy of the sub-array, use Mat::clone() . + @param ranges Array of selected ranges of m along each dimensionality. + */ + Mat(const Mat& m, const std::vector& ranges); + + /** @overload + @param vec STL vector whose elements form the matrix. The matrix has a single column and the number + of rows equal to the number of vector elements. Type of the matrix matches the type of vector + elements. The constructor can handle arbitrary types, for which there is a properly declared + DataType . This means that the vector elements must be primitive numbers or uni-type numerical + tuples of numbers. Mixed-type structures are not supported. The corresponding constructor is + explicit. Since STL vectors are not automatically converted to Mat instances, you should write + Mat(vec) explicitly. Unless you copy the data into the matrix ( copyData=true ), no new elements + will be added to the vector because it can potentially yield vector data reallocation, and, thus, + the matrix data pointer will be invalid. + @param copyData Flag to specify whether the underlying data of the STL vector should be copied + to (true) or shared with (false) the newly constructed matrix. When the data is copied, the + allocated buffer is managed using Mat reference counting mechanism. While the data is shared, + the reference counter is NULL, and you should not deallocate the data until the matrix is + destructed. + */ + template explicit Mat(const std::vector<_Tp>& vec, bool copyData=false); + + /** @overload + */ + template::value>::type> + explicit Mat(const std::initializer_list<_Tp> list); + + /** @overload + */ + template explicit Mat(const std::initializer_list sizes, const std::initializer_list<_Tp> list); + + /** @overload + */ + template explicit Mat(const std::array<_Tp, _Nm>& arr, bool copyData=false); + + /** @overload + */ + template explicit Mat(const Vec<_Tp, n>& vec, bool copyData=true); + + /** @overload + */ + template explicit Mat(const Matx<_Tp, m, n>& mtx, bool copyData=true); + + /** @overload + */ + template explicit Mat(const Point_<_Tp>& pt, bool copyData=true); + + /** @overload + */ + template explicit Mat(const Point3_<_Tp>& pt, bool copyData=true); + + /** @overload + */ + template explicit Mat(const MatCommaInitializer_<_Tp>& commaInitializer); + + //! download data from GpuMat + explicit Mat(const cuda::GpuMat& m); + + //! destructor - calls release() + ~Mat(); + + /** @brief assignment operators + + These are available assignment operators. Since they all are very different, make sure to read the + operator parameters description. + @param m Assigned, right-hand-side matrix. Matrix assignment is an O(1) operation. This means that + no data is copied but the data is shared and the reference counter, if any, is incremented. Before + assigning new data, the old data is de-referenced via Mat::release . + */ + Mat& operator = (const Mat& m); + + /** @overload + @param expr Assigned matrix expression object. As opposite to the first form of the assignment + operation, the second form can reuse already allocated matrix if it has the right size and type to + fit the matrix expression result. It is automatically handled by the real function that the matrix + expressions is expanded to. For example, C=A+B is expanded to add(A, B, C), and add takes care of + automatic C reallocation. + */ + Mat& operator = (const MatExpr& expr); + + //! retrieve UMat from Mat + UMat getUMat(AccessFlag accessFlags, UMatUsageFlags usageFlags = USAGE_DEFAULT) const; + + /** @brief Creates a matrix header for the specified matrix row. + + The method makes a new header for the specified matrix row and returns it. This is an O(1) + operation, regardless of the matrix size. The underlying data of the new matrix is shared with the + original matrix. Here is the example of one of the classical basic matrix processing operations, + axpy, used by LU and many other algorithms: + @code + inline void matrix_axpy(Mat& A, int i, int j, double alpha) + { + A.row(i) += A.row(j)*alpha; + } + @endcode + @note In the current implementation, the following code does not work as expected: + @code + Mat A; + ... + A.row(i) = A.row(j); // will not work + @endcode + This happens because A.row(i) forms a temporary header that is further assigned to another header. + Remember that each of these operations is O(1), that is, no data is copied. Thus, the above + assignment is not true if you may have expected the j-th row to be copied to the i-th row. To + achieve that, you should either turn this simple assignment into an expression or use the + Mat::copyTo method: + @code + Mat A; + ... + // works, but looks a bit obscure. + A.row(i) = A.row(j) + 0; + // this is a bit longer, but the recommended method. + A.row(j).copyTo(A.row(i)); + @endcode + @param y A 0-based row index. + */ + Mat row(int y) const; + + /** @brief Creates a matrix header for the specified matrix column. + + The method makes a new header for the specified matrix column and returns it. This is an O(1) + operation, regardless of the matrix size. The underlying data of the new matrix is shared with the + original matrix. See also the Mat::row description. + @param x A 0-based column index. + */ + Mat col(int x) const; + + /** @brief Creates a matrix header for the specified row span. + + The method makes a new header for the specified row span of the matrix. Similarly to Mat::row and + Mat::col , this is an O(1) operation. + @param startrow An inclusive 0-based start index of the row span. + @param endrow An exclusive 0-based ending index of the row span. + */ + Mat rowRange(int startrow, int endrow) const; + + /** @overload + @param r Range structure containing both the start and the end indices. + */ + Mat rowRange(const Range& r) const; + + /** @brief Creates a matrix header for the specified column span. + + The method makes a new header for the specified column span of the matrix. Similarly to Mat::row and + Mat::col , this is an O(1) operation. + @param startcol An inclusive 0-based start index of the column span. + @param endcol An exclusive 0-based ending index of the column span. + */ + Mat colRange(int startcol, int endcol) const; + + /** @overload + @param r Range structure containing both the start and the end indices. + */ + Mat colRange(const Range& r) const; + + /** @brief Extracts a diagonal from a matrix + + The method makes a new header for the specified matrix diagonal. The new matrix is represented as a + single-column matrix. Similarly to Mat::row and Mat::col, this is an O(1) operation. + @param d index of the diagonal, with the following values: + - `d=0` is the main diagonal. + - `d<0` is a diagonal from the lower half. For example, d=-1 means the diagonal is set + immediately below the main one. + - `d>0` is a diagonal from the upper half. For example, d=1 means the diagonal is set + immediately above the main one. + For example: + @code + Mat m = (Mat_(3,3) << + 1,2,3, + 4,5,6, + 7,8,9); + Mat d0 = m.diag(0); + Mat d1 = m.diag(1); + Mat d_1 = m.diag(-1); + @endcode + The resulting matrices are + @code + d0 = + [1; + 5; + 9] + d1 = + [2; + 6] + d_1 = + [4; + 8] + @endcode + */ + Mat diag(int d=0) const; + + /** @brief creates a diagonal matrix + + The method creates a square diagonal matrix from specified main diagonal. + @param d One-dimensional matrix that represents the main diagonal. + */ + CV_NODISCARD_STD static Mat diag(const Mat& d); + + /** @brief Creates a full copy of the array and the underlying data. + + The method creates a full copy of the array. The original step[] is not taken into account. So, the + array copy is a continuous array occupying total()*elemSize() bytes. + */ + CV_NODISCARD_STD Mat clone() const; + + /** @brief Copies the matrix to another one. + + The method copies the matrix data to another matrix. Before copying the data, the method invokes : + @code + m.create(this->size(), this->type()); + @endcode + so that the destination matrix is reallocated if needed. While m.copyTo(m); works flawlessly, the + function does not handle the case of a partial overlap between the source and the destination + matrices. + + When the operation mask is specified, if the Mat::create call shown above reallocates the matrix, + the newly allocated matrix is initialized with all zeros before copying the data. + @param m Destination matrix. If it does not have a proper size or type before the operation, it is + reallocated. + */ + void copyTo( OutputArray m ) const; + + /** @overload + @param m Destination matrix. If it does not have a proper size or type before the operation, it is + reallocated. + @param mask Operation mask of the same size as \*this. Its non-zero elements indicate which matrix + elements need to be copied. The mask has to be of type CV_8U and can have 1 or multiple channels. + */ + void copyTo( OutputArray m, InputArray mask ) const; + + /** @brief Converts an array to another data type with optional scaling. + + The method converts source pixel values to the target data type. saturate_cast\<\> is applied at + the end to avoid possible overflows: + + \f[m(x,y) = saturate \_ cast( \alpha (*this)(x,y) + \beta )\f] + @param m output matrix; if it does not have a proper size or type before the operation, it is + reallocated. + @param rtype desired output matrix type or, rather, the depth since the number of channels are the + same as the input has; if rtype is negative, the output matrix will have the same type as the input. + @param alpha optional scale factor. + @param beta optional delta added to the scaled values. + */ + void convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 ) const; + + /** @brief Provides a functional form of convertTo. + + This is an internally used method called by the @ref MatrixExpressions engine. + @param m Destination array. + @param type Desired destination array depth (or -1 if it should be the same as the source type). + */ + void assignTo( Mat& m, int type=-1 ) const; + + /** @brief Sets all or some of the array elements to the specified value. + @param s Assigned scalar converted to the actual array type. + */ + Mat& operator = (const Scalar& s); + + /** @brief Sets all or some of the array elements to the specified value. + + This is an advanced variant of the Mat::operator=(const Scalar& s) operator. + @param value Assigned scalar converted to the actual array type. + @param mask Operation mask of the same size as \*this. Its non-zero elements indicate which matrix + elements need to be copied. The mask has to be of type CV_8U and can have 1 or multiple channels + */ + Mat& setTo(InputArray value, InputArray mask=noArray()); + + /** @brief Changes the shape and/or the number of channels of a 2D matrix without copying the data. + + The method makes a new matrix header for \*this elements. The new matrix may have a different size + and/or different number of channels. Any combination is possible if: + - No extra elements are included into the new matrix and no elements are excluded. Consequently, + the product rows\*cols\*channels() must stay the same after the transformation. + - No data is copied. That is, this is an O(1) operation. Consequently, if you change the number of + rows, or the operation changes the indices of elements row in some other way, the matrix must be + continuous. See Mat::isContinuous . + + For example, if there is a set of 3D points stored as an STL vector, and you want to represent the + points as a 3xN matrix, do the following: + @code + std::vector vec; + ... + Mat pointMat = Mat(vec). // convert vector to Mat, O(1) operation + reshape(1). // make Nx3 1-channel matrix out of Nx1 3-channel. + // Also, an O(1) operation + t(); // finally, transpose the Nx3 matrix. + // This involves copying all the elements + @endcode + 3-channel 2x2 matrix reshaped to 1-channel 4x3 matrix, each column has values from one of original channels: + @code + Mat m(Size(2, 2), CV_8UC3, Scalar(1, 2, 3)); + vector new_shape {4, 3}; + m = m.reshape(1, new_shape); + @endcode + or: + @code + Mat m(Size(2, 2), CV_8UC3, Scalar(1, 2, 3)); + const int new_shape[] = {4, 3}; + m = m.reshape(1, 2, new_shape); + @endcode + @param cn New number of channels. If the parameter is 0, the number of channels remains the same. + @param rows New number of rows. If the parameter is 0, the number of rows remains the same. + */ + Mat reshape(int cn, int rows=0) const; + + /** @overload + * @param cn New number of channels. If the parameter is 0, the number of channels remains the same. + * @param newndims New number of dimentions. + * @param newsz Array with new matrix size by all dimentions. If some sizes are zero, + * the original sizes in those dimensions are presumed. + */ + Mat reshape(int cn, int newndims, const int* newsz) const; + + /** @overload + * @param cn New number of channels. If the parameter is 0, the number of channels remains the same. + * @param newshape Vector with new matrix size by all dimentions. If some sizes are zero, + * the original sizes in those dimensions are presumed. + */ + Mat reshape(int cn, const std::vector& newshape) const; + + /** @brief Transposes a matrix. + + The method performs matrix transposition by means of matrix expressions. It does not perform the + actual transposition but returns a temporary matrix transposition object that can be further used as + a part of more complex matrix expressions or can be assigned to a matrix: + @code + Mat A1 = A + Mat::eye(A.size(), A.type())*lambda; + Mat C = A1.t()*A1; // compute (A + lambda*I)^t * (A + lamda*I) + @endcode + */ + MatExpr t() const; + + /** @brief Inverses a matrix. + + The method performs a matrix inversion by means of matrix expressions. This means that a temporary + matrix inversion object is returned by the method and can be used further as a part of more complex + matrix expressions or can be assigned to a matrix. + @param method Matrix inversion method. One of cv::DecompTypes + */ + MatExpr inv(int method=DECOMP_LU) const; + + /** @brief Performs an element-wise multiplication or division of the two matrices. + + The method returns a temporary object encoding per-element array multiplication, with optional + scale. Note that this is not a matrix multiplication that corresponds to a simpler "\*" operator. + + Example: + @code + Mat C = A.mul(5/B); // equivalent to divide(A, B, C, 5) + @endcode + @param m Another array of the same type and the same size as \*this, or a matrix expression. + @param scale Optional scale factor. + */ + MatExpr mul(InputArray m, double scale=1) const; + + /** @brief Computes a cross-product of two 3-element vectors. + + The method computes a cross-product of two 3-element vectors. The vectors must be 3-element + floating-point vectors of the same shape and size. The result is another 3-element vector of the + same shape and type as operands. + @param m Another cross-product operand. + */ + Mat cross(InputArray m) const; + + /** @brief Computes a dot-product of two vectors. + + The method computes a dot-product of two matrices. If the matrices are not single-column or + single-row vectors, the top-to-bottom left-to-right scan ordering is used to treat them as 1D + vectors. The vectors must have the same size and type. If the matrices have more than one channel, + the dot products from all the channels are summed together. + @param m another dot-product operand. + */ + double dot(InputArray m) const; + + /** @brief Returns a zero array of the specified size and type. + + The method returns a Matlab-style zero array initializer. It can be used to quickly form a constant + array as a function parameter, part of a matrix expression, or as a matrix initializer: + @code + Mat A; + A = Mat::zeros(3, 3, CV_32F); + @endcode + In the example above, a new matrix is allocated only if A is not a 3x3 floating-point matrix. + Otherwise, the existing matrix A is filled with zeros. + @param rows Number of rows. + @param cols Number of columns. + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr zeros(int rows, int cols, int type); + + /** @overload + @param size Alternative to the matrix size specification Size(cols, rows) . + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr zeros(Size size, int type); + + /** @overload + @param ndims Array dimensionality. + @param sz Array of integers specifying the array shape. + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr zeros(int ndims, const int* sz, int type); + + /** @brief Returns an array of all 1's of the specified size and type. + + The method returns a Matlab-style 1's array initializer, similarly to Mat::zeros. Note that using + this method you can initialize an array with an arbitrary value, using the following Matlab idiom: + @code + Mat A = Mat::ones(100, 100, CV_8U)*3; // make 100x100 matrix filled with 3. + @endcode + The above operation does not form a 100x100 matrix of 1's and then multiply it by 3. Instead, it + just remembers the scale factor (3 in this case) and use it when actually invoking the matrix + initializer. + @note In case of multi-channels type, only the first channel will be initialized with 1's, the + others will be set to 0's. + @param rows Number of rows. + @param cols Number of columns. + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr ones(int rows, int cols, int type); + + /** @overload + @param size Alternative to the matrix size specification Size(cols, rows) . + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr ones(Size size, int type); + + /** @overload + @param ndims Array dimensionality. + @param sz Array of integers specifying the array shape. + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr ones(int ndims, const int* sz, int type); + + /** @brief Returns an identity matrix of the specified size and type. + + The method returns a Matlab-style identity matrix initializer, similarly to Mat::zeros. Similarly to + Mat::ones, you can use a scale operation to create a scaled identity matrix efficiently: + @code + // make a 4x4 diagonal matrix with 0.1's on the diagonal. + Mat A = Mat::eye(4, 4, CV_32F)*0.1; + @endcode + @note In case of multi-channels type, identity matrix will be initialized only for the first channel, + the others will be set to 0's + @param rows Number of rows. + @param cols Number of columns. + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr eye(int rows, int cols, int type); + + /** @overload + @param size Alternative matrix size specification as Size(cols, rows) . + @param type Created matrix type. + */ + CV_NODISCARD_STD static MatExpr eye(Size size, int type); + + /** @brief Allocates new array data if needed. + + This is one of the key Mat methods. Most new-style OpenCV functions and methods that produce arrays + call this method for each output array. The method uses the following algorithm: + + -# If the current array shape and the type match the new ones, return immediately. Otherwise, + de-reference the previous data by calling Mat::release. + -# Initialize the new header. + -# Allocate the new data of total()\*elemSize() bytes. + -# Allocate the new, associated with the data, reference counter and set it to 1. + + Such a scheme makes the memory management robust and efficient at the same time and helps avoid + extra typing for you. This means that usually there is no need to explicitly allocate output arrays. + That is, instead of writing: + @code + Mat color; + ... + Mat gray(color.rows, color.cols, color.depth()); + cvtColor(color, gray, COLOR_BGR2GRAY); + @endcode + you can simply write: + @code + Mat color; + ... + Mat gray; + cvtColor(color, gray, COLOR_BGR2GRAY); + @endcode + because cvtColor, as well as the most of OpenCV functions, calls Mat::create() for the output array + internally. + @param rows New number of rows. + @param cols New number of columns. + @param type New matrix type. + */ + void create(int rows, int cols, int type); + + /** @overload + @param size Alternative new matrix size specification: Size(cols, rows) + @param type New matrix type. + */ + void create(Size size, int type); + + /** @overload + @param ndims New array dimensionality. + @param sizes Array of integers specifying a new array shape. + @param type New matrix type. + */ + void create(int ndims, const int* sizes, int type); + + /** @overload + @param sizes Array of integers specifying a new array shape. + @param type New matrix type. + */ + void create(const std::vector& sizes, int type); + + /** @brief Increments the reference counter. + + The method increments the reference counter associated with the matrix data. If the matrix header + points to an external data set (see Mat::Mat ), the reference counter is NULL, and the method has no + effect in this case. Normally, to avoid memory leaks, the method should not be called explicitly. It + is called implicitly by the matrix assignment operator. The reference counter increment is an atomic + operation on the platforms that support it. Thus, it is safe to operate on the same matrices + asynchronously in different threads. + */ + void addref(); + + /** @brief Decrements the reference counter and deallocates the matrix if needed. + + The method decrements the reference counter associated with the matrix data. When the reference + counter reaches 0, the matrix data is deallocated and the data and the reference counter pointers + are set to NULL's. If the matrix header points to an external data set (see Mat::Mat ), the + reference counter is NULL, and the method has no effect in this case. + + This method can be called manually to force the matrix data deallocation. But since this method is + automatically called in the destructor, or by any other method that changes the data pointer, it is + usually not needed. The reference counter decrement and check for 0 is an atomic operation on the + platforms that support it. Thus, it is safe to operate on the same matrices asynchronously in + different threads. + */ + void release(); + + //! internal use function, consider to use 'release' method instead; deallocates the matrix data + void deallocate(); + //! internal use function; properly re-allocates _size, _step arrays + void copySize(const Mat& m); + + /** @brief Reserves space for the certain number of rows. + + The method reserves space for sz rows. If the matrix already has enough space to store sz rows, + nothing happens. If the matrix is reallocated, the first Mat::rows rows are preserved. The method + emulates the corresponding method of the STL vector class. + @param sz Number of rows. + */ + void reserve(size_t sz); + + /** @brief Reserves space for the certain number of bytes. + + The method reserves space for sz bytes. If the matrix already has enough space to store sz bytes, + nothing happens. If matrix has to be reallocated its previous content could be lost. + @param sz Number of bytes. + */ + void reserveBuffer(size_t sz); + + /** @brief Changes the number of matrix rows. + + The methods change the number of matrix rows. If the matrix is reallocated, the first + min(Mat::rows, sz) rows are preserved. The methods emulate the corresponding methods of the STL + vector class. + @param sz New number of rows. + */ + void resize(size_t sz); + + /** @overload + @param sz New number of rows. + @param s Value assigned to the newly added elements. + */ + void resize(size_t sz, const Scalar& s); + + //! internal function + void push_back_(const void* elem); + + /** @brief Adds elements to the bottom of the matrix. + + The methods add one or more elements to the bottom of the matrix. They emulate the corresponding + method of the STL vector class. When elem is Mat , its type and the number of columns must be the + same as in the container matrix. + @param elem Added element(s). + */ + template void push_back(const _Tp& elem); + + /** @overload + @param elem Added element(s). + */ + template void push_back(const Mat_<_Tp>& elem); + + /** @overload + @param elem Added element(s). + */ + template void push_back(const std::vector<_Tp>& elem); + + /** @overload + @param m Added line(s). + */ + void push_back(const Mat& m); + + /** @brief Removes elements from the bottom of the matrix. + + The method removes one or more rows from the bottom of the matrix. + @param nelems Number of removed rows. If it is greater than the total number of rows, an exception + is thrown. + */ + void pop_back(size_t nelems=1); + + /** @brief Locates the matrix header within a parent matrix. + + After you extracted a submatrix from a matrix using Mat::row, Mat::col, Mat::rowRange, + Mat::colRange, and others, the resultant submatrix points just to the part of the original big + matrix. However, each submatrix contains information (represented by datastart and dataend + fields) that helps reconstruct the original matrix size and the position of the extracted + submatrix within the original matrix. The method locateROI does exactly that. + @param wholeSize Output parameter that contains the size of the whole matrix containing *this* + as a part. + @param ofs Output parameter that contains an offset of *this* inside the whole matrix. + */ + void locateROI( Size& wholeSize, Point& ofs ) const; + + /** @brief Adjusts a submatrix size and position within the parent matrix. + + The method is complimentary to Mat::locateROI . The typical use of these functions is to determine + the submatrix position within the parent matrix and then shift the position somehow. Typically, it + can be required for filtering operations when pixels outside of the ROI should be taken into + account. When all the method parameters are positive, the ROI needs to grow in all directions by the + specified amount, for example: + @code + A.adjustROI(2, 2, 2, 2); + @endcode + In this example, the matrix size is increased by 4 elements in each direction. The matrix is shifted + by 2 elements to the left and 2 elements up, which brings in all the necessary pixels for the + filtering with the 5x5 kernel. + + adjustROI forces the adjusted ROI to be inside of the parent matrix that is boundaries of the + adjusted ROI are constrained by boundaries of the parent matrix. For example, if the submatrix A is + located in the first row of a parent matrix and you called A.adjustROI(2, 2, 2, 2) then A will not + be increased in the upward direction. + + The function is used internally by the OpenCV filtering functions, like filter2D , morphological + operations, and so on. + @param dtop Shift of the top submatrix boundary upwards. + @param dbottom Shift of the bottom submatrix boundary downwards. + @param dleft Shift of the left submatrix boundary to the left. + @param dright Shift of the right submatrix boundary to the right. + @sa copyMakeBorder + */ + Mat& adjustROI( int dtop, int dbottom, int dleft, int dright ); + + /** @brief Extracts a rectangular submatrix. + + The operators make a new header for the specified sub-array of \*this . They are the most + generalized forms of Mat::row, Mat::col, Mat::rowRange, and Mat::colRange . For example, + `A(Range(0, 10), Range::all())` is equivalent to `A.rowRange(0, 10)`. Similarly to all of the above, + the operators are O(1) operations, that is, no matrix data is copied. + @param rowRange Start and end row of the extracted submatrix. The upper boundary is not included. To + select all the rows, use Range::all(). + @param colRange Start and end column of the extracted submatrix. The upper boundary is not included. + To select all the columns, use Range::all(). + */ + Mat operator()( Range rowRange, Range colRange ) const; + + /** @overload + @param roi Extracted submatrix specified as a rectangle. + */ + Mat operator()( const Rect& roi ) const; + + /** @overload + @param ranges Array of selected ranges along each array dimension. + */ + Mat operator()( const Range* ranges ) const; + + /** @overload + @param ranges Array of selected ranges along each array dimension. + */ + Mat operator()(const std::vector& ranges) const; + + template operator std::vector<_Tp>() const; + template operator Vec<_Tp, n>() const; + template operator Matx<_Tp, m, n>() const; + + template operator std::array<_Tp, _Nm>() const; + + /** @brief Reports whether the matrix is continuous or not. + + The method returns true if the matrix elements are stored continuously without gaps at the end of + each row. Otherwise, it returns false. Obviously, 1x1 or 1xN matrices are always continuous. + Matrices created with Mat::create are always continuous. But if you extract a part of the matrix + using Mat::col, Mat::diag, and so on, or constructed a matrix header for externally allocated data, + such matrices may no longer have this property. + + The continuity flag is stored as a bit in the Mat::flags field and is computed automatically when + you construct a matrix header. Thus, the continuity check is a very fast operation, though + theoretically it could be done as follows: + @code + // alternative implementation of Mat::isContinuous() + bool myCheckMatContinuity(const Mat& m) + { + //return (m.flags & Mat::CONTINUOUS_FLAG) != 0; + return m.rows == 1 || m.step == m.cols*m.elemSize(); + } + @endcode + The method is used in quite a few of OpenCV functions. The point is that element-wise operations + (such as arithmetic and logical operations, math functions, alpha blending, color space + transformations, and others) do not depend on the image geometry. Thus, if all the input and output + arrays are continuous, the functions can process them as very long single-row vectors. The example + below illustrates how an alpha-blending function can be implemented: + @code + template + void alphaBlendRGBA(const Mat& src1, const Mat& src2, Mat& dst) + { + const float alpha_scale = (float)std::numeric_limits::max(), + inv_scale = 1.f/alpha_scale; + + CV_Assert( src1.type() == src2.type() && + src1.type() == CV_MAKETYPE(traits::Depth::value, 4) && + src1.size() == src2.size()); + Size size = src1.size(); + dst.create(size, src1.type()); + + // here is the idiom: check the arrays for continuity and, + // if this is the case, + // treat the arrays as 1D vectors + if( src1.isContinuous() && src2.isContinuous() && dst.isContinuous() ) + { + size.width *= size.height; + size.height = 1; + } + size.width *= 4; + + for( int i = 0; i < size.height; i++ ) + { + // when the arrays are continuous, + // the outer loop is executed only once + const T* ptr1 = src1.ptr(i); + const T* ptr2 = src2.ptr(i); + T* dptr = dst.ptr(i); + + for( int j = 0; j < size.width; j += 4 ) + { + float alpha = ptr1[j+3]*inv_scale, beta = ptr2[j+3]*inv_scale; + dptr[j] = saturate_cast(ptr1[j]*alpha + ptr2[j]*beta); + dptr[j+1] = saturate_cast(ptr1[j+1]*alpha + ptr2[j+1]*beta); + dptr[j+2] = saturate_cast(ptr1[j+2]*alpha + ptr2[j+2]*beta); + dptr[j+3] = saturate_cast((1 - (1-alpha)*(1-beta))*alpha_scale); + } + } + } + @endcode + This approach, while being very simple, can boost the performance of a simple element-operation by + 10-20 percents, especially if the image is rather small and the operation is quite simple. + + Another OpenCV idiom in this function, a call of Mat::create for the destination array, that + allocates the destination array unless it already has the proper size and type. And while the newly + allocated arrays are always continuous, you still need to check the destination array because + Mat::create does not always allocate a new matrix. + */ + bool isContinuous() const; + + //! returns true if the matrix is a submatrix of another matrix + bool isSubmatrix() const; + + /** @brief Returns the matrix element size in bytes. + + The method returns the matrix element size in bytes. For example, if the matrix type is CV_16SC3 , + the method returns 3\*sizeof(short) or 6. + */ + size_t elemSize() const; + + /** @brief Returns the size of each matrix element channel in bytes. + + The method returns the matrix element channel size in bytes, that is, it ignores the number of + channels. For example, if the matrix type is CV_16SC3 , the method returns sizeof(short) or 2. + */ + size_t elemSize1() const; + + /** @brief Returns the type of a matrix element. + + The method returns a matrix element type. This is an identifier compatible with the CvMat type + system, like CV_16SC3 or 16-bit signed 3-channel array, and so on. + */ + int type() const; + + /** @brief Returns the depth of a matrix element. + + The method returns the identifier of the matrix element depth (the type of each individual channel). + For example, for a 16-bit signed element array, the method returns CV_16S . A complete list of + matrix types contains the following values: + - CV_8U - 8-bit unsigned integers ( 0..255 ) + - CV_8S - 8-bit signed integers ( -128..127 ) + - CV_16U - 16-bit unsigned integers ( 0..65535 ) + - CV_16S - 16-bit signed integers ( -32768..32767 ) + - CV_32S - 32-bit signed integers ( -2147483648..2147483647 ) + - CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN ) + - CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN ) + */ + int depth() const; + + /** @brief Returns the number of matrix channels. + + The method returns the number of matrix channels. + */ + int channels() const; + + /** @brief Returns a normalized step. + + The method returns a matrix step divided by Mat::elemSize1() . It can be useful to quickly access an + arbitrary matrix element. + */ + size_t step1(int i=0) const; + + /** @brief Returns true if the array has no elements. + + The method returns true if Mat::total() is 0 or if Mat::data is NULL. Because of pop_back() and + resize() methods `M.total() == 0` does not imply that `M.data == NULL`. + */ + bool empty() const; + + /** @brief Returns the total number of array elements. + + The method returns the number of array elements (a number of pixels if the array represents an + image). + */ + size_t total() const; + + /** @brief Returns the total number of array elements. + + The method returns the number of elements within a certain sub-array slice with startDim <= dim < endDim + */ + size_t total(int startDim, int endDim=INT_MAX) const; + + /** + * @param elemChannels Number of channels or number of columns the matrix should have. + * For a 2-D matrix, when the matrix has only 1 column, then it should have + * elemChannels channels; When the matrix has only 1 channel, + * then it should have elemChannels columns. + * For a 3-D matrix, it should have only one channel. Furthermore, + * if the number of planes is not one, then the number of rows + * within every plane has to be 1; if the number of rows within + * every plane is not 1, then the number of planes has to be 1. + * @param depth The depth the matrix should have. Set it to -1 when any depth is fine. + * @param requireContinuous Set it to true to require the matrix to be continuous + * @return -1 if the requirement is not satisfied. + * Otherwise, it returns the number of elements in the matrix. Note + * that an element may have multiple channels. + * + * The following code demonstrates its usage for a 2-d matrix: + * @snippet snippets/core_mat_checkVector.cpp example-2d + * + * The following code demonstrates its usage for a 3-d matrix: + * @snippet snippets/core_mat_checkVector.cpp example-3d + */ + int checkVector(int elemChannels, int depth=-1, bool requireContinuous=true) const; + + /** @brief Returns a pointer to the specified matrix row. + + The methods return `uchar*` or typed pointer to the specified matrix row. See the sample in + Mat::isContinuous to know how to use these methods. + @param i0 A 0-based row index. + */ + uchar* ptr(int i0=0); + /** @overload */ + const uchar* ptr(int i0=0) const; + + /** @overload + @param row Index along the dimension 0 + @param col Index along the dimension 1 + */ + uchar* ptr(int row, int col); + /** @overload + @param row Index along the dimension 0 + @param col Index along the dimension 1 + */ + const uchar* ptr(int row, int col) const; + + /** @overload */ + uchar* ptr(int i0, int i1, int i2); + /** @overload */ + const uchar* ptr(int i0, int i1, int i2) const; + + /** @overload */ + uchar* ptr(const int* idx); + /** @overload */ + const uchar* ptr(const int* idx) const; + /** @overload */ + template uchar* ptr(const Vec& idx); + /** @overload */ + template const uchar* ptr(const Vec& idx) const; + + /** @overload */ + template _Tp* ptr(int i0=0); + /** @overload */ + template const _Tp* ptr(int i0=0) const; + /** @overload + @param row Index along the dimension 0 + @param col Index along the dimension 1 + */ + template _Tp* ptr(int row, int col); + /** @overload + @param row Index along the dimension 0 + @param col Index along the dimension 1 + */ + template const _Tp* ptr(int row, int col) const; + /** @overload */ + template _Tp* ptr(int i0, int i1, int i2); + /** @overload */ + template const _Tp* ptr(int i0, int i1, int i2) const; + /** @overload */ + template _Tp* ptr(const int* idx); + /** @overload */ + template const _Tp* ptr(const int* idx) const; + /** @overload */ + template _Tp* ptr(const Vec& idx); + /** @overload */ + template const _Tp* ptr(const Vec& idx) const; + + /** @brief Returns a reference to the specified array element. + + The template methods return a reference to the specified array element. For the sake of higher + performance, the index range checks are only performed in the Debug configuration. + + Note that the variants with a single index (i) can be used to access elements of single-row or + single-column 2-dimensional arrays. That is, if, for example, A is a 1 x N floating-point matrix and + B is an M x 1 integer matrix, you can simply write `A.at(k+4)` and `B.at(2*i+1)` + instead of `A.at(0,k+4)` and `B.at(2*i+1,0)`, respectively. + + The example below initializes a Hilbert matrix: + @code + Mat H(100, 100, CV_64F); + for(int i = 0; i < H.rows; i++) + for(int j = 0; j < H.cols; j++) + H.at(i,j)=1./(i+j+1); + @endcode + + Keep in mind that the size identifier used in the at operator cannot be chosen at random. It depends + on the image from which you are trying to retrieve the data. The table below gives a better insight in this: + - If matrix is of type `CV_8U` then use `Mat.at(y,x)`. + - If matrix is of type `CV_8S` then use `Mat.at(y,x)`. + - If matrix is of type `CV_16U` then use `Mat.at(y,x)`. + - If matrix is of type `CV_16S` then use `Mat.at(y,x)`. + - If matrix is of type `CV_32S` then use `Mat.at(y,x)`. + - If matrix is of type `CV_32F` then use `Mat.at(y,x)`. + - If matrix is of type `CV_64F` then use `Mat.at(y,x)`. + + @param i0 Index along the dimension 0 + */ + template _Tp& at(int i0=0); + /** @overload + @param i0 Index along the dimension 0 + */ + template const _Tp& at(int i0=0) const; + /** @overload + @param row Index along the dimension 0 + @param col Index along the dimension 1 + */ + template _Tp& at(int row, int col); + /** @overload + @param row Index along the dimension 0 + @param col Index along the dimension 1 + */ + template const _Tp& at(int row, int col) const; + + /** @overload + @param i0 Index along the dimension 0 + @param i1 Index along the dimension 1 + @param i2 Index along the dimension 2 + */ + template _Tp& at(int i0, int i1, int i2); + /** @overload + @param i0 Index along the dimension 0 + @param i1 Index along the dimension 1 + @param i2 Index along the dimension 2 + */ + template const _Tp& at(int i0, int i1, int i2) const; + + /** @overload + @param idx Array of Mat::dims indices. + */ + template _Tp& at(const int* idx); + /** @overload + @param idx Array of Mat::dims indices. + */ + template const _Tp& at(const int* idx) const; + + /** @overload */ + template _Tp& at(const Vec& idx); + /** @overload */ + template const _Tp& at(const Vec& idx) const; + + /** @overload + special versions for 2D arrays (especially convenient for referencing image pixels) + @param pt Element position specified as Point(j,i) . + */ + template _Tp& at(Point pt); + /** @overload + special versions for 2D arrays (especially convenient for referencing image pixels) + @param pt Element position specified as Point(j,i) . + */ + template const _Tp& at(Point pt) const; + + /** @brief Returns the matrix iterator and sets it to the first matrix element. + + The methods return the matrix read-only or read-write iterators. The use of matrix iterators is very + similar to the use of bi-directional STL iterators. In the example below, the alpha blending + function is rewritten using the matrix iterators: + @code + template + void alphaBlendRGBA(const Mat& src1, const Mat& src2, Mat& dst) + { + typedef Vec VT; + + const float alpha_scale = (float)std::numeric_limits::max(), + inv_scale = 1.f/alpha_scale; + + CV_Assert( src1.type() == src2.type() && + src1.type() == traits::Type::value && + src1.size() == src2.size()); + Size size = src1.size(); + dst.create(size, src1.type()); + + MatConstIterator_ it1 = src1.begin(), it1_end = src1.end(); + MatConstIterator_ it2 = src2.begin(); + MatIterator_ dst_it = dst.begin(); + + for( ; it1 != it1_end; ++it1, ++it2, ++dst_it ) + { + VT pix1 = *it1, pix2 = *it2; + float alpha = pix1[3]*inv_scale, beta = pix2[3]*inv_scale; + *dst_it = VT(saturate_cast(pix1[0]*alpha + pix2[0]*beta), + saturate_cast(pix1[1]*alpha + pix2[1]*beta), + saturate_cast(pix1[2]*alpha + pix2[2]*beta), + saturate_cast((1 - (1-alpha)*(1-beta))*alpha_scale)); + } + } + @endcode + */ + template MatIterator_<_Tp> begin(); + template MatConstIterator_<_Tp> begin() const; + + /** @brief Same as begin() but for inverse traversal + */ + template std::reverse_iterator> rbegin(); + template std::reverse_iterator> rbegin() const; + + /** @brief Returns the matrix iterator and sets it to the after-last matrix element. + + The methods return the matrix read-only or read-write iterators, set to the point following the last + matrix element. + */ + template MatIterator_<_Tp> end(); + template MatConstIterator_<_Tp> end() const; + + /** @brief Same as end() but for inverse traversal + */ + template std::reverse_iterator< MatIterator_<_Tp>> rend(); + template std::reverse_iterator< MatConstIterator_<_Tp>> rend() const; + + + /** @brief Runs the given functor over all matrix elements in parallel. + + The operation passed as argument has to be a function pointer, a function object or a lambda(C++11). + + Example 1. All of the operations below put 0xFF the first channel of all matrix elements: + @code + Mat image(1920, 1080, CV_8UC3); + typedef cv::Point3_ Pixel; + + // first. raw pointer access. + for (int r = 0; r < image.rows; ++r) { + Pixel* ptr = image.ptr(r, 0); + const Pixel* ptr_end = ptr + image.cols; + for (; ptr != ptr_end; ++ptr) { + ptr->x = 255; + } + } + + // Using MatIterator. (Simple but there are a Iterator's overhead) + for (Pixel &p : cv::Mat_(image)) { + p.x = 255; + } + + // Parallel execution with function object. + struct Operator { + void operator ()(Pixel &pixel, const int * position) { + pixel.x = 255; + } + }; + image.forEach(Operator()); + + // Parallel execution using C++11 lambda. + image.forEach([](Pixel &p, const int * position) -> void { + p.x = 255; + }); + @endcode + Example 2. Using the pixel's position: + @code + // Creating 3D matrix (255 x 255 x 255) typed uint8_t + // and initialize all elements by the value which equals elements position. + // i.e. pixels (x,y,z) = (1,2,3) is (b,g,r) = (1,2,3). + + int sizes[] = { 255, 255, 255 }; + typedef cv::Point3_ Pixel; + + Mat_ image = Mat::zeros(3, sizes, CV_8UC3); + + image.forEach([](Pixel& pixel, const int position[]) -> void { + pixel.x = position[0]; + pixel.y = position[1]; + pixel.z = position[2]; + }); + @endcode + */ + template void forEach(const Functor& operation); + /** @overload */ + template void forEach(const Functor& operation) const; + + Mat(Mat&& m); + Mat& operator = (Mat&& m); + + enum { MAGIC_VAL = 0x42FF0000, AUTO_STEP = 0, CONTINUOUS_FLAG = CV_MAT_CONT_FLAG, SUBMATRIX_FLAG = CV_SUBMAT_FLAG }; + enum { MAGIC_MASK = 0xFFFF0000, TYPE_MASK = 0x00000FFF, DEPTH_MASK = 7 }; + + /*! includes several bit-fields: + - the magic signature + - continuity flag + - depth + - number of channels + */ + int flags; + //! the matrix dimensionality, >= 2 + int dims; + //! the number of rows and columns or (-1, -1) when the matrix has more than 2 dimensions + int rows, cols; + //! pointer to the data + uchar* data; + + //! helper fields used in locateROI and adjustROI + const uchar* datastart; + const uchar* dataend; + const uchar* datalimit; + + //! custom allocator + MatAllocator* allocator; + //! and the standard allocator + static MatAllocator* getStdAllocator(); + static MatAllocator* getDefaultAllocator(); + static void setDefaultAllocator(MatAllocator* allocator); + + //! internal use method: updates the continuity flag + void updateContinuityFlag(); + + //! interaction with UMat + UMatData* u; + + MatSize size; + MatStep step; + +protected: + template void forEach_impl(const Functor& operation); +}; + + +///////////////////////////////// Mat_<_Tp> //////////////////////////////////// + +/** @brief Template matrix class derived from Mat + +@code{.cpp} + template class Mat_ : public Mat + { + public: + // ... some specific methods + // and + // no new extra fields + }; +@endcode +The class `Mat_<_Tp>` is a *thin* template wrapper on top of the Mat class. It does not have any +extra data fields. Nor this class nor Mat has any virtual methods. Thus, references or pointers to +these two classes can be freely but carefully converted one to another. For example: +@code{.cpp} + // create a 100x100 8-bit matrix + Mat M(100,100,CV_8U); + // this will be compiled fine. no any data conversion will be done. + Mat_& M1 = (Mat_&)M; + // the program is likely to crash at the statement below + M1(99,99) = 1.f; +@endcode +While Mat is sufficient in most cases, Mat_ can be more convenient if you use a lot of element +access operations and if you know matrix type at the compilation time. Note that +`Mat::at(int y,int x)` and `Mat_::operator()(int y,int x)` do absolutely the same +and run at the same speed, but the latter is certainly shorter: +@code{.cpp} + Mat_ M(20,20); + for(int i = 0; i < M.rows; i++) + for(int j = 0; j < M.cols; j++) + M(i,j) = 1./(i+j+1); + Mat E, V; + eigen(M,E,V); + cout << E.at(0,0)/E.at(M.rows-1,0); +@endcode +To use Mat_ for multi-channel images/matrices, pass Vec as a Mat_ parameter: +@code{.cpp} + // allocate a 320x240 color image and fill it with green (in RGB space) + Mat_ img(240, 320, Vec3b(0,255,0)); + // now draw a diagonal white line + for(int i = 0; i < 100; i++) + img(i,i)=Vec3b(255,255,255); + // and now scramble the 2nd (red) channel of each pixel + for(int i = 0; i < img.rows; i++) + for(int j = 0; j < img.cols; j++) + img(i,j)[2] ^= (uchar)(i ^ j); +@endcode +Mat_ is fully compatible with C++11 range-based for loop. For example such loop +can be used to safely apply look-up table: +@code{.cpp} +void applyTable(Mat_& I, const uchar* const table) +{ + for(auto& pixel : I) + { + pixel = table[pixel]; + } +} +@endcode + */ +template class Mat_ : public Mat +{ +public: + typedef _Tp value_type; + typedef typename DataType<_Tp>::channel_type channel_type; + typedef MatIterator_<_Tp> iterator; + typedef MatConstIterator_<_Tp> const_iterator; + + //! default constructor + Mat_() CV_NOEXCEPT; + //! equivalent to Mat(_rows, _cols, DataType<_Tp>::type) + Mat_(int _rows, int _cols); + //! constructor that sets each matrix element to specified value + Mat_(int _rows, int _cols, const _Tp& value); + //! equivalent to Mat(_size, DataType<_Tp>::type) + explicit Mat_(Size _size); + //! constructor that sets each matrix element to specified value + Mat_(Size _size, const _Tp& value); + //! n-dim array constructor + Mat_(int _ndims, const int* _sizes); + //! n-dim array constructor that sets each matrix element to specified value + Mat_(int _ndims, const int* _sizes, const _Tp& value); + //! copy/conversion constructor. If m is of different type, it's converted + Mat_(const Mat& m); + //! copy constructor + Mat_(const Mat_& m); + //! constructs a matrix on top of user-allocated data. step is in bytes(!!!), regardless of the type + Mat_(int _rows, int _cols, _Tp* _data, size_t _step=AUTO_STEP); + //! constructs n-dim matrix on top of user-allocated data. steps are in bytes(!!!), regardless of the type + Mat_(int _ndims, const int* _sizes, _Tp* _data, const size_t* _steps=0); + //! selects a submatrix + Mat_(const Mat_& m, const Range& rowRange, const Range& colRange=Range::all()); + //! selects a submatrix + Mat_(const Mat_& m, const Rect& roi); + //! selects a submatrix, n-dim version + Mat_(const Mat_& m, const Range* ranges); + //! selects a submatrix, n-dim version + Mat_(const Mat_& m, const std::vector& ranges); + //! from a matrix expression + explicit Mat_(const MatExpr& e); + //! makes a matrix out of Vec, std::vector, Point_ or Point3_. The matrix will have a single column + explicit Mat_(const std::vector<_Tp>& vec, bool copyData=false); + template explicit Mat_(const Vec::channel_type, n>& vec, bool copyData=true); + template explicit Mat_(const Matx::channel_type, m, n>& mtx, bool copyData=true); + explicit Mat_(const Point_::channel_type>& pt, bool copyData=true); + explicit Mat_(const Point3_::channel_type>& pt, bool copyData=true); + explicit Mat_(const MatCommaInitializer_<_Tp>& commaInitializer); + + Mat_(std::initializer_list<_Tp> values); + explicit Mat_(const std::initializer_list sizes, const std::initializer_list<_Tp> values); + + template explicit Mat_(const std::array<_Tp, _Nm>& arr, bool copyData=false); + + Mat_& operator = (const Mat& m); + Mat_& operator = (const Mat_& m); + //! set all the elements to s. + Mat_& operator = (const _Tp& s); + //! assign a matrix expression + Mat_& operator = (const MatExpr& e); + + //! iterators; they are smart enough to skip gaps in the end of rows + iterator begin(); + iterator end(); + const_iterator begin() const; + const_iterator end() const; + + //reverse iterators + std::reverse_iterator rbegin(); + std::reverse_iterator rend(); + std::reverse_iterator rbegin() const; + std::reverse_iterator rend() const; + + //! template methods for operation over all matrix elements. + // the operations take care of skipping gaps in the end of rows (if any) + template void forEach(const Functor& operation); + template void forEach(const Functor& operation) const; + + //! equivalent to Mat::create(_rows, _cols, DataType<_Tp>::type) + void create(int _rows, int _cols); + //! equivalent to Mat::create(_size, DataType<_Tp>::type) + void create(Size _size); + //! equivalent to Mat::create(_ndims, _sizes, DatType<_Tp>::type) + void create(int _ndims, const int* _sizes); + //! equivalent to Mat::release() + void release(); + //! cross-product + Mat_ cross(const Mat_& m) const; + //! data type conversion + template operator Mat_() const; + //! overridden forms of Mat::row() etc. + Mat_ row(int y) const; + Mat_ col(int x) const; + Mat_ diag(int d=0) const; + CV_NODISCARD_STD Mat_ clone() const; + + //! overridden forms of Mat::elemSize() etc. + size_t elemSize() const; + size_t elemSize1() const; + int type() const; + int depth() const; + int channels() const; + size_t step1(int i=0) const; + //! returns step()/sizeof(_Tp) + size_t stepT(int i=0) const; + + //! overridden forms of Mat::zeros() etc. Data type is omitted, of course + CV_NODISCARD_STD static MatExpr zeros(int rows, int cols); + CV_NODISCARD_STD static MatExpr zeros(Size size); + CV_NODISCARD_STD static MatExpr zeros(int _ndims, const int* _sizes); + CV_NODISCARD_STD static MatExpr ones(int rows, int cols); + CV_NODISCARD_STD static MatExpr ones(Size size); + CV_NODISCARD_STD static MatExpr ones(int _ndims, const int* _sizes); + CV_NODISCARD_STD static MatExpr eye(int rows, int cols); + CV_NODISCARD_STD static MatExpr eye(Size size); + + //! some more overridden methods + Mat_& adjustROI( int dtop, int dbottom, int dleft, int dright ); + Mat_ operator()( const Range& rowRange, const Range& colRange ) const; + Mat_ operator()( const Rect& roi ) const; + Mat_ operator()( const Range* ranges ) const; + Mat_ operator()(const std::vector& ranges) const; + + //! more convenient forms of row and element access operators + _Tp* operator [](int y); + const _Tp* operator [](int y) const; + + //! returns reference to the specified element + _Tp& operator ()(const int* idx); + //! returns read-only reference to the specified element + const _Tp& operator ()(const int* idx) const; + + //! returns reference to the specified element + template _Tp& operator ()(const Vec& idx); + //! returns read-only reference to the specified element + template const _Tp& operator ()(const Vec& idx) const; + + //! returns reference to the specified element (1D case) + _Tp& operator ()(int idx0); + //! returns read-only reference to the specified element (1D case) + const _Tp& operator ()(int idx0) const; + //! returns reference to the specified element (2D case) + _Tp& operator ()(int row, int col); + //! returns read-only reference to the specified element (2D case) + const _Tp& operator ()(int row, int col) const; + //! returns reference to the specified element (3D case) + _Tp& operator ()(int idx0, int idx1, int idx2); + //! returns read-only reference to the specified element (3D case) + const _Tp& operator ()(int idx0, int idx1, int idx2) const; + + _Tp& operator ()(Point pt); + const _Tp& operator ()(Point pt) const; + + //! conversion to vector. + operator std::vector<_Tp>() const; + + //! conversion to array. + template operator std::array<_Tp, _Nm>() const; + + //! conversion to Vec + template operator Vec::channel_type, n>() const; + //! conversion to Matx + template operator Matx::channel_type, m, n>() const; + + Mat_(Mat_&& m); + Mat_& operator = (Mat_&& m); + + Mat_(Mat&& m); + Mat_& operator = (Mat&& m); + + Mat_(MatExpr&& e); +}; + +typedef Mat_ Mat1b; +typedef Mat_ Mat2b; +typedef Mat_ Mat3b; +typedef Mat_ Mat4b; + +typedef Mat_ Mat1s; +typedef Mat_ Mat2s; +typedef Mat_ Mat3s; +typedef Mat_ Mat4s; + +typedef Mat_ Mat1w; +typedef Mat_ Mat2w; +typedef Mat_ Mat3w; +typedef Mat_ Mat4w; + +typedef Mat_ Mat1i; +typedef Mat_ Mat2i; +typedef Mat_ Mat3i; +typedef Mat_ Mat4i; + +typedef Mat_ Mat1f; +typedef Mat_ Mat2f; +typedef Mat_ Mat3f; +typedef Mat_ Mat4f; + +typedef Mat_ Mat1d; +typedef Mat_ Mat2d; +typedef Mat_ Mat3d; +typedef Mat_ Mat4d; + +/** @todo document */ +class CV_EXPORTS UMat +{ +public: + //! default constructor + UMat(UMatUsageFlags usageFlags = USAGE_DEFAULT) CV_NOEXCEPT; + //! constructs 2D matrix of the specified size and type + // (_type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.) + UMat(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + UMat(Size size, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + //! constructs 2D matrix and fills it with the specified value _s. + UMat(int rows, int cols, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); + UMat(Size size, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); + + //! constructs n-dimensional matrix + UMat(int ndims, const int* sizes, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + UMat(int ndims, const int* sizes, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT); + + //! copy constructor + UMat(const UMat& m); + + //! creates a matrix header for a part of the bigger matrix + UMat(const UMat& m, const Range& rowRange, const Range& colRange=Range::all()); + UMat(const UMat& m, const Rect& roi); + UMat(const UMat& m, const Range* ranges); + UMat(const UMat& m, const std::vector& ranges); + + // FIXIT copyData=false is not implemented, drop this in favor of cv::Mat (OpenCV 5.0) + //! builds matrix from std::vector with or without copying the data + template explicit UMat(const std::vector<_Tp>& vec, bool copyData=false); + + //! destructor - calls release() + ~UMat(); + //! assignment operators + UMat& operator = (const UMat& m); + + Mat getMat(AccessFlag flags) const; + + //! returns a new matrix header for the specified row + UMat row(int y) const; + //! returns a new matrix header for the specified column + UMat col(int x) const; + //! ... for the specified row span + UMat rowRange(int startrow, int endrow) const; + UMat rowRange(const Range& r) const; + //! ... for the specified column span + UMat colRange(int startcol, int endcol) const; + UMat colRange(const Range& r) const; + //! ... for the specified diagonal + //! (d=0 - the main diagonal, + //! >0 - a diagonal from the upper half, + //! <0 - a diagonal from the lower half) + UMat diag(int d=0) const; + //! constructs a square diagonal matrix which main diagonal is vector "d" + CV_NODISCARD_STD static UMat diag(const UMat& d, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat diag(const UMat& d) { return diag(d, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + + //! returns deep copy of the matrix, i.e. the data is copied + CV_NODISCARD_STD UMat clone() const; + //! copies the matrix content to "m". + // It calls m.create(this->size(), this->type()). + void copyTo( OutputArray m ) const; + //! copies those matrix elements to "m" that are marked with non-zero mask elements. + void copyTo( OutputArray m, InputArray mask ) const; + //! converts matrix to another datatype with optional scaling. See cvConvertScale. + void convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 ) const; + + void assignTo( UMat& m, int type=-1 ) const; + + //! sets every matrix element to s + UMat& operator = (const Scalar& s); + //! sets some of the matrix elements to s, according to the mask + UMat& setTo(InputArray value, InputArray mask=noArray()); + //! creates alternative matrix header for the same data, with different + // number of channels and/or different number of rows. see cvReshape. + UMat reshape(int cn, int rows=0) const; + UMat reshape(int cn, int newndims, const int* newsz) const; + + //! matrix transposition by means of matrix expressions + UMat t() const; + //! matrix inversion by means of matrix expressions + UMat inv(int method=DECOMP_LU) const; + //! per-element matrix multiplication by means of matrix expressions + UMat mul(InputArray m, double scale=1) const; + + //! computes dot-product + double dot(InputArray m) const; + + //! Matlab-style matrix initialization + CV_NODISCARD_STD static UMat zeros(int rows, int cols, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat zeros(Size size, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat zeros(int ndims, const int* sz, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat zeros(int rows, int cols, int type) { return zeros(rows, cols, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat zeros(Size size, int type) { return zeros(size, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat zeros(int ndims, const int* sz, int type) { return zeros(ndims, sz, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat ones(int rows, int cols, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat ones(Size size, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat ones(int ndims, const int* sz, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat ones(int rows, int cols, int type) { return ones(rows, cols, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat ones(Size size, int type) { return ones(size, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat ones(int ndims, const int* sz, int type) { return ones(ndims, sz, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat eye(int rows, int cols, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat eye(Size size, int type, UMatUsageFlags usageFlags /*= USAGE_DEFAULT*/); + CV_NODISCARD_STD static UMat eye(int rows, int cols, int type) { return eye(rows, cols, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + CV_NODISCARD_STD static UMat eye(Size size, int type) { return eye(size, type, USAGE_DEFAULT); } // OpenCV 5.0: remove abi compatibility overload + + //! allocates new matrix data unless the matrix already has specified size and type. + // previous data is unreferenced if needed. + void create(int rows, int cols, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + void create(Size size, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + void create(int ndims, const int* sizes, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + void create(const std::vector& sizes, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT); + + //! increases the reference counter; use with care to avoid memleaks + void addref(); + //! decreases reference counter; + // deallocates the data when reference counter reaches 0. + void release(); + + //! deallocates the matrix data + void deallocate(); + //! internal use function; properly re-allocates _size, _step arrays + void copySize(const UMat& m); + + //! locates matrix header within a parent matrix. See below + void locateROI( Size& wholeSize, Point& ofs ) const; + //! moves/resizes the current matrix ROI inside the parent matrix. + UMat& adjustROI( int dtop, int dbottom, int dleft, int dright ); + //! extracts a rectangular sub-matrix + // (this is a generalized form of row, rowRange etc.) + UMat operator()( Range rowRange, Range colRange ) const; + UMat operator()( const Rect& roi ) const; + UMat operator()( const Range* ranges ) const; + UMat operator()(const std::vector& ranges) const; + + //! returns true iff the matrix data is continuous + // (i.e. when there are no gaps between successive rows). + // similar to CV_IS_MAT_CONT(cvmat->type) + bool isContinuous() const; + + //! returns true if the matrix is a submatrix of another matrix + bool isSubmatrix() const; + + //! returns element size in bytes, + // similar to CV_ELEM_SIZE(cvmat->type) + size_t elemSize() const; + //! returns the size of element channel in bytes. + size_t elemSize1() const; + //! returns element type, similar to CV_MAT_TYPE(cvmat->type) + int type() const; + //! returns element type, similar to CV_MAT_DEPTH(cvmat->type) + int depth() const; + //! returns element type, similar to CV_MAT_CN(cvmat->type) + int channels() const; + //! returns step/elemSize1() + size_t step1(int i=0) const; + //! returns true if matrix data is NULL + bool empty() const; + //! returns the total number of matrix elements + size_t total() const; + + //! returns N if the matrix is 1-channel (N x ptdim) or ptdim-channel (1 x N) or (N x 1); negative number otherwise + int checkVector(int elemChannels, int depth=-1, bool requireContinuous=true) const; + + UMat(UMat&& m); + UMat& operator = (UMat&& m); + + /*! Returns the OpenCL buffer handle on which UMat operates on. + The UMat instance should be kept alive during the use of the handle to prevent the buffer to be + returned to the OpenCV buffer pool. + */ + void* handle(AccessFlag accessFlags) const; + void ndoffset(size_t* ofs) const; + + enum { MAGIC_VAL = 0x42FF0000, AUTO_STEP = 0, CONTINUOUS_FLAG = CV_MAT_CONT_FLAG, SUBMATRIX_FLAG = CV_SUBMAT_FLAG }; + enum { MAGIC_MASK = 0xFFFF0000, TYPE_MASK = 0x00000FFF, DEPTH_MASK = 7 }; + + /*! includes several bit-fields: + - the magic signature + - continuity flag + - depth + - number of channels + */ + int flags; + + //! the matrix dimensionality, >= 2 + int dims; + + //! number of rows in the matrix; -1 when the matrix has more than 2 dimensions + int rows; + + //! number of columns in the matrix; -1 when the matrix has more than 2 dimensions + int cols; + + //! custom allocator + MatAllocator* allocator; + + //! usage flags for allocator; recommend do not set directly, instead set during construct/create/getUMat + UMatUsageFlags usageFlags; + + //! and the standard allocator + static MatAllocator* getStdAllocator(); + + //! internal use method: updates the continuity flag + void updateContinuityFlag(); + + //! black-box container of UMat data + UMatData* u; + + //! offset of the submatrix (or 0) + size_t offset; + + //! dimensional size of the matrix; accessible in various formats + MatSize size; + + //! number of bytes each matrix element/row/plane/dimension occupies + MatStep step; + +protected: +}; + + +/////////////////////////// multi-dimensional sparse matrix ////////////////////////// + +/** @brief The class SparseMat represents multi-dimensional sparse numerical arrays. + +Such a sparse array can store elements of any type that Mat can store. *Sparse* means that only +non-zero elements are stored (though, as a result of operations on a sparse matrix, some of its +stored elements can actually become 0. It is up to you to detect such elements and delete them +using SparseMat::erase ). The non-zero elements are stored in a hash table that grows when it is +filled so that the search time is O(1) in average (regardless of whether element is there or not). +Elements can be accessed using the following methods: +- Query operations (SparseMat::ptr and the higher-level SparseMat::ref, SparseMat::value and + SparseMat::find), for example: + @code + const int dims = 5; + int size[5] = {10, 10, 10, 10, 10}; + SparseMat sparse_mat(dims, size, CV_32F); + for(int i = 0; i < 1000; i++) + { + int idx[dims]; + for(int k = 0; k < dims; k++) + idx[k] = rand() % size[k]; + sparse_mat.ref(idx) += 1.f; + } + cout << "nnz = " << sparse_mat.nzcount() << endl; + @endcode +- Sparse matrix iterators. They are similar to MatIterator but different from NAryMatIterator. + That is, the iteration loop is familiar to STL users: + @code + // prints elements of a sparse floating-point matrix + // and the sum of elements. + SparseMatConstIterator_ + it = sparse_mat.begin(), + it_end = sparse_mat.end(); + double s = 0; + int dims = sparse_mat.dims(); + for(; it != it_end; ++it) + { + // print element indices and the element value + const SparseMat::Node* n = it.node(); + printf("("); + for(int i = 0; i < dims; i++) + printf("%d%s", n->idx[i], i < dims-1 ? ", " : ")"); + printf(": %g\n", it.value()); + s += *it; + } + printf("Element sum is %g\n", s); + @endcode + If you run this loop, you will notice that elements are not enumerated in a logical order + (lexicographical, and so on). They come in the same order as they are stored in the hash table + (semi-randomly). You may collect pointers to the nodes and sort them to get the proper ordering. + Note, however, that pointers to the nodes may become invalid when you add more elements to the + matrix. This may happen due to possible buffer reallocation. +- Combination of the above 2 methods when you need to process 2 or more sparse matrices + simultaneously. For example, this is how you can compute unnormalized cross-correlation of the 2 + floating-point sparse matrices: + @code + double cross_corr(const SparseMat& a, const SparseMat& b) + { + const SparseMat *_a = &a, *_b = &b; + // if b contains less elements than a, + // it is faster to iterate through b + if(_a->nzcount() > _b->nzcount()) + std::swap(_a, _b); + SparseMatConstIterator_ it = _a->begin(), + it_end = _a->end(); + double ccorr = 0; + for(; it != it_end; ++it) + { + // take the next element from the first matrix + float avalue = *it; + const Node* anode = it.node(); + // and try to find an element with the same index in the second matrix. + // since the hash value depends only on the element index, + // reuse the hash value stored in the node + float bvalue = _b->value(anode->idx,&anode->hashval); + ccorr += avalue*bvalue; + } + return ccorr; + } + @endcode + */ +class CV_EXPORTS SparseMat +{ +public: + typedef SparseMatIterator iterator; + typedef SparseMatConstIterator const_iterator; + + enum { MAGIC_VAL=0x42FD0000, MAX_DIM=32, HASH_SCALE=0x5bd1e995, HASH_BIT=0x80000000 }; + + //! the sparse matrix header + struct CV_EXPORTS Hdr + { + Hdr(int _dims, const int* _sizes, int _type); + void clear(); + int refcount; + int dims; + int valueOffset; + size_t nodeSize; + size_t nodeCount; + size_t freeList; + std::vector pool; + std::vector hashtab; + int size[MAX_DIM]; + }; + + //! sparse matrix node - element of a hash table + struct CV_EXPORTS Node + { + //! hash value + size_t hashval; + //! index of the next node in the same hash table entry + size_t next; + //! index of the matrix element + int idx[MAX_DIM]; + }; + + /** @brief Various SparseMat constructors. + */ + SparseMat(); + + /** @overload + @param dims Array dimensionality. + @param _sizes Sparce matrix size on all dementions. + @param _type Sparse matrix data type. + */ + SparseMat(int dims, const int* _sizes, int _type); + + /** @overload + @param m Source matrix for copy constructor. If m is dense matrix (ocvMat) then it will be converted + to sparse representation. + */ + SparseMat(const SparseMat& m); + + /** @overload + @param m Source matrix for copy constructor. If m is dense matrix (ocvMat) then it will be converted + to sparse representation. + */ + explicit SparseMat(const Mat& m); + + //! the destructor + ~SparseMat(); + + //! assignment operator. This is O(1) operation, i.e. no data is copied + SparseMat& operator = (const SparseMat& m); + //! equivalent to the corresponding constructor + SparseMat& operator = (const Mat& m); + + //! creates full copy of the matrix + CV_NODISCARD_STD SparseMat clone() const; + + //! copies all the data to the destination matrix. All the previous content of m is erased + void copyTo( SparseMat& m ) const; + //! converts sparse matrix to dense matrix. + void copyTo( Mat& m ) const; + //! multiplies all the matrix elements by the specified scale factor alpha and converts the results to the specified data type + void convertTo( SparseMat& m, int rtype, double alpha=1 ) const; + //! converts sparse matrix to dense n-dim matrix with optional type conversion and scaling. + /*! + @param [out] m - output matrix; if it does not have a proper size or type before the operation, + it is reallocated + @param [in] rtype - desired output matrix type or, rather, the depth since the number of channels + are the same as the input has; if rtype is negative, the output matrix will have the + same type as the input. + @param [in] alpha - optional scale factor + @param [in] beta - optional delta added to the scaled values + */ + void convertTo( Mat& m, int rtype, double alpha=1, double beta=0 ) const; + + // not used now + void assignTo( SparseMat& m, int type=-1 ) const; + + //! reallocates sparse matrix. + /*! + If the matrix already had the proper size and type, + it is simply cleared with clear(), otherwise, + the old matrix is released (using release()) and the new one is allocated. + */ + void create(int dims, const int* _sizes, int _type); + //! sets all the sparse matrix elements to 0, which means clearing the hash table. + void clear(); + //! manually increments the reference counter to the header. + void addref(); + // decrements the header reference counter. When the counter reaches 0, the header and all the underlying data are deallocated. + void release(); + + //! converts sparse matrix to the old-style representation; all the elements are copied. + //operator CvSparseMat*() const; + //! returns the size of each element in bytes (not including the overhead - the space occupied by SparseMat::Node elements) + size_t elemSize() const; + //! returns elemSize()/channels() + size_t elemSize1() const; + + //! returns type of sparse matrix elements + int type() const; + //! returns the depth of sparse matrix elements + int depth() const; + //! returns the number of channels + int channels() const; + + //! returns the array of sizes, or NULL if the matrix is not allocated + const int* size() const; + //! returns the size of i-th matrix dimension (or 0) + int size(int i) const; + //! returns the matrix dimensionality + int dims() const; + //! returns the number of non-zero elements (=the number of hash table nodes) + size_t nzcount() const; + + //! computes the element hash value (1D case) + size_t hash(int i0) const; + //! computes the element hash value (2D case) + size_t hash(int i0, int i1) const; + //! computes the element hash value (3D case) + size_t hash(int i0, int i1, int i2) const; + //! computes the element hash value (nD case) + size_t hash(const int* idx) const; + + //!@{ + /*! + specialized variants for 1D, 2D, 3D cases and the generic_type one for n-D case. + return pointer to the matrix element. + - if the element is there (it's non-zero), the pointer to it is returned + - if it's not there and createMissing=false, NULL pointer is returned + - if it's not there and createMissing=true, then the new element + is created and initialized with 0. Pointer to it is returned + - if the optional hashval pointer is not NULL, the element hash value is + not computed, but *hashval is taken instead. + */ + //! returns pointer to the specified element (1D case) + uchar* ptr(int i0, bool createMissing, size_t* hashval=0); + //! returns pointer to the specified element (2D case) + uchar* ptr(int i0, int i1, bool createMissing, size_t* hashval=0); + //! returns pointer to the specified element (3D case) + uchar* ptr(int i0, int i1, int i2, bool createMissing, size_t* hashval=0); + //! returns pointer to the specified element (nD case) + uchar* ptr(const int* idx, bool createMissing, size_t* hashval=0); + //!@} + + //!@{ + /*! + return read-write reference to the specified sparse matrix element. + + `ref<_Tp>(i0,...[,hashval])` is equivalent to `*(_Tp*)ptr(i0,...,true[,hashval])`. + The methods always return a valid reference. + If the element did not exist, it is created and initialized with 0. + */ + //! returns reference to the specified element (1D case) + template _Tp& ref(int i0, size_t* hashval=0); + //! returns reference to the specified element (2D case) + template _Tp& ref(int i0, int i1, size_t* hashval=0); + //! returns reference to the specified element (3D case) + template _Tp& ref(int i0, int i1, int i2, size_t* hashval=0); + //! returns reference to the specified element (nD case) + template _Tp& ref(const int* idx, size_t* hashval=0); + //!@} + + //!@{ + /*! + return value of the specified sparse matrix element. + + `value<_Tp>(i0,...[,hashval])` is equivalent to + @code + { const _Tp* p = find<_Tp>(i0,...[,hashval]); return p ? *p : _Tp(); } + @endcode + + That is, if the element did not exist, the methods return 0. + */ + //! returns value of the specified element (1D case) + template _Tp value(int i0, size_t* hashval=0) const; + //! returns value of the specified element (2D case) + template _Tp value(int i0, int i1, size_t* hashval=0) const; + //! returns value of the specified element (3D case) + template _Tp value(int i0, int i1, int i2, size_t* hashval=0) const; + //! returns value of the specified element (nD case) + template _Tp value(const int* idx, size_t* hashval=0) const; + //!@} + + //!@{ + /*! + Return pointer to the specified sparse matrix element if it exists + + `find<_Tp>(i0,...[,hashval])` is equivalent to `(_const Tp*)ptr(i0,...false[,hashval])`. + + If the specified element does not exist, the methods return NULL. + */ + //! returns pointer to the specified element (1D case) + template const _Tp* find(int i0, size_t* hashval=0) const; + //! returns pointer to the specified element (2D case) + template const _Tp* find(int i0, int i1, size_t* hashval=0) const; + //! returns pointer to the specified element (3D case) + template const _Tp* find(int i0, int i1, int i2, size_t* hashval=0) const; + //! returns pointer to the specified element (nD case) + template const _Tp* find(const int* idx, size_t* hashval=0) const; + //!@} + + //! erases the specified element (2D case) + void erase(int i0, int i1, size_t* hashval=0); + //! erases the specified element (3D case) + void erase(int i0, int i1, int i2, size_t* hashval=0); + //! erases the specified element (nD case) + void erase(const int* idx, size_t* hashval=0); + + //!@{ + /*! + return the sparse matrix iterator pointing to the first sparse matrix element + */ + //! returns the sparse matrix iterator at the matrix beginning + SparseMatIterator begin(); + //! returns the sparse matrix iterator at the matrix beginning + template SparseMatIterator_<_Tp> begin(); + //! returns the read-only sparse matrix iterator at the matrix beginning + SparseMatConstIterator begin() const; + //! returns the read-only sparse matrix iterator at the matrix beginning + template SparseMatConstIterator_<_Tp> begin() const; + //!@} + /*! + return the sparse matrix iterator pointing to the element following the last sparse matrix element + */ + //! returns the sparse matrix iterator at the matrix end + SparseMatIterator end(); + //! returns the read-only sparse matrix iterator at the matrix end + SparseMatConstIterator end() const; + //! returns the typed sparse matrix iterator at the matrix end + template SparseMatIterator_<_Tp> end(); + //! returns the typed read-only sparse matrix iterator at the matrix end + template SparseMatConstIterator_<_Tp> end() const; + + //! returns the value stored in the sparse martix node + template _Tp& value(Node* n); + //! returns the value stored in the sparse martix node + template const _Tp& value(const Node* n) const; + + ////////////// some internal-use methods /////////////// + Node* node(size_t nidx); + const Node* node(size_t nidx) const; + + uchar* newNode(const int* idx, size_t hashval); + void removeNode(size_t hidx, size_t nidx, size_t previdx); + void resizeHashTab(size_t newsize); + + int flags; + Hdr* hdr; +}; + + + +///////////////////////////////// SparseMat_<_Tp> //////////////////////////////////// + +/** @brief Template sparse n-dimensional array class derived from SparseMat + +SparseMat_ is a thin wrapper on top of SparseMat created in the same way as Mat_ . It simplifies +notation of some operations: +@code + int sz[] = {10, 20, 30}; + SparseMat_ M(3, sz); + ... + M.ref(1, 2, 3) = M(4, 5, 6) + M(7, 8, 9); +@endcode + */ +template class SparseMat_ : public SparseMat +{ +public: + typedef SparseMatIterator_<_Tp> iterator; + typedef SparseMatConstIterator_<_Tp> const_iterator; + + //! the default constructor + SparseMat_(); + //! the full constructor equivalent to SparseMat(dims, _sizes, DataType<_Tp>::type) + SparseMat_(int dims, const int* _sizes); + //! the copy constructor. If DataType<_Tp>.type != m.type(), the m elements are converted + SparseMat_(const SparseMat& m); + //! the copy constructor. This is O(1) operation - no data is copied + SparseMat_(const SparseMat_& m); + //! converts dense matrix to the sparse form + SparseMat_(const Mat& m); + //! converts the old-style sparse matrix to the C++ class. All the elements are copied + //SparseMat_(const CvSparseMat* m); + //! the assignment operator. If DataType<_Tp>.type != m.type(), the m elements are converted + SparseMat_& operator = (const SparseMat& m); + //! the assignment operator. This is O(1) operation - no data is copied + SparseMat_& operator = (const SparseMat_& m); + //! converts dense matrix to the sparse form + SparseMat_& operator = (const Mat& m); + + //! makes full copy of the matrix. All the elements are duplicated + CV_NODISCARD_STD SparseMat_ clone() const; + //! equivalent to cv::SparseMat::create(dims, _sizes, DataType<_Tp>::type) + void create(int dims, const int* _sizes); + //! converts sparse matrix to the old-style CvSparseMat. All the elements are copied + //operator CvSparseMat*() const; + + //! returns type of the matrix elements + int type() const; + //! returns depth of the matrix elements + int depth() const; + //! returns the number of channels in each matrix element + int channels() const; + + //! equivalent to SparseMat::ref<_Tp>(i0, hashval) + _Tp& ref(int i0, size_t* hashval=0); + //! equivalent to SparseMat::ref<_Tp>(i0, i1, hashval) + _Tp& ref(int i0, int i1, size_t* hashval=0); + //! equivalent to SparseMat::ref<_Tp>(i0, i1, i2, hashval) + _Tp& ref(int i0, int i1, int i2, size_t* hashval=0); + //! equivalent to SparseMat::ref<_Tp>(idx, hashval) + _Tp& ref(const int* idx, size_t* hashval=0); + + //! equivalent to SparseMat::value<_Tp>(i0, hashval) + _Tp operator()(int i0, size_t* hashval=0) const; + //! equivalent to SparseMat::value<_Tp>(i0, i1, hashval) + _Tp operator()(int i0, int i1, size_t* hashval=0) const; + //! equivalent to SparseMat::value<_Tp>(i0, i1, i2, hashval) + _Tp operator()(int i0, int i1, int i2, size_t* hashval=0) const; + //! equivalent to SparseMat::value<_Tp>(idx, hashval) + _Tp operator()(const int* idx, size_t* hashval=0) const; + + //! returns sparse matrix iterator pointing to the first sparse matrix element + SparseMatIterator_<_Tp> begin(); + //! returns read-only sparse matrix iterator pointing to the first sparse matrix element + SparseMatConstIterator_<_Tp> begin() const; + //! returns sparse matrix iterator pointing to the element following the last sparse matrix element + SparseMatIterator_<_Tp> end(); + //! returns read-only sparse matrix iterator pointing to the element following the last sparse matrix element + SparseMatConstIterator_<_Tp> end() const; +}; + + + +////////////////////////////////// MatConstIterator ////////////////////////////////// + +class CV_EXPORTS MatConstIterator +{ +public: + typedef uchar* value_type; + typedef ptrdiff_t difference_type; + typedef const uchar** pointer; + typedef uchar* reference; + + typedef std::random_access_iterator_tag iterator_category; + + //! default constructor + MatConstIterator(); + //! constructor that sets the iterator to the beginning of the matrix + MatConstIterator(const Mat* _m); + //! constructor that sets the iterator to the specified element of the matrix + MatConstIterator(const Mat* _m, int _row, int _col=0); + //! constructor that sets the iterator to the specified element of the matrix + MatConstIterator(const Mat* _m, Point _pt); + //! constructor that sets the iterator to the specified element of the matrix + MatConstIterator(const Mat* _m, const int* _idx); + //! copy constructor + MatConstIterator(const MatConstIterator& it); + + //! copy operator + MatConstIterator& operator = (const MatConstIterator& it); + //! returns the current matrix element + const uchar* operator *() const; + //! returns the i-th matrix element, relative to the current + const uchar* operator [](ptrdiff_t i) const; + + //! shifts the iterator forward by the specified number of elements + MatConstIterator& operator += (ptrdiff_t ofs); + //! shifts the iterator backward by the specified number of elements + MatConstIterator& operator -= (ptrdiff_t ofs); + //! decrements the iterator + MatConstIterator& operator --(); + //! decrements the iterator + MatConstIterator operator --(int); + //! increments the iterator + MatConstIterator& operator ++(); + //! increments the iterator + MatConstIterator operator ++(int); + //! returns the current iterator position + Point pos() const; + //! returns the current iterator position + void pos(int* _idx) const; + + ptrdiff_t lpos() const; + void seek(ptrdiff_t ofs, bool relative = false); + void seek(const int* _idx, bool relative = false); + + const Mat* m; + size_t elemSize; + const uchar* ptr; + const uchar* sliceStart; + const uchar* sliceEnd; +}; + + + +////////////////////////////////// MatConstIterator_ ///////////////////////////////// + +/** @brief Matrix read-only iterator + */ +template +class MatConstIterator_ : public MatConstIterator +{ +public: + typedef _Tp value_type; + typedef ptrdiff_t difference_type; + typedef const _Tp* pointer; + typedef const _Tp& reference; + + typedef std::random_access_iterator_tag iterator_category; + + //! default constructor + MatConstIterator_(); + //! constructor that sets the iterator to the beginning of the matrix + MatConstIterator_(const Mat_<_Tp>* _m); + //! constructor that sets the iterator to the specified element of the matrix + MatConstIterator_(const Mat_<_Tp>* _m, int _row, int _col=0); + //! constructor that sets the iterator to the specified element of the matrix + MatConstIterator_(const Mat_<_Tp>* _m, Point _pt); + //! constructor that sets the iterator to the specified element of the matrix + MatConstIterator_(const Mat_<_Tp>* _m, const int* _idx); + //! copy constructor + MatConstIterator_(const MatConstIterator_& it); + + //! copy operator + MatConstIterator_& operator = (const MatConstIterator_& it); + //! returns the current matrix element + const _Tp& operator *() const; + //! returns the i-th matrix element, relative to the current + const _Tp& operator [](ptrdiff_t i) const; + + //! shifts the iterator forward by the specified number of elements + MatConstIterator_& operator += (ptrdiff_t ofs); + //! shifts the iterator backward by the specified number of elements + MatConstIterator_& operator -= (ptrdiff_t ofs); + //! decrements the iterator + MatConstIterator_& operator --(); + //! decrements the iterator + MatConstIterator_ operator --(int); + //! increments the iterator + MatConstIterator_& operator ++(); + //! increments the iterator + MatConstIterator_ operator ++(int); + //! returns the current iterator position + Point pos() const; +}; + + + +//////////////////////////////////// MatIterator_ //////////////////////////////////// + +/** @brief Matrix read-write iterator +*/ +template +class MatIterator_ : public MatConstIterator_<_Tp> +{ +public: + typedef _Tp* pointer; + typedef _Tp& reference; + + typedef std::random_access_iterator_tag iterator_category; + + //! the default constructor + MatIterator_(); + //! constructor that sets the iterator to the beginning of the matrix + MatIterator_(Mat_<_Tp>* _m); + //! constructor that sets the iterator to the specified element of the matrix + MatIterator_(Mat_<_Tp>* _m, int _row, int _col=0); + //! constructor that sets the iterator to the specified element of the matrix + MatIterator_(Mat_<_Tp>* _m, Point _pt); + //! constructor that sets the iterator to the specified element of the matrix + MatIterator_(Mat_<_Tp>* _m, const int* _idx); + //! copy constructor + MatIterator_(const MatIterator_& it); + //! copy operator + MatIterator_& operator = (const MatIterator_<_Tp>& it ); + + //! returns the current matrix element + _Tp& operator *() const; + //! returns the i-th matrix element, relative to the current + _Tp& operator [](ptrdiff_t i) const; + + //! shifts the iterator forward by the specified number of elements + MatIterator_& operator += (ptrdiff_t ofs); + //! shifts the iterator backward by the specified number of elements + MatIterator_& operator -= (ptrdiff_t ofs); + //! decrements the iterator + MatIterator_& operator --(); + //! decrements the iterator + MatIterator_ operator --(int); + //! increments the iterator + MatIterator_& operator ++(); + //! increments the iterator + MatIterator_ operator ++(int); +}; + + + +/////////////////////////////// SparseMatConstIterator /////////////////////////////// + +/** @brief Read-Only Sparse Matrix Iterator. + + Here is how to use the iterator to compute the sum of floating-point sparse matrix elements: + + \code + SparseMatConstIterator it = m.begin(), it_end = m.end(); + double s = 0; + CV_Assert( m.type() == CV_32F ); + for( ; it != it_end; ++it ) + s += it.value(); + \endcode +*/ +class CV_EXPORTS SparseMatConstIterator +{ +public: + //! the default constructor + SparseMatConstIterator(); + //! the full constructor setting the iterator to the first sparse matrix element + SparseMatConstIterator(const SparseMat* _m); + //! the copy constructor + SparseMatConstIterator(const SparseMatConstIterator& it); + + //! the assignment operator + SparseMatConstIterator& operator = (const SparseMatConstIterator& it); + + //! template method returning the current matrix element + template const _Tp& value() const; + //! returns the current node of the sparse matrix. it.node->idx is the current element index + const SparseMat::Node* node() const; + + //! moves iterator to the previous element + SparseMatConstIterator& operator --(); + //! moves iterator to the previous element + SparseMatConstIterator operator --(int); + //! moves iterator to the next element + SparseMatConstIterator& operator ++(); + //! moves iterator to the next element + SparseMatConstIterator operator ++(int); + + //! moves iterator to the element after the last element + void seekEnd(); + + const SparseMat* m; + size_t hashidx; + uchar* ptr; +}; + + + +////////////////////////////////// SparseMatIterator ///////////////////////////////// + +/** @brief Read-write Sparse Matrix Iterator + + The class is similar to cv::SparseMatConstIterator, + but can be used for in-place modification of the matrix elements. +*/ +class CV_EXPORTS SparseMatIterator : public SparseMatConstIterator +{ +public: + //! the default constructor + SparseMatIterator(); + //! the full constructor setting the iterator to the first sparse matrix element + SparseMatIterator(SparseMat* _m); + //! the full constructor setting the iterator to the specified sparse matrix element + SparseMatIterator(SparseMat* _m, const int* idx); + //! the copy constructor + SparseMatIterator(const SparseMatIterator& it); + + //! the assignment operator + SparseMatIterator& operator = (const SparseMatIterator& it); + //! returns read-write reference to the current sparse matrix element + template _Tp& value() const; + //! returns pointer to the current sparse matrix node. it.node->idx is the index of the current element (do not modify it!) + SparseMat::Node* node() const; + + //! moves iterator to the next element + SparseMatIterator& operator ++(); + //! moves iterator to the next element + SparseMatIterator operator ++(int); +}; + + + +/////////////////////////////// SparseMatConstIterator_ ////////////////////////////// + +/** @brief Template Read-Only Sparse Matrix Iterator Class. + + This is the derived from SparseMatConstIterator class that + introduces more convenient operator *() for accessing the current element. +*/ +template class SparseMatConstIterator_ : public SparseMatConstIterator +{ +public: + + typedef std::forward_iterator_tag iterator_category; + + //! the default constructor + SparseMatConstIterator_(); + //! the full constructor setting the iterator to the first sparse matrix element + SparseMatConstIterator_(const SparseMat_<_Tp>* _m); + SparseMatConstIterator_(const SparseMat* _m); + //! the copy constructor + SparseMatConstIterator_(const SparseMatConstIterator_& it); + + //! the assignment operator + SparseMatConstIterator_& operator = (const SparseMatConstIterator_& it); + //! the element access operator + const _Tp& operator *() const; + + //! moves iterator to the next element + SparseMatConstIterator_& operator ++(); + //! moves iterator to the next element + SparseMatConstIterator_ operator ++(int); +}; + + + +///////////////////////////////// SparseMatIterator_ ///////////////////////////////// + +/** @brief Template Read-Write Sparse Matrix Iterator Class. + + This is the derived from cv::SparseMatConstIterator_ class that + introduces more convenient operator *() for accessing the current element. +*/ +template class SparseMatIterator_ : public SparseMatConstIterator_<_Tp> +{ +public: + + typedef std::forward_iterator_tag iterator_category; + + //! the default constructor + SparseMatIterator_(); + //! the full constructor setting the iterator to the first sparse matrix element + SparseMatIterator_(SparseMat_<_Tp>* _m); + SparseMatIterator_(SparseMat* _m); + //! the copy constructor + SparseMatIterator_(const SparseMatIterator_& it); + + //! the assignment operator + SparseMatIterator_& operator = (const SparseMatIterator_& it); + //! returns the reference to the current element + _Tp& operator *() const; + + //! moves the iterator to the next element + SparseMatIterator_& operator ++(); + //! moves the iterator to the next element + SparseMatIterator_ operator ++(int); +}; + + + +/////////////////////////////////// NAryMatIterator ////////////////////////////////// + +/** @brief n-ary multi-dimensional array iterator. + +Use the class to implement unary, binary, and, generally, n-ary element-wise operations on +multi-dimensional arrays. Some of the arguments of an n-ary function may be continuous arrays, some +may be not. It is possible to use conventional MatIterator 's for each array but incrementing all of +the iterators after each small operations may be a big overhead. In this case consider using +NAryMatIterator to iterate through several matrices simultaneously as long as they have the same +geometry (dimensionality and all the dimension sizes are the same). On each iteration `it.planes[0]`, +`it.planes[1]`,... will be the slices of the corresponding matrices. + +The example below illustrates how you can compute a normalized and threshold 3D color histogram: +@code + void computeNormalizedColorHist(const Mat& image, Mat& hist, int N, double minProb) + { + const int histSize[] = {N, N, N}; + + // make sure that the histogram has a proper size and type + hist.create(3, histSize, CV_32F); + + // and clear it + hist = Scalar(0); + + // the loop below assumes that the image + // is a 8-bit 3-channel. check it. + CV_Assert(image.type() == CV_8UC3); + MatConstIterator_ it = image.begin(), + it_end = image.end(); + for( ; it != it_end; ++it ) + { + const Vec3b& pix = *it; + hist.at(pix[0]*N/256, pix[1]*N/256, pix[2]*N/256) += 1.f; + } + + minProb *= image.rows*image.cols; + + // initialize iterator (the style is different from STL). + // after initialization the iterator will contain + // the number of slices or planes the iterator will go through. + // it simultaneously increments iterators for several matrices + // supplied as a null terminated list of pointers + const Mat* arrays[] = {&hist, 0}; + Mat planes[1]; + NAryMatIterator itNAry(arrays, planes, 1); + double s = 0; + // iterate through the matrix. on each iteration + // itNAry.planes[i] (of type Mat) will be set to the current plane + // of the i-th n-dim matrix passed to the iterator constructor. + for(int p = 0; p < itNAry.nplanes; p++, ++itNAry) + { + threshold(itNAry.planes[0], itNAry.planes[0], minProb, 0, THRESH_TOZERO); + s += sum(itNAry.planes[0])[0]; + } + + s = 1./s; + itNAry = NAryMatIterator(arrays, planes, 1); + for(int p = 0; p < itNAry.nplanes; p++, ++itNAry) + itNAry.planes[0] *= s; + } +@endcode + */ +class CV_EXPORTS NAryMatIterator +{ +public: + //! the default constructor + NAryMatIterator(); + //! the full constructor taking arbitrary number of n-dim matrices + NAryMatIterator(const Mat** arrays, uchar** ptrs, int narrays=-1); + //! the full constructor taking arbitrary number of n-dim matrices + NAryMatIterator(const Mat** arrays, Mat* planes, int narrays=-1); + //! the separate iterator initialization method + void init(const Mat** arrays, Mat* planes, uchar** ptrs, int narrays=-1); + + //! proceeds to the next plane of every iterated matrix + NAryMatIterator& operator ++(); + //! proceeds to the next plane of every iterated matrix (postfix increment operator) + NAryMatIterator operator ++(int); + + //! the iterated arrays + const Mat** arrays; + //! the current planes + Mat* planes; + //! data pointers + uchar** ptrs; + //! the number of arrays + int narrays; + //! the number of hyper-planes that the iterator steps through + size_t nplanes; + //! the size of each segment (in elements) + size_t size; +protected: + int iterdepth; + size_t idx; +}; + + + +///////////////////////////////// Matrix Expressions ///////////////////////////////// + +class CV_EXPORTS MatOp +{ +public: + MatOp(); + virtual ~MatOp(); + + virtual bool elementWise(const MatExpr& expr) const; + virtual void assign(const MatExpr& expr, Mat& m, int type=-1) const = 0; + virtual void roi(const MatExpr& expr, const Range& rowRange, + const Range& colRange, MatExpr& res) const; + virtual void diag(const MatExpr& expr, int d, MatExpr& res) const; + virtual void augAssignAdd(const MatExpr& expr, Mat& m) const; + virtual void augAssignSubtract(const MatExpr& expr, Mat& m) const; + virtual void augAssignMultiply(const MatExpr& expr, Mat& m) const; + virtual void augAssignDivide(const MatExpr& expr, Mat& m) const; + virtual void augAssignAnd(const MatExpr& expr, Mat& m) const; + virtual void augAssignOr(const MatExpr& expr, Mat& m) const; + virtual void augAssignXor(const MatExpr& expr, Mat& m) const; + + virtual void add(const MatExpr& expr1, const MatExpr& expr2, MatExpr& res) const; + virtual void add(const MatExpr& expr1, const Scalar& s, MatExpr& res) const; + + virtual void subtract(const MatExpr& expr1, const MatExpr& expr2, MatExpr& res) const; + virtual void subtract(const Scalar& s, const MatExpr& expr, MatExpr& res) const; + + virtual void multiply(const MatExpr& expr1, const MatExpr& expr2, MatExpr& res, double scale=1) const; + virtual void multiply(const MatExpr& expr1, double s, MatExpr& res) const; + + virtual void divide(const MatExpr& expr1, const MatExpr& expr2, MatExpr& res, double scale=1) const; + virtual void divide(double s, const MatExpr& expr, MatExpr& res) const; + + virtual void abs(const MatExpr& expr, MatExpr& res) const; + + virtual void transpose(const MatExpr& expr, MatExpr& res) const; + virtual void matmul(const MatExpr& expr1, const MatExpr& expr2, MatExpr& res) const; + virtual void invert(const MatExpr& expr, int method, MatExpr& res) const; + + virtual Size size(const MatExpr& expr) const; + virtual int type(const MatExpr& expr) const; +}; + +/** @brief Matrix expression representation +@anchor MatrixExpressions +This is a list of implemented matrix operations that can be combined in arbitrary complex +expressions (here A, B stand for matrices ( Mat ), s for a scalar ( Scalar ), alpha for a +real-valued scalar ( double )): +- Addition, subtraction, negation: `A+B`, `A-B`, `A+s`, `A-s`, `s+A`, `s-A`, `-A` +- Scaling: `A*alpha` +- Per-element multiplication and division: `A.mul(B)`, `A/B`, `alpha/A` +- Matrix multiplication: `A*B` +- Transposition: `A.t()` (means AT) +- Matrix inversion and pseudo-inversion, solving linear systems and least-squares problems: + `A.inv([method]) (~ A-1)`, `A.inv([method])*B (~ X: AX=B)` +- Comparison: `A cmpop B`, `A cmpop alpha`, `alpha cmpop A`, where *cmpop* is one of + `>`, `>=`, `==`, `!=`, `<=`, `<`. The result of comparison is an 8-bit single channel mask whose + elements are set to 255 (if the particular element or pair of elements satisfy the condition) or + 0. +- Bitwise logical operations: `A logicop B`, `A logicop s`, `s logicop A`, `~A`, where *logicop* is one of + `&`, `|`, `^`. +- Element-wise minimum and maximum: `min(A, B)`, `min(A, alpha)`, `max(A, B)`, `max(A, alpha)` +- Element-wise absolute value: `abs(A)` +- Cross-product, dot-product: `A.cross(B)`, `A.dot(B)` +- Any function of matrix or matrices and scalars that returns a matrix or a scalar, such as norm, + mean, sum, countNonZero, trace, determinant, repeat, and others. +- Matrix initializers ( Mat::eye(), Mat::zeros(), Mat::ones() ), matrix comma-separated + initializers, matrix constructors and operators that extract sub-matrices (see Mat description). +- Mat_() constructors to cast the result to the proper type. +@note Comma-separated initializers and probably some other operations may require additional +explicit Mat() or Mat_() constructor calls to resolve a possible ambiguity. + +Here are examples of matrix expressions: +@code + // compute pseudo-inverse of A, equivalent to A.inv(DECOMP_SVD) + SVD svd(A); + Mat pinvA = svd.vt.t()*Mat::diag(1./svd.w)*svd.u.t(); + + // compute the new vector of parameters in the Levenberg-Marquardt algorithm + x -= (A.t()*A + lambda*Mat::eye(A.cols,A.cols,A.type())).inv(DECOMP_CHOLESKY)*(A.t()*err); + + // sharpen image using "unsharp mask" algorithm + Mat blurred; double sigma = 1, threshold = 5, amount = 1; + GaussianBlur(img, blurred, Size(), sigma, sigma); + Mat lowContrastMask = abs(img - blurred) < threshold; + Mat sharpened = img*(1+amount) + blurred*(-amount); + img.copyTo(sharpened, lowContrastMask); +@endcode +*/ +class CV_EXPORTS MatExpr +{ +public: + MatExpr(); + explicit MatExpr(const Mat& m); + + MatExpr(const MatOp* _op, int _flags, const Mat& _a = Mat(), const Mat& _b = Mat(), + const Mat& _c = Mat(), double _alpha = 1, double _beta = 1, const Scalar& _s = Scalar()); + + operator Mat() const; + template operator Mat_<_Tp>() const; + + Size size() const; + int type() const; + + MatExpr row(int y) const; + MatExpr col(int x) const; + MatExpr diag(int d = 0) const; + MatExpr operator()( const Range& rowRange, const Range& colRange ) const; + MatExpr operator()( const Rect& roi ) const; + + MatExpr t() const; + MatExpr inv(int method = DECOMP_LU) const; + MatExpr mul(const MatExpr& e, double scale=1) const; + MatExpr mul(const Mat& m, double scale=1) const; + + Mat cross(const Mat& m) const; + double dot(const Mat& m) const; + + void swap(MatExpr& b); + + const MatOp* op; + int flags; + + Mat a, b, c; + double alpha, beta; + Scalar s; +}; + +//! @} core_basic + +//! @relates cv::MatExpr +//! @{ +CV_EXPORTS MatExpr operator + (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator + (const Mat& a, const Scalar& s); +CV_EXPORTS MatExpr operator + (const Scalar& s, const Mat& a); +CV_EXPORTS MatExpr operator + (const MatExpr& e, const Mat& m); +CV_EXPORTS MatExpr operator + (const Mat& m, const MatExpr& e); +CV_EXPORTS MatExpr operator + (const MatExpr& e, const Scalar& s); +CV_EXPORTS MatExpr operator + (const Scalar& s, const MatExpr& e); +CV_EXPORTS MatExpr operator + (const MatExpr& e1, const MatExpr& e2); +template static inline +MatExpr operator + (const Mat& a, const Matx<_Tp, m, n>& b) { return a + Mat(b); } +template static inline +MatExpr operator + (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) + b; } + +CV_EXPORTS MatExpr operator - (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator - (const Mat& a, const Scalar& s); +CV_EXPORTS MatExpr operator - (const Scalar& s, const Mat& a); +CV_EXPORTS MatExpr operator - (const MatExpr& e, const Mat& m); +CV_EXPORTS MatExpr operator - (const Mat& m, const MatExpr& e); +CV_EXPORTS MatExpr operator - (const MatExpr& e, const Scalar& s); +CV_EXPORTS MatExpr operator - (const Scalar& s, const MatExpr& e); +CV_EXPORTS MatExpr operator - (const MatExpr& e1, const MatExpr& e2); +template static inline +MatExpr operator - (const Mat& a, const Matx<_Tp, m, n>& b) { return a - Mat(b); } +template static inline +MatExpr operator - (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) - b; } + +CV_EXPORTS MatExpr operator - (const Mat& m); +CV_EXPORTS MatExpr operator - (const MatExpr& e); + +CV_EXPORTS MatExpr operator * (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator * (const Mat& a, double s); +CV_EXPORTS MatExpr operator * (double s, const Mat& a); +CV_EXPORTS MatExpr operator * (const MatExpr& e, const Mat& m); +CV_EXPORTS MatExpr operator * (const Mat& m, const MatExpr& e); +CV_EXPORTS MatExpr operator * (const MatExpr& e, double s); +CV_EXPORTS MatExpr operator * (double s, const MatExpr& e); +CV_EXPORTS MatExpr operator * (const MatExpr& e1, const MatExpr& e2); +template static inline +MatExpr operator * (const Mat& a, const Matx<_Tp, m, n>& b) { return a * Mat(b); } +template static inline +MatExpr operator * (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) * b; } + +CV_EXPORTS MatExpr operator / (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator / (const Mat& a, double s); +CV_EXPORTS MatExpr operator / (double s, const Mat& a); +CV_EXPORTS MatExpr operator / (const MatExpr& e, const Mat& m); +CV_EXPORTS MatExpr operator / (const Mat& m, const MatExpr& e); +CV_EXPORTS MatExpr operator / (const MatExpr& e, double s); +CV_EXPORTS MatExpr operator / (double s, const MatExpr& e); +CV_EXPORTS MatExpr operator / (const MatExpr& e1, const MatExpr& e2); +template static inline +MatExpr operator / (const Mat& a, const Matx<_Tp, m, n>& b) { return a / Mat(b); } +template static inline +MatExpr operator / (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) / b; } + +CV_EXPORTS MatExpr operator < (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator < (const Mat& a, double s); +CV_EXPORTS MatExpr operator < (double s, const Mat& a); +template static inline +MatExpr operator < (const Mat& a, const Matx<_Tp, m, n>& b) { return a < Mat(b); } +template static inline +MatExpr operator < (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) < b; } + +CV_EXPORTS MatExpr operator <= (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator <= (const Mat& a, double s); +CV_EXPORTS MatExpr operator <= (double s, const Mat& a); +template static inline +MatExpr operator <= (const Mat& a, const Matx<_Tp, m, n>& b) { return a <= Mat(b); } +template static inline +MatExpr operator <= (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) <= b; } + +CV_EXPORTS MatExpr operator == (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator == (const Mat& a, double s); +CV_EXPORTS MatExpr operator == (double s, const Mat& a); +template static inline +MatExpr operator == (const Mat& a, const Matx<_Tp, m, n>& b) { return a == Mat(b); } +template static inline +MatExpr operator == (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) == b; } + +CV_EXPORTS MatExpr operator != (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator != (const Mat& a, double s); +CV_EXPORTS MatExpr operator != (double s, const Mat& a); +template static inline +MatExpr operator != (const Mat& a, const Matx<_Tp, m, n>& b) { return a != Mat(b); } +template static inline +MatExpr operator != (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) != b; } + +CV_EXPORTS MatExpr operator >= (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator >= (const Mat& a, double s); +CV_EXPORTS MatExpr operator >= (double s, const Mat& a); +template static inline +MatExpr operator >= (const Mat& a, const Matx<_Tp, m, n>& b) { return a >= Mat(b); } +template static inline +MatExpr operator >= (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) >= b; } + +CV_EXPORTS MatExpr operator > (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator > (const Mat& a, double s); +CV_EXPORTS MatExpr operator > (double s, const Mat& a); +template static inline +MatExpr operator > (const Mat& a, const Matx<_Tp, m, n>& b) { return a > Mat(b); } +template static inline +MatExpr operator > (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) > b; } + +CV_EXPORTS MatExpr operator & (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator & (const Mat& a, const Scalar& s); +CV_EXPORTS MatExpr operator & (const Scalar& s, const Mat& a); +template static inline +MatExpr operator & (const Mat& a, const Matx<_Tp, m, n>& b) { return a & Mat(b); } +template static inline +MatExpr operator & (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) & b; } + +CV_EXPORTS MatExpr operator | (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator | (const Mat& a, const Scalar& s); +CV_EXPORTS MatExpr operator | (const Scalar& s, const Mat& a); +template static inline +MatExpr operator | (const Mat& a, const Matx<_Tp, m, n>& b) { return a | Mat(b); } +template static inline +MatExpr operator | (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) | b; } + +CV_EXPORTS MatExpr operator ^ (const Mat& a, const Mat& b); +CV_EXPORTS MatExpr operator ^ (const Mat& a, const Scalar& s); +CV_EXPORTS MatExpr operator ^ (const Scalar& s, const Mat& a); +template static inline +MatExpr operator ^ (const Mat& a, const Matx<_Tp, m, n>& b) { return a ^ Mat(b); } +template static inline +MatExpr operator ^ (const Matx<_Tp, m, n>& a, const Mat& b) { return Mat(a) ^ b; } + +CV_EXPORTS MatExpr operator ~(const Mat& m); + +CV_EXPORTS MatExpr min(const Mat& a, const Mat& b); +CV_EXPORTS MatExpr min(const Mat& a, double s); +CV_EXPORTS MatExpr min(double s, const Mat& a); +template static inline +MatExpr min (const Mat& a, const Matx<_Tp, m, n>& b) { return min(a, Mat(b)); } +template static inline +MatExpr min (const Matx<_Tp, m, n>& a, const Mat& b) { return min(Mat(a), b); } + +CV_EXPORTS MatExpr max(const Mat& a, const Mat& b); +CV_EXPORTS MatExpr max(const Mat& a, double s); +CV_EXPORTS MatExpr max(double s, const Mat& a); +template static inline +MatExpr max (const Mat& a, const Matx<_Tp, m, n>& b) { return max(a, Mat(b)); } +template static inline +MatExpr max (const Matx<_Tp, m, n>& a, const Mat& b) { return max(Mat(a), b); } + +/** @brief Calculates an absolute value of each matrix element. + +abs is a meta-function that is expanded to one of absdiff or convertScaleAbs forms: +- C = abs(A-B) is equivalent to `absdiff(A, B, C)` +- C = abs(A) is equivalent to `absdiff(A, Scalar::all(0), C)` +- C = `Mat_ >(abs(A*alpha + beta))` is equivalent to `convertScaleAbs(A, C, alpha, +beta)` + +The output matrix has the same size and the same type as the input one except for the last case, +where C is depth=CV_8U . +@param m matrix. +@sa @ref MatrixExpressions, absdiff, convertScaleAbs + */ +CV_EXPORTS MatExpr abs(const Mat& m); +/** @overload +@param e matrix expression. +*/ +CV_EXPORTS MatExpr abs(const MatExpr& e); +//! @} relates cv::MatExpr + +} // cv + +#include "opencv2/core/mat.inl.hpp" + +#endif // OPENCV_CORE_MAT_HPP diff --git a/camera_lib/include/opencv2/core/mat.inl.hpp b/camera_lib/include/opencv2/core/mat.inl.hpp new file mode 100644 index 0000000..886b82c --- /dev/null +++ b/camera_lib/include/opencv2/core/mat.inl.hpp @@ -0,0 +1,3422 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_MATRIX_OPERATIONS_HPP +#define OPENCV_CORE_MATRIX_OPERATIONS_HPP + +#ifndef __cplusplus +# error mat.inl.hpp header must be compiled as C++ +#endif + +#ifdef _MSC_VER +#pragma warning( push ) +#pragma warning( disable: 4127 ) +#endif + +#if defined(CV_SKIP_DISABLE_CLANG_ENUM_WARNINGS) + // nothing +#elif defined(CV_FORCE_DISABLE_CLANG_ENUM_WARNINGS) + #define CV_DISABLE_CLANG_ENUM_WARNINGS +#elif defined(__clang__) && defined(__has_warning) + #if __has_warning("-Wdeprecated-enum-enum-conversion") && __has_warning("-Wdeprecated-anon-enum-enum-conversion") + #define CV_DISABLE_CLANG_ENUM_WARNINGS + #endif +#endif +#ifdef CV_DISABLE_CLANG_ENUM_WARNINGS +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-enum-enum-conversion" +#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion" +#endif + +namespace cv +{ +CV__DEBUG_NS_BEGIN + + +//! @cond IGNORED + +////////////////////////// Custom (raw) type wrapper ////////////////////////// + +template static inline +int rawType() +{ + CV_StaticAssert(sizeof(_Tp) <= CV_CN_MAX, "sizeof(_Tp) is too large"); + const int elemSize = sizeof(_Tp); + return (int)CV_MAKETYPE(CV_8U, elemSize); +} + +//////////////////////// Input/Output Arrays //////////////////////// + +inline void _InputArray::init(int _flags, const void* _obj) +{ flags = _flags; obj = (void*)_obj; } + +inline void _InputArray::init(int _flags, const void* _obj, Size _sz) +{ flags = _flags; obj = (void*)_obj; sz = _sz; } + +inline void* _InputArray::getObj() const { return obj; } +inline int _InputArray::getFlags() const { return flags; } +inline Size _InputArray::getSz() const { return sz; } + +inline _InputArray::_InputArray() { init(0 + NONE, 0); } +inline _InputArray::_InputArray(int _flags, void* _obj) { init(_flags, _obj); } +inline _InputArray::_InputArray(const Mat& m) { init(MAT+ACCESS_READ, &m); } +inline _InputArray::_InputArray(const std::vector& vec) { init(STD_VECTOR_MAT+ACCESS_READ, &vec); } +inline _InputArray::_InputArray(const UMat& m) { init(UMAT+ACCESS_READ, &m); } +inline _InputArray::_InputArray(const std::vector& vec) { init(STD_VECTOR_UMAT+ACCESS_READ, &vec); } + +template inline +_InputArray::_InputArray(const std::vector<_Tp>& vec) +{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_READ, &vec); } + +template inline +_InputArray::_InputArray(const std::array<_Tp, _Nm>& arr) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_READ, arr.data(), Size(1, _Nm)); } + +template inline +_InputArray::_InputArray(const std::array& arr) +{ init(STD_ARRAY_MAT + ACCESS_READ, arr.data(), Size(1, _Nm)); } + +inline +_InputArray::_InputArray(const std::vector& vec) +{ init(FIXED_TYPE + STD_BOOL_VECTOR + traits::Type::value + ACCESS_READ, &vec); } + +template inline +_InputArray::_InputArray(const std::vector >& vec) +{ init(FIXED_TYPE + STD_VECTOR_VECTOR + traits::Type<_Tp>::value + ACCESS_READ, &vec); } + +template inline +_InputArray::_InputArray(const std::vector >& vec) +{ init(FIXED_TYPE + STD_VECTOR_MAT + traits::Type<_Tp>::value + ACCESS_READ, &vec); } + +template inline +_InputArray::_InputArray(const Matx<_Tp, m, n>& mtx) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_READ, &mtx, Size(n, m)); } + +template inline +_InputArray::_InputArray(const _Tp* vec, int n) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_READ, vec, Size(n, 1)); } + +template inline +_InputArray::_InputArray(const Mat_<_Tp>& m) +{ init(FIXED_TYPE + MAT + traits::Type<_Tp>::value + ACCESS_READ, &m); } + +inline _InputArray::_InputArray(const double& val) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + CV_64F + ACCESS_READ, &val, Size(1,1)); } + +inline _InputArray::_InputArray(const cuda::GpuMat& d_mat) +{ init(CUDA_GPU_MAT + ACCESS_READ, &d_mat); } + +inline _InputArray::_InputArray(const std::vector& d_mat) +{ init(STD_VECTOR_CUDA_GPU_MAT + ACCESS_READ, &d_mat);} + +inline _InputArray::_InputArray(const ogl::Buffer& buf) +{ init(OPENGL_BUFFER + ACCESS_READ, &buf); } + +inline _InputArray::_InputArray(const cuda::HostMem& cuda_mem) +{ init(CUDA_HOST_MEM + ACCESS_READ, &cuda_mem); } + +template inline +_InputArray _InputArray::rawIn(const std::vector<_Tp>& vec) +{ + _InputArray v; + v.flags = _InputArray::FIXED_TYPE + _InputArray::STD_VECTOR + rawType<_Tp>() + ACCESS_READ; + v.obj = (void*)&vec; + return v; +} + +template inline +_InputArray _InputArray::rawIn(const std::array<_Tp, _Nm>& arr) +{ + _InputArray v; + v.flags = FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_READ; + v.obj = (void*)arr.data(); + v.sz = Size(1, _Nm); + return v; +} + +inline _InputArray::~_InputArray() {} + +inline Mat _InputArray::getMat(int i) const +{ + if( kind() == MAT && i < 0 ) + return *(const Mat*)obj; + return getMat_(i); +} + +inline bool _InputArray::isMat() const { return kind() == _InputArray::MAT; } +inline bool _InputArray::isUMat() const { return kind() == _InputArray::UMAT; } +inline bool _InputArray::isMatVector() const { return kind() == _InputArray::STD_VECTOR_MAT; } +inline bool _InputArray::isUMatVector() const { return kind() == _InputArray::STD_VECTOR_UMAT; } +inline bool _InputArray::isMatx() const { return kind() == _InputArray::MATX; } +inline bool _InputArray::isVector() const { return kind() == _InputArray::STD_VECTOR || + kind() == _InputArray::STD_BOOL_VECTOR || + (kind() == _InputArray::MATX && (sz.width <= 1 || sz.height <= 1)); } +inline bool _InputArray::isGpuMat() const { return kind() == _InputArray::CUDA_GPU_MAT; } +inline bool _InputArray::isGpuMatVector() const { return kind() == _InputArray::STD_VECTOR_CUDA_GPU_MAT; } + +//////////////////////////////////////////////////////////////////////////////////////// + +inline _OutputArray::_OutputArray() { init(NONE + ACCESS_WRITE, 0); } +inline _OutputArray::_OutputArray(int _flags, void* _obj) { init(_flags + ACCESS_WRITE, _obj); } +inline _OutputArray::_OutputArray(Mat& m) { init(MAT+ACCESS_WRITE, &m); } +inline _OutputArray::_OutputArray(std::vector& vec) { init(STD_VECTOR_MAT + ACCESS_WRITE, &vec); } +inline _OutputArray::_OutputArray(UMat& m) { init(UMAT + ACCESS_WRITE, &m); } +inline _OutputArray::_OutputArray(std::vector& vec) { init(STD_VECTOR_UMAT + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(std::vector<_Tp>& vec) +{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } + +template inline +_OutputArray::_OutputArray(std::array& arr) +{ init(STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } + +template inline +_OutputArray::_OutputArray(std::vector >& vec) +{ init(FIXED_TYPE + STD_VECTOR_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(std::vector >& vec) +{ init(FIXED_TYPE + STD_VECTOR_MAT + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(Mat_<_Tp>& m) +{ init(FIXED_TYPE + MAT + traits::Type<_Tp>::value + ACCESS_WRITE, &m); } + +template inline +_OutputArray::_OutputArray(Matx<_Tp, m, n>& mtx) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, &mtx, Size(n, m)); } + +template inline +_OutputArray::_OutputArray(_Tp* vec, int n) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, vec, Size(n, 1)); } + +template inline +_OutputArray::_OutputArray(const std::vector<_Tp>& vec) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } + +template inline +_OutputArray::_OutputArray(const std::array& arr) +{ init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); } + +template inline +_OutputArray::_OutputArray(const std::vector >& vec) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR_VECTOR + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(const std::vector >& vec) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR_MAT + traits::Type<_Tp>::value + ACCESS_WRITE, &vec); } + +template inline +_OutputArray::_OutputArray(const Mat_<_Tp>& m) +{ init(FIXED_TYPE + FIXED_SIZE + MAT + traits::Type<_Tp>::value + ACCESS_WRITE, &m); } + +template inline +_OutputArray::_OutputArray(const Matx<_Tp, m, n>& mtx) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, &mtx, Size(n, m)); } + +template inline +_OutputArray::_OutputArray(const _Tp* vec, int n) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE, vec, Size(n, 1)); } + +inline _OutputArray::_OutputArray(cuda::GpuMat& d_mat) +{ init(CUDA_GPU_MAT + ACCESS_WRITE, &d_mat); } + +inline _OutputArray::_OutputArray(std::vector& d_mat) +{ init(STD_VECTOR_CUDA_GPU_MAT + ACCESS_WRITE, &d_mat);} + +inline _OutputArray::_OutputArray(ogl::Buffer& buf) +{ init(OPENGL_BUFFER + ACCESS_WRITE, &buf); } + +inline _OutputArray::_OutputArray(cuda::HostMem& cuda_mem) +{ init(CUDA_HOST_MEM + ACCESS_WRITE, &cuda_mem); } + +inline _OutputArray::_OutputArray(const Mat& m) +{ init(FIXED_TYPE + FIXED_SIZE + MAT + ACCESS_WRITE, &m); } + +inline _OutputArray::_OutputArray(const std::vector& vec) +{ init(FIXED_SIZE + STD_VECTOR_MAT + ACCESS_WRITE, &vec); } + +inline _OutputArray::_OutputArray(const UMat& m) +{ init(FIXED_TYPE + FIXED_SIZE + UMAT + ACCESS_WRITE, &m); } + +inline _OutputArray::_OutputArray(const std::vector& vec) +{ init(FIXED_SIZE + STD_VECTOR_UMAT + ACCESS_WRITE, &vec); } + +inline _OutputArray::_OutputArray(const cuda::GpuMat& d_mat) +{ init(FIXED_TYPE + FIXED_SIZE + CUDA_GPU_MAT + ACCESS_WRITE, &d_mat); } + + +inline _OutputArray::_OutputArray(const ogl::Buffer& buf) +{ init(FIXED_TYPE + FIXED_SIZE + OPENGL_BUFFER + ACCESS_WRITE, &buf); } + +inline _OutputArray::_OutputArray(const cuda::HostMem& cuda_mem) +{ init(FIXED_TYPE + FIXED_SIZE + CUDA_HOST_MEM + ACCESS_WRITE, &cuda_mem); } + +template inline +_OutputArray _OutputArray::rawOut(std::vector<_Tp>& vec) +{ + _OutputArray v; + v.flags = _InputArray::FIXED_TYPE + _InputArray::STD_VECTOR + rawType<_Tp>() + ACCESS_WRITE; + v.obj = (void*)&vec; + return v; +} + +template inline +_OutputArray _OutputArray::rawOut(std::array<_Tp, _Nm>& arr) +{ + _OutputArray v; + v.flags = FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_WRITE; + v.obj = (void*)arr.data(); + v.sz = Size(1, _Nm); + return v; +} + +/////////////////////////////////////////////////////////////////////////////////////////// + +inline _InputOutputArray::_InputOutputArray() { init(0+ACCESS_RW, 0); } +inline _InputOutputArray::_InputOutputArray(int _flags, void* _obj) { init(_flags+ACCESS_RW, _obj); } +inline _InputOutputArray::_InputOutputArray(Mat& m) { init(MAT+ACCESS_RW, &m); } +inline _InputOutputArray::_InputOutputArray(std::vector& vec) { init(STD_VECTOR_MAT+ACCESS_RW, &vec); } +inline _InputOutputArray::_InputOutputArray(UMat& m) { init(UMAT+ACCESS_RW, &m); } +inline _InputOutputArray::_InputOutputArray(std::vector& vec) { init(STD_VECTOR_UMAT+ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(std::vector<_Tp>& vec) +{ init(FIXED_TYPE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); } + +template inline +_InputOutputArray::_InputOutputArray(std::array& arr) +{ init(STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); } + +template inline +_InputOutputArray::_InputOutputArray(std::vector >& vec) +{ init(FIXED_TYPE + STD_VECTOR_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(std::vector >& vec) +{ init(FIXED_TYPE + STD_VECTOR_MAT + traits::Type<_Tp>::value + ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(Mat_<_Tp>& m) +{ init(FIXED_TYPE + MAT + traits::Type<_Tp>::value + ACCESS_RW, &m); } + +template inline +_InputOutputArray::_InputOutputArray(Matx<_Tp, m, n>& mtx) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, &mtx, Size(n, m)); } + +template inline +_InputOutputArray::_InputOutputArray(_Tp* vec, int n) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, vec, Size(n, 1)); } + +template inline +_InputOutputArray::_InputOutputArray(const std::vector<_Tp>& vec) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); } + +template inline +_InputOutputArray::_InputOutputArray(const std::array& arr) +{ init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); } + +template inline +_InputOutputArray::_InputOutputArray(const std::vector >& vec) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR_VECTOR + traits::Type<_Tp>::value + ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(const std::vector >& vec) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR_MAT + traits::Type<_Tp>::value + ACCESS_RW, &vec); } + +template inline +_InputOutputArray::_InputOutputArray(const Mat_<_Tp>& m) +{ init(FIXED_TYPE + FIXED_SIZE + MAT + traits::Type<_Tp>::value + ACCESS_RW, &m); } + +template inline +_InputOutputArray::_InputOutputArray(const Matx<_Tp, m, n>& mtx) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, &mtx, Size(n, m)); } + +template inline +_InputOutputArray::_InputOutputArray(const _Tp* vec, int n) +{ init(FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW, vec, Size(n, 1)); } + +inline _InputOutputArray::_InputOutputArray(cuda::GpuMat& d_mat) +{ init(CUDA_GPU_MAT + ACCESS_RW, &d_mat); } + +inline _InputOutputArray::_InputOutputArray(ogl::Buffer& buf) +{ init(OPENGL_BUFFER + ACCESS_RW, &buf); } + +inline _InputOutputArray::_InputOutputArray(cuda::HostMem& cuda_mem) +{ init(CUDA_HOST_MEM + ACCESS_RW, &cuda_mem); } + +inline _InputOutputArray::_InputOutputArray(const Mat& m) +{ init(FIXED_TYPE + FIXED_SIZE + MAT + ACCESS_RW, &m); } + +inline _InputOutputArray::_InputOutputArray(const std::vector& vec) +{ init(FIXED_SIZE + STD_VECTOR_MAT + ACCESS_RW, &vec); } + +inline _InputOutputArray::_InputOutputArray(const UMat& m) +{ init(FIXED_TYPE + FIXED_SIZE + UMAT + ACCESS_RW, &m); } + +inline _InputOutputArray::_InputOutputArray(const std::vector& vec) +{ init(FIXED_SIZE + STD_VECTOR_UMAT + ACCESS_RW, &vec); } + +inline _InputOutputArray::_InputOutputArray(const cuda::GpuMat& d_mat) +{ init(FIXED_TYPE + FIXED_SIZE + CUDA_GPU_MAT + ACCESS_RW, &d_mat); } + +inline _InputOutputArray::_InputOutputArray(const std::vector& d_mat) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR_CUDA_GPU_MAT + ACCESS_RW, &d_mat);} + +template<> inline _InputOutputArray::_InputOutputArray(std::vector& d_mat) +{ init(FIXED_TYPE + FIXED_SIZE + STD_VECTOR_CUDA_GPU_MAT + ACCESS_RW, &d_mat);} + +inline _InputOutputArray::_InputOutputArray(const ogl::Buffer& buf) +{ init(FIXED_TYPE + FIXED_SIZE + OPENGL_BUFFER + ACCESS_RW, &buf); } + +inline _InputOutputArray::_InputOutputArray(const cuda::HostMem& cuda_mem) +{ init(FIXED_TYPE + FIXED_SIZE + CUDA_HOST_MEM + ACCESS_RW, &cuda_mem); } + +template inline +_InputOutputArray _InputOutputArray::rawInOut(std::vector<_Tp>& vec) +{ + _InputOutputArray v; + v.flags = _InputArray::FIXED_TYPE + _InputArray::STD_VECTOR + rawType<_Tp>() + ACCESS_RW; + v.obj = (void*)&vec; + return v; +} + +template inline +_InputOutputArray _InputOutputArray::rawInOut(std::array<_Tp, _Nm>& arr) +{ + _InputOutputArray v; + v.flags = FIXED_TYPE + FIXED_SIZE + MATX + traits::Type<_Tp>::value + ACCESS_RW; + v.obj = (void*)arr.data(); + v.sz = Size(1, _Nm); + return v; +} + + +template static inline _InputArray rawIn(_Tp& v) { return _InputArray::rawIn(v); } +template static inline _OutputArray rawOut(_Tp& v) { return _OutputArray::rawOut(v); } +template static inline _InputOutputArray rawInOut(_Tp& v) { return _InputOutputArray::rawInOut(v); } + +CV__DEBUG_NS_END + +//////////////////////////////////////////// Mat ////////////////////////////////////////// + +template inline +Mat::Mat(const std::vector<_Tp>& vec, bool copyData) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows((int)vec.size()), + cols(1), data(0), datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) +{ + if(vec.empty()) + return; + if( !copyData ) + { + step[0] = step[1] = sizeof(_Tp); + datastart = data = (uchar*)&vec[0]; + datalimit = dataend = datastart + rows * step[0]; + } + else + Mat((int)vec.size(), 1, traits::Type<_Tp>::value, (uchar*)&vec[0]).copyTo(*this); +} + +template inline +Mat::Mat(const std::initializer_list<_Tp> list) + : Mat() +{ + CV_Assert(list.size() != 0); + Mat((int)list.size(), 1, traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this); +} + +template inline +Mat::Mat(const std::initializer_list sizes, const std::initializer_list<_Tp> list) + : Mat() +{ + size_t size_total = 1; + for(auto s : sizes) + size_total *= s; + CV_Assert(list.size() != 0); + CV_Assert(size_total == list.size()); + Mat((int)sizes.size(), (int*)sizes.begin(), traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this); +} + +template inline +Mat::Mat(const std::array<_Tp, _Nm>& arr, bool copyData) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows((int)arr.size()), + cols(1), data(0), datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) +{ + if(arr.empty()) + return; + if( !copyData ) + { + step[0] = step[1] = sizeof(_Tp); + datastart = data = (uchar*)arr.data(); + datalimit = dataend = datastart + rows * step[0]; + } + else + Mat((int)arr.size(), 1, traits::Type<_Tp>::value, (uchar*)arr.data()).copyTo(*this); +} + +template inline +Mat::Mat(const Vec<_Tp, n>& vec, bool copyData) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows(n), cols(1), data(0), + datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) +{ + if( !copyData ) + { + step[0] = step[1] = sizeof(_Tp); + datastart = data = (uchar*)vec.val; + datalimit = dataend = datastart + rows * step[0]; + } + else + Mat(n, 1, traits::Type<_Tp>::value, (void*)vec.val).copyTo(*this); +} + + +template inline +Mat::Mat(const Matx<_Tp,m,n>& M, bool copyData) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows(m), cols(n), data(0), + datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) +{ + if( !copyData ) + { + step[0] = cols * sizeof(_Tp); + step[1] = sizeof(_Tp); + datastart = data = (uchar*)M.val; + datalimit = dataend = datastart + rows * step[0]; + } + else + Mat(m, n, traits::Type<_Tp>::value, (uchar*)M.val).copyTo(*this); +} + +template inline +Mat::Mat(const Point_<_Tp>& pt, bool copyData) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows(2), cols(1), data(0), + datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) +{ + if( !copyData ) + { + step[0] = step[1] = sizeof(_Tp); + datastart = data = (uchar*)&pt.x; + datalimit = dataend = datastart + rows * step[0]; + } + else + { + create(2, 1, traits::Type<_Tp>::value); + ((_Tp*)data)[0] = pt.x; + ((_Tp*)data)[1] = pt.y; + } +} + +template inline +Mat::Mat(const Point3_<_Tp>& pt, bool copyData) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows(3), cols(1), data(0), + datastart(0), dataend(0), datalimit(0), allocator(0), u(0), size(&rows), step(0) +{ + if( !copyData ) + { + step[0] = step[1] = sizeof(_Tp); + datastart = data = (uchar*)&pt.x; + datalimit = dataend = datastart + rows * step[0]; + } + else + { + create(3, 1, traits::Type<_Tp>::value); + ((_Tp*)data)[0] = pt.x; + ((_Tp*)data)[1] = pt.y; + ((_Tp*)data)[2] = pt.z; + } +} + +template inline +Mat::Mat(const MatCommaInitializer_<_Tp>& commaInitializer) + : flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(0), rows(0), cols(0), data(0), + datastart(0), dataend(0), allocator(0), u(0), size(&rows) +{ + *this = commaInitializer.operator Mat_<_Tp>(); +} + +inline +Mat Mat::row(int y) const +{ + return Mat(*this, Range(y, y + 1), Range::all()); +} + +inline +Mat Mat::col(int x) const +{ + return Mat(*this, Range::all(), Range(x, x + 1)); +} + +inline +Mat Mat::rowRange(int startrow, int endrow) const +{ + return Mat(*this, Range(startrow, endrow), Range::all()); +} + +inline +Mat Mat::rowRange(const Range& r) const +{ + return Mat(*this, r, Range::all()); +} + +inline +Mat Mat::colRange(int startcol, int endcol) const +{ + return Mat(*this, Range::all(), Range(startcol, endcol)); +} + +inline +Mat Mat::colRange(const Range& r) const +{ + return Mat(*this, Range::all(), r); +} + +inline +Mat Mat::operator()( Range _rowRange, Range _colRange ) const +{ + return Mat(*this, _rowRange, _colRange); +} + +inline +Mat Mat::operator()( const Rect& roi ) const +{ + return Mat(*this, roi); +} + +inline +Mat Mat::operator()(const Range* ranges) const +{ + return Mat(*this, ranges); +} + +inline +Mat Mat::operator()(const std::vector& ranges) const +{ + return Mat(*this, ranges); +} + +inline +bool Mat::isContinuous() const +{ + return (flags & CONTINUOUS_FLAG) != 0; +} + +inline +bool Mat::isSubmatrix() const +{ + return (flags & SUBMATRIX_FLAG) != 0; +} + +inline +size_t Mat::elemSize() const +{ + size_t res = dims > 0 ? step.p[dims - 1] : 0; + CV_DbgAssert(res != 0); + return res; +} + +inline +size_t Mat::elemSize1() const +{ + return CV_ELEM_SIZE1(flags); +} + +inline +int Mat::type() const +{ + return CV_MAT_TYPE(flags); +} + +inline +int Mat::depth() const +{ + return CV_MAT_DEPTH(flags); +} + +inline +int Mat::channels() const +{ + return CV_MAT_CN(flags); +} + +inline +uchar* Mat::ptr(int y) +{ + CV_DbgAssert( y == 0 || (data && dims >= 1 && (unsigned)y < (unsigned)size.p[0]) ); + return data + step.p[0] * y; +} + +inline +const uchar* Mat::ptr(int y) const +{ + CV_DbgAssert( y == 0 || (data && dims >= 1 && (unsigned)y < (unsigned)size.p[0]) ); + return data + step.p[0] * y; +} + +template inline +_Tp* Mat::ptr(int y) +{ + CV_DbgAssert( y == 0 || (data && dims >= 1 && (unsigned)y < (unsigned)size.p[0]) ); + return (_Tp*)(data + step.p[0] * y); +} + +template inline +const _Tp* Mat::ptr(int y) const +{ + CV_DbgAssert( y == 0 || (data && dims >= 1 && (unsigned)y < (unsigned)size.p[0]) ); + return (const _Tp*)(data + step.p[0] * y); +} + +inline +uchar* Mat::ptr(int i0, int i1) +{ + CV_DbgAssert(dims >= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + return data + i0 * step.p[0] + i1 * step.p[1]; +} + +inline +const uchar* Mat::ptr(int i0, int i1) const +{ + CV_DbgAssert(dims >= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + return data + i0 * step.p[0] + i1 * step.p[1]; +} + +template inline +_Tp* Mat::ptr(int i0, int i1) +{ + CV_DbgAssert(dims >= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + return (_Tp*)(data + i0 * step.p[0] + i1 * step.p[1]); +} + +template inline +const _Tp* Mat::ptr(int i0, int i1) const +{ + CV_DbgAssert(dims >= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + return (const _Tp*)(data + i0 * step.p[0] + i1 * step.p[1]); +} + +inline +uchar* Mat::ptr(int i0, int i1, int i2) +{ + CV_DbgAssert(dims >= 3); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + CV_DbgAssert((unsigned)i2 < (unsigned)size.p[2]); + return data + i0 * step.p[0] + i1 * step.p[1] + i2 * step.p[2]; +} + +inline +const uchar* Mat::ptr(int i0, int i1, int i2) const +{ + CV_DbgAssert(dims >= 3); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + CV_DbgAssert((unsigned)i2 < (unsigned)size.p[2]); + return data + i0 * step.p[0] + i1 * step.p[1] + i2 * step.p[2]; +} + +template inline +_Tp* Mat::ptr(int i0, int i1, int i2) +{ + CV_DbgAssert(dims >= 3); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + CV_DbgAssert((unsigned)i2 < (unsigned)size.p[2]); + return (_Tp*)(data + i0 * step.p[0] + i1 * step.p[1] + i2 * step.p[2]); +} + +template inline +const _Tp* Mat::ptr(int i0, int i1, int i2) const +{ + CV_DbgAssert(dims >= 3); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + CV_DbgAssert((unsigned)i2 < (unsigned)size.p[2]); + return (const _Tp*)(data + i0 * step.p[0] + i1 * step.p[1] + i2 * step.p[2]); +} + +inline +uchar* Mat::ptr(const int* idx) +{ + int i, d = dims; + uchar* p = data; + CV_DbgAssert( d >= 1 && p ); + for( i = 0; i < d; i++ ) + { + CV_DbgAssert( (unsigned)idx[i] < (unsigned)size.p[i] ); + p += idx[i] * step.p[i]; + } + return p; +} + +inline +const uchar* Mat::ptr(const int* idx) const +{ + int i, d = dims; + uchar* p = data; + CV_DbgAssert( d >= 1 && p ); + for( i = 0; i < d; i++ ) + { + CV_DbgAssert( (unsigned)idx[i] < (unsigned)size.p[i] ); + p += idx[i] * step.p[i]; + } + return p; +} + +template inline +_Tp* Mat::ptr(const int* idx) +{ + int i, d = dims; + uchar* p = data; + CV_DbgAssert( d >= 1 && p ); + for( i = 0; i < d; i++ ) + { + CV_DbgAssert( (unsigned)idx[i] < (unsigned)size.p[i] ); + p += idx[i] * step.p[i]; + } + return (_Tp*)p; +} + +template inline +const _Tp* Mat::ptr(const int* idx) const +{ + int i, d = dims; + uchar* p = data; + CV_DbgAssert( d >= 1 && p ); + for( i = 0; i < d; i++ ) + { + CV_DbgAssert( (unsigned)idx[i] < (unsigned)size.p[i] ); + p += idx[i] * step.p[i]; + } + return (const _Tp*)p; +} + +template inline +uchar* Mat::ptr(const Vec& idx) +{ + return Mat::ptr(idx.val); +} + +template inline +const uchar* Mat::ptr(const Vec& idx) const +{ + return Mat::ptr(idx.val); +} + +template inline +_Tp* Mat::ptr(const Vec& idx) +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return Mat::ptr<_Tp>(idx.val); +} + +template inline +const _Tp* Mat::ptr(const Vec& idx) const +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return Mat::ptr<_Tp>(idx.val); +} + + +template inline +_Tp& Mat::at(int i0, int i1) +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)(i1 * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels())); + CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1()); + return ((_Tp*)(data + step.p[0] * i0))[i1]; +} + +template inline +const _Tp& Mat::at(int i0, int i1) const +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)(i1 * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels())); + CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1()); + return ((const _Tp*)(data + step.p[0] * i0))[i1]; +} + +template inline +_Tp& Mat::at(Point pt) +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)pt.y < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)(pt.x * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels())); + CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1()); + return ((_Tp*)(data + step.p[0] * pt.y))[pt.x]; +} + +template inline +const _Tp& Mat::at(Point pt) const +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)pt.y < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)(pt.x * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels())); + CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1()); + return ((const _Tp*)(data + step.p[0] * pt.y))[pt.x]; +} + +template inline +_Tp& Mat::at(int i0) +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)(size.p[0] * size.p[1])); + CV_DbgAssert(elemSize() == sizeof(_Tp)); + if( isContinuous() || size.p[0] == 1 ) + return ((_Tp*)data)[i0]; + if( size.p[1] == 1 ) + return *(_Tp*)(data + step.p[0] * i0); + int i = i0 / cols, j = i0 - i * cols; + return ((_Tp*)(data + step.p[0] * i))[j]; +} + +template inline +const _Tp& Mat::at(int i0) const +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)(size.p[0] * size.p[1])); + CV_DbgAssert(elemSize() == sizeof(_Tp)); + if( isContinuous() || size.p[0] == 1 ) + return ((const _Tp*)data)[i0]; + if( size.p[1] == 1 ) + return *(const _Tp*)(data + step.p[0] * i0); + int i = i0 / cols, j = i0 - i * cols; + return ((const _Tp*)(data + step.p[0] * i))[j]; +} + +template inline +_Tp& Mat::at(int i0, int i1, int i2) +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return *(_Tp*)ptr(i0, i1, i2); +} + +template inline +const _Tp& Mat::at(int i0, int i1, int i2) const +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return *(const _Tp*)ptr(i0, i1, i2); +} + +template inline +_Tp& Mat::at(const int* idx) +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return *(_Tp*)ptr(idx); +} + +template inline +const _Tp& Mat::at(const int* idx) const +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return *(const _Tp*)ptr(idx); +} + +template inline +_Tp& Mat::at(const Vec& idx) +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return *(_Tp*)ptr(idx.val); +} + +template inline +const _Tp& Mat::at(const Vec& idx) const +{ + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return *(const _Tp*)ptr(idx.val); +} + +template inline +MatConstIterator_<_Tp> Mat::begin() const +{ + if (empty()) + return MatConstIterator_<_Tp>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return MatConstIterator_<_Tp>((const Mat_<_Tp>*)this); +} + +template inline +std::reverse_iterator> Mat::rbegin() const +{ + if (empty()) + return std::reverse_iterator>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + MatConstIterator_<_Tp> it((const Mat_<_Tp>*)this); + it += total(); + return std::reverse_iterator> (it); +} + +template inline +MatConstIterator_<_Tp> Mat::end() const +{ + if (empty()) + return MatConstIterator_<_Tp>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + MatConstIterator_<_Tp> it((const Mat_<_Tp>*)this); + it += total(); + return it; +} + +template inline +std::reverse_iterator> Mat::rend() const +{ + if (empty()) + return std::reverse_iterator>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return std::reverse_iterator>((const Mat_<_Tp>*)this); +} + +template inline +MatIterator_<_Tp> Mat::begin() +{ + if (empty()) + return MatIterator_<_Tp>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return MatIterator_<_Tp>((Mat_<_Tp>*)this); +} + +template inline +std::reverse_iterator> Mat::rbegin() +{ + if (empty()) + return std::reverse_iterator>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + MatIterator_<_Tp> it((Mat_<_Tp>*)this); + it += total(); + return std::reverse_iterator>(it); +} + +template inline +MatIterator_<_Tp> Mat::end() +{ + if (empty()) + return MatIterator_<_Tp>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + MatIterator_<_Tp> it((Mat_<_Tp>*)this); + it += total(); + return it; +} + +template inline +std::reverse_iterator> Mat::rend() +{ + if (empty()) + return std::reverse_iterator>(); + CV_DbgAssert( elemSize() == sizeof(_Tp) ); + return std::reverse_iterator>(MatIterator_<_Tp>((Mat_<_Tp>*)this)); +} + +template inline +void Mat::forEach(const Functor& operation) { + this->forEach_impl<_Tp>(operation); +} + +template inline +void Mat::forEach(const Functor& operation) const { + // call as not const + (const_cast(this))->forEach<_Tp>(operation); +} + +template inline +Mat::operator std::vector<_Tp>() const +{ + std::vector<_Tp> v; + copyTo(v); + return v; +} + +template inline +Mat::operator std::array<_Tp, _Nm>() const +{ + std::array<_Tp, _Nm> v; + copyTo(v); + return v; +} + +template inline +Mat::operator Vec<_Tp, n>() const +{ + CV_Assert( data && dims <= 2 && (rows == 1 || cols == 1) && + rows + cols - 1 == n && channels() == 1 ); + + if( isContinuous() && type() == traits::Type<_Tp>::value ) + return Vec<_Tp, n>((_Tp*)data); + Vec<_Tp, n> v; + Mat tmp(rows, cols, traits::Type<_Tp>::value, v.val); + convertTo(tmp, tmp.type()); + return v; +} + +template inline +Mat::operator Matx<_Tp, m, n>() const +{ + CV_Assert( data && dims <= 2 && rows == m && cols == n && channels() == 1 ); + + if( isContinuous() && type() == traits::Type<_Tp>::value ) + return Matx<_Tp, m, n>((_Tp*)data); + Matx<_Tp, m, n> mtx; + Mat tmp(rows, cols, traits::Type<_Tp>::value, mtx.val); + convertTo(tmp, tmp.type()); + return mtx; +} + +template inline +void Mat::push_back(const _Tp& elem) +{ + if( !data ) + { + *this = Mat(1, 1, traits::Type<_Tp>::value, (void*)&elem).clone(); + return; + } + CV_Assert(traits::Type<_Tp>::value == type() && cols == 1 + /* && dims == 2 (cols == 1 implies dims == 2) */); + const uchar* tmp = dataend + step[0]; + if( !isSubmatrix() && isContinuous() && tmp <= datalimit ) + { + *(_Tp*)(data + (size.p[0]++) * step.p[0]) = elem; + dataend = tmp; + } + else + push_back_(&elem); +} + +template inline +void Mat::push_back(const Mat_<_Tp>& m) +{ + push_back((const Mat&)m); +} + +template<> inline +void Mat::push_back(const MatExpr& expr) +{ + push_back(static_cast(expr)); +} + + +template inline +void Mat::push_back(const std::vector<_Tp>& v) +{ + push_back(Mat(v)); +} + + +///////////////////////////// MatSize //////////////////////////// + +inline +MatSize::MatSize(int* _p) CV_NOEXCEPT + : p(_p) {} + +inline +int MatSize::dims() const CV_NOEXCEPT +{ + return (p - 1)[0]; +} + +inline +Size MatSize::operator()() const +{ + CV_DbgAssert(dims() <= 2); + return Size(p[1], p[0]); +} + +inline +const int& MatSize::operator[](int i) const +{ + CV_DbgAssert(i < dims()); +#ifdef __OPENCV_BUILD + CV_DbgAssert(i >= 0); +#endif + return p[i]; +} + +inline +int& MatSize::operator[](int i) +{ + CV_DbgAssert(i < dims()); +#ifdef __OPENCV_BUILD + CV_DbgAssert(i >= 0); +#endif + return p[i]; +} + +inline +MatSize::operator const int*() const CV_NOEXCEPT +{ + return p; +} + +inline +bool MatSize::operator != (const MatSize& sz) const CV_NOEXCEPT +{ + return !(*this == sz); +} + + + +///////////////////////////// MatStep //////////////////////////// + +inline +MatStep::MatStep() CV_NOEXCEPT +{ + p = buf; p[0] = p[1] = 0; +} + +inline +MatStep::MatStep(size_t s) CV_NOEXCEPT +{ + p = buf; p[0] = s; p[1] = 0; +} + +inline +const size_t& MatStep::operator[](int i) const CV_NOEXCEPT +{ + return p[i]; +} + +inline +size_t& MatStep::operator[](int i) CV_NOEXCEPT +{ + return p[i]; +} + +inline MatStep::operator size_t() const +{ + CV_DbgAssert( p == buf ); + return buf[0]; +} + +inline MatStep& MatStep::operator = (size_t s) +{ + CV_DbgAssert( p == buf ); + buf[0] = s; + return *this; +} + + + +////////////////////////////// Mat_<_Tp> //////////////////////////// + +template inline +Mat_<_Tp>::Mat_() CV_NOEXCEPT + : Mat() +{ + flags = (flags & ~CV_MAT_TYPE_MASK) + traits::Type<_Tp>::value; +} + +template inline +Mat_<_Tp>::Mat_(int _rows, int _cols) + : Mat(_rows, _cols, traits::Type<_Tp>::value) +{ +} + +template inline +Mat_<_Tp>::Mat_(int _rows, int _cols, const _Tp& value) + : Mat(_rows, _cols, traits::Type<_Tp>::value) +{ + *this = value; +} + +template inline +Mat_<_Tp>::Mat_(Size _sz) + : Mat(_sz.height, _sz.width, traits::Type<_Tp>::value) +{} + +template inline +Mat_<_Tp>::Mat_(Size _sz, const _Tp& value) + : Mat(_sz.height, _sz.width, traits::Type<_Tp>::value) +{ + *this = value; +} + +template inline +Mat_<_Tp>::Mat_(int _dims, const int* _sz) + : Mat(_dims, _sz, traits::Type<_Tp>::value) +{} + +template inline +Mat_<_Tp>::Mat_(int _dims, const int* _sz, const _Tp& _s) + : Mat(_dims, _sz, traits::Type<_Tp>::value, Scalar(_s)) +{} + +template inline +Mat_<_Tp>::Mat_(int _dims, const int* _sz, _Tp* _data, const size_t* _steps) + : Mat(_dims, _sz, traits::Type<_Tp>::value, _data, _steps) +{} + +template inline +Mat_<_Tp>::Mat_(const Mat_<_Tp>& m, const Range* ranges) + : Mat(m, ranges) +{} + +template inline +Mat_<_Tp>::Mat_(const Mat_<_Tp>& m, const std::vector& ranges) + : Mat(m, ranges) +{} + +template inline +Mat_<_Tp>::Mat_(const Mat& m) + : Mat() +{ + flags = (flags & ~CV_MAT_TYPE_MASK) + traits::Type<_Tp>::value; + *this = m; +} + +template inline +Mat_<_Tp>::Mat_(const Mat_& m) + : Mat(m) +{} + +template inline +Mat_<_Tp>::Mat_(int _rows, int _cols, _Tp* _data, size_t steps) + : Mat(_rows, _cols, traits::Type<_Tp>::value, _data, steps) +{} + +template inline +Mat_<_Tp>::Mat_(const Mat_& m, const Range& _rowRange, const Range& _colRange) + : Mat(m, _rowRange, _colRange) +{} + +template inline +Mat_<_Tp>::Mat_(const Mat_& m, const Rect& roi) + : Mat(m, roi) +{} + +template template inline +Mat_<_Tp>::Mat_(const Vec::channel_type, n>& vec, bool copyData) + : Mat(n / DataType<_Tp>::channels, 1, traits::Type<_Tp>::value, (void*)&vec) +{ + CV_Assert(n%DataType<_Tp>::channels == 0); + if( copyData ) + *this = clone(); +} + +template template inline +Mat_<_Tp>::Mat_(const Matx::channel_type, m, n>& M, bool copyData) + : Mat(m, n / DataType<_Tp>::channels, traits::Type<_Tp>::value, (void*)&M) +{ + CV_Assert(n % DataType<_Tp>::channels == 0); + if( copyData ) + *this = clone(); +} + +template inline +Mat_<_Tp>::Mat_(const Point_::channel_type>& pt, bool copyData) + : Mat(2 / DataType<_Tp>::channels, 1, traits::Type<_Tp>::value, (void*)&pt) +{ + CV_Assert(2 % DataType<_Tp>::channels == 0); + if( copyData ) + *this = clone(); +} + +template inline +Mat_<_Tp>::Mat_(const Point3_::channel_type>& pt, bool copyData) + : Mat(3 / DataType<_Tp>::channels, 1, traits::Type<_Tp>::value, (void*)&pt) +{ + CV_Assert(3 % DataType<_Tp>::channels == 0); + if( copyData ) + *this = clone(); +} + +template inline +Mat_<_Tp>::Mat_(const MatCommaInitializer_<_Tp>& commaInitializer) + : Mat(commaInitializer) +{} + +template inline +Mat_<_Tp>::Mat_(const std::vector<_Tp>& vec, bool copyData) + : Mat(vec, copyData) +{} + +template inline +Mat_<_Tp>::Mat_(std::initializer_list<_Tp> list) + : Mat(list) +{} + +template inline +Mat_<_Tp>::Mat_(const std::initializer_list sizes, std::initializer_list<_Tp> list) + : Mat(sizes, list) +{} + +template template inline +Mat_<_Tp>::Mat_(const std::array<_Tp, _Nm>& arr, bool copyData) + : Mat(arr, copyData) +{} + +template inline +Mat_<_Tp>& Mat_<_Tp>::operator = (const Mat& m) +{ + if (m.empty()) + { + release(); + return *this; + } + if( traits::Type<_Tp>::value == m.type() ) + { + Mat::operator = (m); + return *this; + } + if( traits::Depth<_Tp>::value == m.depth() ) + { + return (*this = m.reshape(DataType<_Tp>::channels, m.dims, 0)); + } + CV_Assert(DataType<_Tp>::channels == m.channels() || m.empty()); + m.convertTo(*this, type()); + return *this; +} + +template inline +Mat_<_Tp>& Mat_<_Tp>::operator = (const Mat_& m) +{ + Mat::operator=(m); + return *this; +} + +template inline +Mat_<_Tp>& Mat_<_Tp>::operator = (const _Tp& s) +{ + typedef typename DataType<_Tp>::vec_type VT; + Mat::operator=(Scalar((const VT&)s)); + return *this; +} + +template inline +void Mat_<_Tp>::create(int _rows, int _cols) +{ + Mat::create(_rows, _cols, traits::Type<_Tp>::value); +} + +template inline +void Mat_<_Tp>::create(Size _sz) +{ + Mat::create(_sz, traits::Type<_Tp>::value); +} + +template inline +void Mat_<_Tp>::create(int _dims, const int* _sz) +{ + Mat::create(_dims, _sz, traits::Type<_Tp>::value); +} + +template inline +void Mat_<_Tp>::release() +{ + Mat::release(); + flags = (flags & ~CV_MAT_TYPE_MASK) + traits::Type<_Tp>::value; +} + +template inline +Mat_<_Tp> Mat_<_Tp>::cross(const Mat_& m) const +{ + return Mat_<_Tp>(Mat::cross(m)); +} + +template template inline +Mat_<_Tp>::operator Mat_() const +{ + return Mat_(static_cast(*this)); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::row(int y) const +{ + return Mat_(*this, Range(y, y+1), Range::all()); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::col(int x) const +{ + return Mat_(*this, Range::all(), Range(x, x+1)); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::diag(int d) const +{ + return Mat_(Mat::diag(d)); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::clone() const +{ + return Mat_(Mat::clone()); +} + +template inline +size_t Mat_<_Tp>::elemSize() const +{ + CV_DbgAssert( Mat::elemSize() == sizeof(_Tp) ); + return sizeof(_Tp); +} + +template inline +size_t Mat_<_Tp>::elemSize1() const +{ + CV_DbgAssert( Mat::elemSize1() == sizeof(_Tp) / DataType<_Tp>::channels ); + return sizeof(_Tp) / DataType<_Tp>::channels; +} + +template inline +int Mat_<_Tp>::type() const +{ + CV_DbgAssert( Mat::type() == traits::Type<_Tp>::value ); + return traits::Type<_Tp>::value; +} + +template inline +int Mat_<_Tp>::depth() const +{ + CV_DbgAssert( Mat::depth() == traits::Depth<_Tp>::value ); + return traits::Depth<_Tp>::value; +} + +template inline +int Mat_<_Tp>::channels() const +{ + CV_DbgAssert( Mat::channels() == DataType<_Tp>::channels ); + return DataType<_Tp>::channels; +} + +template inline +size_t Mat_<_Tp>::stepT(int i) const +{ + return step.p[i] / elemSize(); +} + +template inline +size_t Mat_<_Tp>::step1(int i) const +{ + return step.p[i] / elemSize1(); +} + +template inline +Mat_<_Tp>& Mat_<_Tp>::adjustROI( int dtop, int dbottom, int dleft, int dright ) +{ + return (Mat_<_Tp>&)(Mat::adjustROI(dtop, dbottom, dleft, dright)); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::operator()( const Range& _rowRange, const Range& _colRange ) const +{ + return Mat_<_Tp>(*this, _rowRange, _colRange); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::operator()( const Rect& roi ) const +{ + return Mat_<_Tp>(*this, roi); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::operator()( const Range* ranges ) const +{ + return Mat_<_Tp>(*this, ranges); +} + +template inline +Mat_<_Tp> Mat_<_Tp>::operator()(const std::vector& ranges) const +{ + return Mat_<_Tp>(*this, ranges); +} + +template inline +_Tp* Mat_<_Tp>::operator [](int y) +{ + CV_DbgAssert( 0 <= y && y < size.p[0] ); + return (_Tp*)(data + y*step.p[0]); +} + +template inline +const _Tp* Mat_<_Tp>::operator [](int y) const +{ + CV_DbgAssert( 0 <= y && y < size.p[0] ); + return (const _Tp*)(data + y*step.p[0]); +} + +template inline +_Tp& Mat_<_Tp>::operator ()(int i0, int i1) +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + CV_DbgAssert(type() == traits::Type<_Tp>::value); + return ((_Tp*)(data + step.p[0] * i0))[i1]; +} + +template inline +const _Tp& Mat_<_Tp>::operator ()(int i0, int i1) const +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)i0 < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)i1 < (unsigned)size.p[1]); + CV_DbgAssert(type() == traits::Type<_Tp>::value); + return ((const _Tp*)(data + step.p[0] * i0))[i1]; +} + +template inline +_Tp& Mat_<_Tp>::operator ()(Point pt) +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)pt.y < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)pt.x < (unsigned)size.p[1]); + CV_DbgAssert(type() == traits::Type<_Tp>::value); + return ((_Tp*)(data + step.p[0] * pt.y))[pt.x]; +} + +template inline +const _Tp& Mat_<_Tp>::operator ()(Point pt) const +{ + CV_DbgAssert(dims <= 2); + CV_DbgAssert(data); + CV_DbgAssert((unsigned)pt.y < (unsigned)size.p[0]); + CV_DbgAssert((unsigned)pt.x < (unsigned)size.p[1]); + CV_DbgAssert(type() == traits::Type<_Tp>::value); + return ((const _Tp*)(data + step.p[0] * pt.y))[pt.x]; +} + +template inline +_Tp& Mat_<_Tp>::operator ()(const int* idx) +{ + return Mat::at<_Tp>(idx); +} + +template inline +const _Tp& Mat_<_Tp>::operator ()(const int* idx) const +{ + return Mat::at<_Tp>(idx); +} + +template template inline +_Tp& Mat_<_Tp>::operator ()(const Vec& idx) +{ + return Mat::at<_Tp>(idx); +} + +template template inline +const _Tp& Mat_<_Tp>::operator ()(const Vec& idx) const +{ + return Mat::at<_Tp>(idx); +} + +template inline +_Tp& Mat_<_Tp>::operator ()(int i0) +{ + return this->at<_Tp>(i0); +} + +template inline +const _Tp& Mat_<_Tp>::operator ()(int i0) const +{ + return this->at<_Tp>(i0); +} + +template inline +_Tp& Mat_<_Tp>::operator ()(int i0, int i1, int i2) +{ + return this->at<_Tp>(i0, i1, i2); +} + +template inline +const _Tp& Mat_<_Tp>::operator ()(int i0, int i1, int i2) const +{ + return this->at<_Tp>(i0, i1, i2); +} + +template inline +Mat_<_Tp>::operator std::vector<_Tp>() const +{ + std::vector<_Tp> v; + copyTo(v); + return v; +} + +template template inline +Mat_<_Tp>::operator std::array<_Tp, _Nm>() const +{ + std::array<_Tp, _Nm> a; + copyTo(a); + return a; +} + +template template inline +Mat_<_Tp>::operator Vec::channel_type, n>() const +{ + CV_Assert(n % DataType<_Tp>::channels == 0); + +#if defined _MSC_VER + const Mat* pMat = (const Mat*)this; // workaround for MSVS <= 2012 compiler bugs (but GCC 4.6 dislikes this workaround) + return pMat->operator Vec::channel_type, n>(); +#else + return this->Mat::operator Vec::channel_type, n>(); +#endif +} + +template template inline +Mat_<_Tp>::operator Matx::channel_type, m, n>() const +{ + CV_Assert(n % DataType<_Tp>::channels == 0); + +#if defined _MSC_VER + const Mat* pMat = (const Mat*)this; // workaround for MSVS <= 2012 compiler bugs (but GCC 4.6 dislikes this workaround) + Matx::channel_type, m, n> res = pMat->operator Matx::channel_type, m, n>(); + return res; +#else + Matx::channel_type, m, n> res = this->Mat::operator Matx::channel_type, m, n>(); + return res; +#endif +} + +template inline +MatConstIterator_<_Tp> Mat_<_Tp>::begin() const +{ + return Mat::begin<_Tp>(); +} + +template inline +std::reverse_iterator> Mat_<_Tp>::rbegin() const +{ + return Mat::rbegin<_Tp>(); +} + +template inline +MatConstIterator_<_Tp> Mat_<_Tp>::end() const +{ + return Mat::end<_Tp>(); +} + +template inline +std::reverse_iterator> Mat_<_Tp>::rend() const +{ + return Mat::rend<_Tp>(); +} + +template inline +MatIterator_<_Tp> Mat_<_Tp>::begin() +{ + return Mat::begin<_Tp>(); +} + +template inline +std::reverse_iterator> Mat_<_Tp>::rbegin() +{ + return Mat::rbegin<_Tp>(); +} + +template inline +MatIterator_<_Tp> Mat_<_Tp>::end() +{ + return Mat::end<_Tp>(); +} + +template inline +std::reverse_iterator> Mat_<_Tp>::rend() +{ + return Mat::rend<_Tp>(); +} + +template template inline +void Mat_<_Tp>::forEach(const Functor& operation) { + Mat::forEach<_Tp, Functor>(operation); +} + +template template inline +void Mat_<_Tp>::forEach(const Functor& operation) const { + Mat::forEach<_Tp, Functor>(operation); +} + +template inline +Mat_<_Tp>::Mat_(Mat_&& m) + : Mat(std::move(m)) +{ +} + +template inline +Mat_<_Tp>& Mat_<_Tp>::operator = (Mat_&& m) +{ + Mat::operator = (std::move(m)); + return *this; +} + +template inline +Mat_<_Tp>::Mat_(Mat&& m) + : Mat() +{ + flags = (flags & ~CV_MAT_TYPE_MASK) + traits::Type<_Tp>::value; + *this = std::move(m); +} + +template inline +Mat_<_Tp>& Mat_<_Tp>::operator = (Mat&& m) +{ + if (m.empty()) + { + release(); + return *this; + } + if( traits::Type<_Tp>::value == m.type() ) + { + Mat::operator = ((Mat&&)m); + return *this; + } + if( traits::Depth<_Tp>::value == m.depth() ) + { + Mat::operator = ((Mat&&)m.reshape(DataType<_Tp>::channels, m.dims, 0)); + return *this; + } + CV_DbgAssert(DataType<_Tp>::channels == m.channels()); + m.convertTo(*this, type()); + return *this; +} + +template inline +Mat_<_Tp>::Mat_(MatExpr&& e) + : Mat() +{ + flags = (flags & ~CV_MAT_TYPE_MASK) + traits::Type<_Tp>::value; + *this = Mat(e); +} + + +///////////////////////////// SparseMat ///////////////////////////// + +inline +SparseMat SparseMat::clone() const +{ + SparseMat temp; + this->copyTo(temp); + return temp; +} + +inline +size_t SparseMat::elemSize() const +{ + return CV_ELEM_SIZE(flags); +} + +inline +size_t SparseMat::elemSize1() const +{ + return CV_ELEM_SIZE1(flags); +} + +inline +int SparseMat::type() const +{ + return CV_MAT_TYPE(flags); +} + +inline +int SparseMat::depth() const +{ + return CV_MAT_DEPTH(flags); +} + +inline +int SparseMat::channels() const +{ + return CV_MAT_CN(flags); +} + +inline +const int* SparseMat::size() const +{ + return hdr ? hdr->size : 0; +} + +inline +int SparseMat::size(int i) const +{ + if( hdr ) + { + CV_DbgAssert((unsigned)i < (unsigned)hdr->dims); + return hdr->size[i]; + } + return 0; +} + +inline +int SparseMat::dims() const +{ + return hdr ? hdr->dims : 0; +} + +inline +size_t SparseMat::nzcount() const +{ + return hdr ? hdr->nodeCount : 0; +} + +template inline +_Tp& SparseMat::ref(int i0, size_t* hashval) +{ + return *(_Tp*)((SparseMat*)this)->ptr(i0, true, hashval); +} + +template inline +_Tp& SparseMat::ref(int i0, int i1, size_t* hashval) +{ + return *(_Tp*)((SparseMat*)this)->ptr(i0, i1, true, hashval); +} + +template inline +_Tp& SparseMat::ref(int i0, int i1, int i2, size_t* hashval) +{ + return *(_Tp*)((SparseMat*)this)->ptr(i0, i1, i2, true, hashval); +} + +template inline +_Tp& SparseMat::ref(const int* idx, size_t* hashval) +{ + return *(_Tp*)((SparseMat*)this)->ptr(idx, true, hashval); +} + +template inline +_Tp SparseMat::value(int i0, size_t* hashval) const +{ + const _Tp* p = (const _Tp*)((SparseMat*)this)->ptr(i0, false, hashval); + return p ? *p : _Tp(); +} + +template inline +_Tp SparseMat::value(int i0, int i1, size_t* hashval) const +{ + const _Tp* p = (const _Tp*)((SparseMat*)this)->ptr(i0, i1, false, hashval); + return p ? *p : _Tp(); +} + +template inline +_Tp SparseMat::value(int i0, int i1, int i2, size_t* hashval) const +{ + const _Tp* p = (const _Tp*)((SparseMat*)this)->ptr(i0, i1, i2, false, hashval); + return p ? *p : _Tp(); +} + +template inline +_Tp SparseMat::value(const int* idx, size_t* hashval) const +{ + const _Tp* p = (const _Tp*)((SparseMat*)this)->ptr(idx, false, hashval); + return p ? *p : _Tp(); +} + +template inline +const _Tp* SparseMat::find(int i0, size_t* hashval) const +{ + return (const _Tp*)((SparseMat*)this)->ptr(i0, false, hashval); +} + +template inline +const _Tp* SparseMat::find(int i0, int i1, size_t* hashval) const +{ + return (const _Tp*)((SparseMat*)this)->ptr(i0, i1, false, hashval); +} + +template inline +const _Tp* SparseMat::find(int i0, int i1, int i2, size_t* hashval) const +{ + return (const _Tp*)((SparseMat*)this)->ptr(i0, i1, i2, false, hashval); +} + +template inline +const _Tp* SparseMat::find(const int* idx, size_t* hashval) const +{ + return (const _Tp*)((SparseMat*)this)->ptr(idx, false, hashval); +} + +template inline +_Tp& SparseMat::value(Node* n) +{ + return *(_Tp*)((uchar*)n + hdr->valueOffset); +} + +template inline +const _Tp& SparseMat::value(const Node* n) const +{ + return *(const _Tp*)((const uchar*)n + hdr->valueOffset); +} + +inline +SparseMat::Node* SparseMat::node(size_t nidx) +{ + return (Node*)(void*)&hdr->pool[nidx]; +} + +inline +const SparseMat::Node* SparseMat::node(size_t nidx) const +{ + return (const Node*)(const void*)&hdr->pool[nidx]; +} + +inline +SparseMatIterator SparseMat::begin() +{ + return SparseMatIterator(this); +} + +inline +SparseMatConstIterator SparseMat::begin() const +{ + return SparseMatConstIterator(this); +} + +inline +SparseMatIterator SparseMat::end() +{ + SparseMatIterator it(this); + it.seekEnd(); + return it; +} + +inline +SparseMatConstIterator SparseMat::end() const +{ + SparseMatConstIterator it(this); + it.seekEnd(); + return it; +} + +template inline +SparseMatIterator_<_Tp> SparseMat::begin() +{ + return SparseMatIterator_<_Tp>(this); +} + +template inline +SparseMatConstIterator_<_Tp> SparseMat::begin() const +{ + return SparseMatConstIterator_<_Tp>(this); +} + +template inline +SparseMatIterator_<_Tp> SparseMat::end() +{ + SparseMatIterator_<_Tp> it(this); + it.seekEnd(); + return it; +} + +template inline +SparseMatConstIterator_<_Tp> SparseMat::end() const +{ + SparseMatConstIterator_<_Tp> it(this); + it.seekEnd(); + return it; +} + + + +///////////////////////////// SparseMat_ //////////////////////////// + +template inline +SparseMat_<_Tp>::SparseMat_() +{ + flags = MAGIC_VAL + traits::Type<_Tp>::value; +} + +template inline +SparseMat_<_Tp>::SparseMat_(int _dims, const int* _sizes) + : SparseMat(_dims, _sizes, traits::Type<_Tp>::value) +{} + +template inline +SparseMat_<_Tp>::SparseMat_(const SparseMat& m) +{ + if( m.type() == traits::Type<_Tp>::value ) + *this = (const SparseMat_<_Tp>&)m; + else + m.convertTo(*this, traits::Type<_Tp>::value); +} + +template inline +SparseMat_<_Tp>::SparseMat_(const SparseMat_<_Tp>& m) +{ + this->flags = m.flags; + this->hdr = m.hdr; + if( this->hdr ) + CV_XADD(&this->hdr->refcount, 1); +} + +template inline +SparseMat_<_Tp>::SparseMat_(const Mat& m) +{ + SparseMat sm(m); + *this = sm; +} + +template inline +SparseMat_<_Tp>& SparseMat_<_Tp>::operator = (const SparseMat_<_Tp>& m) +{ + if( this != &m ) + { + if( m.hdr ) CV_XADD(&m.hdr->refcount, 1); + release(); + flags = m.flags; + hdr = m.hdr; + } + return *this; +} + +template inline +SparseMat_<_Tp>& SparseMat_<_Tp>::operator = (const SparseMat& m) +{ + if( m.type() == traits::Type<_Tp>::value ) + return (*this = (const SparseMat_<_Tp>&)m); + m.convertTo(*this, traits::Type<_Tp>::value); + return *this; +} + +template inline +SparseMat_<_Tp>& SparseMat_<_Tp>::operator = (const Mat& m) +{ + return (*this = SparseMat(m)); +} + +template inline +SparseMat_<_Tp> SparseMat_<_Tp>::clone() const +{ + SparseMat_<_Tp> m; + this->copyTo(m); + return m; +} + +template inline +void SparseMat_<_Tp>::create(int _dims, const int* _sizes) +{ + SparseMat::create(_dims, _sizes, traits::Type<_Tp>::value); +} + +template inline +int SparseMat_<_Tp>::type() const +{ + return traits::Type<_Tp>::value; +} + +template inline +int SparseMat_<_Tp>::depth() const +{ + return traits::Depth<_Tp>::value; +} + +template inline +int SparseMat_<_Tp>::channels() const +{ + return DataType<_Tp>::channels; +} + +template inline +_Tp& SparseMat_<_Tp>::ref(int i0, size_t* hashval) +{ + return SparseMat::ref<_Tp>(i0, hashval); +} + +template inline +_Tp SparseMat_<_Tp>::operator()(int i0, size_t* hashval) const +{ + return SparseMat::value<_Tp>(i0, hashval); +} + +template inline +_Tp& SparseMat_<_Tp>::ref(int i0, int i1, size_t* hashval) +{ + return SparseMat::ref<_Tp>(i0, i1, hashval); +} + +template inline +_Tp SparseMat_<_Tp>::operator()(int i0, int i1, size_t* hashval) const +{ + return SparseMat::value<_Tp>(i0, i1, hashval); +} + +template inline +_Tp& SparseMat_<_Tp>::ref(int i0, int i1, int i2, size_t* hashval) +{ + return SparseMat::ref<_Tp>(i0, i1, i2, hashval); +} + +template inline +_Tp SparseMat_<_Tp>::operator()(int i0, int i1, int i2, size_t* hashval) const +{ + return SparseMat::value<_Tp>(i0, i1, i2, hashval); +} + +template inline +_Tp& SparseMat_<_Tp>::ref(const int* idx, size_t* hashval) +{ + return SparseMat::ref<_Tp>(idx, hashval); +} + +template inline +_Tp SparseMat_<_Tp>::operator()(const int* idx, size_t* hashval) const +{ + return SparseMat::value<_Tp>(idx, hashval); +} + +template inline +SparseMatIterator_<_Tp> SparseMat_<_Tp>::begin() +{ + return SparseMatIterator_<_Tp>(this); +} + +template inline +SparseMatConstIterator_<_Tp> SparseMat_<_Tp>::begin() const +{ + return SparseMatConstIterator_<_Tp>(this); +} + +template inline +SparseMatIterator_<_Tp> SparseMat_<_Tp>::end() +{ + SparseMatIterator_<_Tp> it(this); + it.seekEnd(); + return it; +} + +template inline +SparseMatConstIterator_<_Tp> SparseMat_<_Tp>::end() const +{ + SparseMatConstIterator_<_Tp> it(this); + it.seekEnd(); + return it; +} + + + +////////////////////////// MatConstIterator ///////////////////////// + +inline +MatConstIterator::MatConstIterator() + : m(0), elemSize(0), ptr(0), sliceStart(0), sliceEnd(0) +{} + +inline +MatConstIterator::MatConstIterator(const Mat* _m) + : m(_m), elemSize(_m->elemSize()), ptr(0), sliceStart(0), sliceEnd(0) +{ + if( m && m->isContinuous() ) + { + CV_Assert(!m->empty()); + sliceStart = m->ptr(); + sliceEnd = sliceStart + m->total()*elemSize; + } + seek((const int*)0); +} + +inline +MatConstIterator::MatConstIterator(const Mat* _m, int _row, int _col) + : m(_m), elemSize(_m->elemSize()), ptr(0), sliceStart(0), sliceEnd(0) +{ + CV_Assert(m && m->dims <= 2); + if( m->isContinuous() ) + { + CV_Assert(!m->empty()); + sliceStart = m->ptr(); + sliceEnd = sliceStart + m->total()*elemSize; + } + int idx[] = {_row, _col}; + seek(idx); +} + +inline +MatConstIterator::MatConstIterator(const Mat* _m, Point _pt) + : m(_m), elemSize(_m->elemSize()), ptr(0), sliceStart(0), sliceEnd(0) +{ + CV_Assert(m && m->dims <= 2); + if( m->isContinuous() ) + { + CV_Assert(!m->empty()); + sliceStart = m->ptr(); + sliceEnd = sliceStart + m->total()*elemSize; + } + int idx[] = {_pt.y, _pt.x}; + seek(idx); +} + +inline +MatConstIterator::MatConstIterator(const MatConstIterator& it) + : m(it.m), elemSize(it.elemSize), ptr(it.ptr), sliceStart(it.sliceStart), sliceEnd(it.sliceEnd) +{} + +inline +MatConstIterator& MatConstIterator::operator = (const MatConstIterator& it ) +{ + m = it.m; elemSize = it.elemSize; ptr = it.ptr; + sliceStart = it.sliceStart; sliceEnd = it.sliceEnd; + return *this; +} + +inline +const uchar* MatConstIterator::operator *() const +{ + return ptr; +} + +inline MatConstIterator& MatConstIterator::operator += (ptrdiff_t ofs) +{ + if( !m || ofs == 0 ) + return *this; + ptrdiff_t ofsb = ofs*elemSize; + ptr += ofsb; + if( ptr < sliceStart || sliceEnd <= ptr ) + { + ptr -= ofsb; + seek(ofs, true); + } + return *this; +} + +inline +MatConstIterator& MatConstIterator::operator -= (ptrdiff_t ofs) +{ + return (*this += -ofs); +} + +inline +MatConstIterator& MatConstIterator::operator --() +{ + if( m && (ptr -= elemSize) < sliceStart ) + { + ptr += elemSize; + seek(-1, true); + } + return *this; +} + +inline +MatConstIterator MatConstIterator::operator --(int) +{ + MatConstIterator b = *this; + *this += -1; + return b; +} + +inline +MatConstIterator& MatConstIterator::operator ++() +{ + if( m && (ptr += elemSize) >= sliceEnd ) + { + ptr -= elemSize; + seek(1, true); + } + return *this; +} + +inline MatConstIterator MatConstIterator::operator ++(int) +{ + MatConstIterator b = *this; + *this += 1; + return b; +} + + +static inline +bool operator == (const MatConstIterator& a, const MatConstIterator& b) +{ + return a.m == b.m && a.ptr == b.ptr; +} + +static inline +bool operator != (const MatConstIterator& a, const MatConstIterator& b) +{ + return !(a == b); +} + +static inline +bool operator < (const MatConstIterator& a, const MatConstIterator& b) +{ + return a.ptr < b.ptr; +} + +static inline +bool operator > (const MatConstIterator& a, const MatConstIterator& b) +{ + return a.ptr > b.ptr; +} + +static inline +bool operator <= (const MatConstIterator& a, const MatConstIterator& b) +{ + return a.ptr <= b.ptr; +} + +static inline +bool operator >= (const MatConstIterator& a, const MatConstIterator& b) +{ + return a.ptr >= b.ptr; +} + +static inline +ptrdiff_t operator - (const MatConstIterator& b, const MatConstIterator& a) +{ + if( a.m != b.m ) + return ((size_t)(-1) >> 1); + if( a.sliceEnd == b.sliceEnd ) + return (b.ptr - a.ptr)/static_cast(b.elemSize); + + return b.lpos() - a.lpos(); +} + +static inline +MatConstIterator operator + (const MatConstIterator& a, ptrdiff_t ofs) +{ + MatConstIterator b = a; + return b += ofs; +} + +static inline +MatConstIterator operator + (ptrdiff_t ofs, const MatConstIterator& a) +{ + MatConstIterator b = a; + return b += ofs; +} + +static inline +MatConstIterator operator - (const MatConstIterator& a, ptrdiff_t ofs) +{ + MatConstIterator b = a; + return b += -ofs; +} + + +inline +const uchar* MatConstIterator::operator [](ptrdiff_t i) const +{ + return *(*this + i); +} + + + +///////////////////////// MatConstIterator_ ///////////////////////// + +template inline +MatConstIterator_<_Tp>::MatConstIterator_() +{} + +template inline +MatConstIterator_<_Tp>::MatConstIterator_(const Mat_<_Tp>* _m) + : MatConstIterator(_m) +{} + +template inline +MatConstIterator_<_Tp>::MatConstIterator_(const Mat_<_Tp>* _m, int _row, int _col) + : MatConstIterator(_m, _row, _col) +{} + +template inline +MatConstIterator_<_Tp>::MatConstIterator_(const Mat_<_Tp>* _m, Point _pt) + : MatConstIterator(_m, _pt) +{} + +template inline +MatConstIterator_<_Tp>::MatConstIterator_(const MatConstIterator_& it) + : MatConstIterator(it) +{} + +template inline +MatConstIterator_<_Tp>& MatConstIterator_<_Tp>::operator = (const MatConstIterator_& it ) +{ + MatConstIterator::operator = (it); + return *this; +} + +template inline +const _Tp& MatConstIterator_<_Tp>::operator *() const +{ + return *(_Tp*)(this->ptr); +} + +template inline +MatConstIterator_<_Tp>& MatConstIterator_<_Tp>::operator += (ptrdiff_t ofs) +{ + MatConstIterator::operator += (ofs); + return *this; +} + +template inline +MatConstIterator_<_Tp>& MatConstIterator_<_Tp>::operator -= (ptrdiff_t ofs) +{ + return (*this += -ofs); +} + +template inline +MatConstIterator_<_Tp>& MatConstIterator_<_Tp>::operator --() +{ + MatConstIterator::operator --(); + return *this; +} + +template inline +MatConstIterator_<_Tp> MatConstIterator_<_Tp>::operator --(int) +{ + MatConstIterator_ b = *this; + MatConstIterator::operator --(); + return b; +} + +template inline +MatConstIterator_<_Tp>& MatConstIterator_<_Tp>::operator ++() +{ + MatConstIterator::operator ++(); + return *this; +} + +template inline +MatConstIterator_<_Tp> MatConstIterator_<_Tp>::operator ++(int) +{ + MatConstIterator_ b = *this; + MatConstIterator::operator ++(); + return b; +} + + +template inline +Point MatConstIterator_<_Tp>::pos() const +{ + if( !m ) + return Point(); + CV_DbgAssert( m->dims <= 2 ); + if( m->isContinuous() ) + { + ptrdiff_t ofs = (const _Tp*)ptr - (const _Tp*)m->data; + int y = (int)(ofs / m->cols); + int x = (int)(ofs - (ptrdiff_t)y * m->cols); + return Point(x, y); + } + else + { + ptrdiff_t ofs = (uchar*)ptr - m->data; + int y = (int)(ofs / m->step); + int x = (int)((ofs - y * m->step)/sizeof(_Tp)); + return Point(x, y); + } +} + + +template static inline +bool operator == (const MatConstIterator_<_Tp>& a, const MatConstIterator_<_Tp>& b) +{ + return a.m == b.m && a.ptr == b.ptr; +} + +template static inline +bool operator != (const MatConstIterator_<_Tp>& a, const MatConstIterator_<_Tp>& b) +{ + return a.m != b.m || a.ptr != b.ptr; +} + +template static inline +MatConstIterator_<_Tp> operator + (const MatConstIterator_<_Tp>& a, ptrdiff_t ofs) +{ + MatConstIterator t = (const MatConstIterator&)a + ofs; + return (MatConstIterator_<_Tp>&)t; +} + +template static inline +MatConstIterator_<_Tp> operator + (ptrdiff_t ofs, const MatConstIterator_<_Tp>& a) +{ + MatConstIterator t = (const MatConstIterator&)a + ofs; + return (MatConstIterator_<_Tp>&)t; +} + +template static inline +MatConstIterator_<_Tp> operator - (const MatConstIterator_<_Tp>& a, ptrdiff_t ofs) +{ + MatConstIterator t = (const MatConstIterator&)a - ofs; + return (MatConstIterator_<_Tp>&)t; +} + +template inline +const _Tp& MatConstIterator_<_Tp>::operator [](ptrdiff_t i) const +{ + return *(_Tp*)MatConstIterator::operator [](i); +} + + + +//////////////////////////// MatIterator_ /////////////////////////// + +template inline +MatIterator_<_Tp>::MatIterator_() + : MatConstIterator_<_Tp>() +{} + +template inline +MatIterator_<_Tp>::MatIterator_(Mat_<_Tp>* _m) + : MatConstIterator_<_Tp>(_m) +{} + +template inline +MatIterator_<_Tp>::MatIterator_(Mat_<_Tp>* _m, int _row, int _col) + : MatConstIterator_<_Tp>(_m, _row, _col) +{} + +template inline +MatIterator_<_Tp>::MatIterator_(Mat_<_Tp>* _m, Point _pt) + : MatConstIterator_<_Tp>(_m, _pt) +{} + +template inline +MatIterator_<_Tp>::MatIterator_(Mat_<_Tp>* _m, const int* _idx) + : MatConstIterator_<_Tp>(_m, _idx) +{} + +template inline +MatIterator_<_Tp>::MatIterator_(const MatIterator_& it) + : MatConstIterator_<_Tp>(it) +{} + +template inline +MatIterator_<_Tp>& MatIterator_<_Tp>::operator = (const MatIterator_<_Tp>& it ) +{ + MatConstIterator::operator = (it); + return *this; +} + +template inline +_Tp& MatIterator_<_Tp>::operator *() const +{ + return *(_Tp*)(this->ptr); +} + +template inline +MatIterator_<_Tp>& MatIterator_<_Tp>::operator += (ptrdiff_t ofs) +{ + MatConstIterator::operator += (ofs); + return *this; +} + +template inline +MatIterator_<_Tp>& MatIterator_<_Tp>::operator -= (ptrdiff_t ofs) +{ + MatConstIterator::operator += (-ofs); + return *this; +} + +template inline +MatIterator_<_Tp>& MatIterator_<_Tp>::operator --() +{ + MatConstIterator::operator --(); + return *this; +} + +template inline +MatIterator_<_Tp> MatIterator_<_Tp>::operator --(int) +{ + MatIterator_ b = *this; + MatConstIterator::operator --(); + return b; +} + +template inline +MatIterator_<_Tp>& MatIterator_<_Tp>::operator ++() +{ + MatConstIterator::operator ++(); + return *this; +} + +template inline +MatIterator_<_Tp> MatIterator_<_Tp>::operator ++(int) +{ + MatIterator_ b = *this; + MatConstIterator::operator ++(); + return b; +} + +template inline +_Tp& MatIterator_<_Tp>::operator [](ptrdiff_t i) const +{ + return *(*this + i); +} + + +template static inline +bool operator == (const MatIterator_<_Tp>& a, const MatIterator_<_Tp>& b) +{ + return a.m == b.m && a.ptr == b.ptr; +} + +template static inline +bool operator != (const MatIterator_<_Tp>& a, const MatIterator_<_Tp>& b) +{ + return a.m != b.m || a.ptr != b.ptr; +} + +template static inline +MatIterator_<_Tp> operator + (const MatIterator_<_Tp>& a, ptrdiff_t ofs) +{ + MatConstIterator t = (const MatConstIterator&)a + ofs; + return (MatIterator_<_Tp>&)t; +} + +template static inline +MatIterator_<_Tp> operator + (ptrdiff_t ofs, const MatIterator_<_Tp>& a) +{ + MatConstIterator t = (const MatConstIterator&)a + ofs; + return (MatIterator_<_Tp>&)t; +} + +template static inline +MatIterator_<_Tp> operator - (const MatIterator_<_Tp>& a, ptrdiff_t ofs) +{ + MatConstIterator t = (const MatConstIterator&)a - ofs; + return (MatIterator_<_Tp>&)t; +} + + + +/////////////////////// SparseMatConstIterator ////////////////////// + +inline +SparseMatConstIterator::SparseMatConstIterator() + : m(0), hashidx(0), ptr(0) +{} + +inline +SparseMatConstIterator::SparseMatConstIterator(const SparseMatConstIterator& it) + : m(it.m), hashidx(it.hashidx), ptr(it.ptr) +{} + +inline SparseMatConstIterator& SparseMatConstIterator::operator = (const SparseMatConstIterator& it) +{ + if( this != &it ) + { + m = it.m; + hashidx = it.hashidx; + ptr = it.ptr; + } + return *this; +} + +template inline +const _Tp& SparseMatConstIterator::value() const +{ + return *(const _Tp*)ptr; +} + +inline +const SparseMat::Node* SparseMatConstIterator::node() const +{ + return (ptr && m && m->hdr) ? (const SparseMat::Node*)(const void*)(ptr - m->hdr->valueOffset) : 0; +} + +inline +SparseMatConstIterator SparseMatConstIterator::operator ++(int) +{ + SparseMatConstIterator it = *this; + ++*this; + return it; +} + +inline +void SparseMatConstIterator::seekEnd() +{ + if( m && m->hdr ) + { + hashidx = m->hdr->hashtab.size(); + ptr = 0; + } +} + + +static inline +bool operator == (const SparseMatConstIterator& it1, const SparseMatConstIterator& it2) +{ + return it1.m == it2.m && it1.ptr == it2.ptr; +} + +static inline +bool operator != (const SparseMatConstIterator& it1, const SparseMatConstIterator& it2) +{ + return !(it1 == it2); +} + + + +///////////////////////// SparseMatIterator ///////////////////////// + +inline +SparseMatIterator::SparseMatIterator() +{} + +inline +SparseMatIterator::SparseMatIterator(SparseMat* _m) + : SparseMatConstIterator(_m) +{} + +inline +SparseMatIterator::SparseMatIterator(const SparseMatIterator& it) + : SparseMatConstIterator(it) +{} + +inline +SparseMatIterator& SparseMatIterator::operator = (const SparseMatIterator& it) +{ + (SparseMatConstIterator&)*this = it; + return *this; +} + +template inline +_Tp& SparseMatIterator::value() const +{ + return *(_Tp*)ptr; +} + +inline +SparseMat::Node* SparseMatIterator::node() const +{ + return (SparseMat::Node*)SparseMatConstIterator::node(); +} + +inline +SparseMatIterator& SparseMatIterator::operator ++() +{ + SparseMatConstIterator::operator ++(); + return *this; +} + +inline +SparseMatIterator SparseMatIterator::operator ++(int) +{ + SparseMatIterator it = *this; + ++*this; + return it; +} + + + +////////////////////// SparseMatConstIterator_ ////////////////////// + +template inline +SparseMatConstIterator_<_Tp>::SparseMatConstIterator_() +{} + +template inline +SparseMatConstIterator_<_Tp>::SparseMatConstIterator_(const SparseMat_<_Tp>* _m) + : SparseMatConstIterator(_m) +{} + +template inline +SparseMatConstIterator_<_Tp>::SparseMatConstIterator_(const SparseMat* _m) + : SparseMatConstIterator(_m) +{ + CV_Assert( _m->type() == traits::Type<_Tp>::value ); +} + +template inline +SparseMatConstIterator_<_Tp>::SparseMatConstIterator_(const SparseMatConstIterator_<_Tp>& it) + : SparseMatConstIterator(it) +{} + +template inline +SparseMatConstIterator_<_Tp>& SparseMatConstIterator_<_Tp>::operator = (const SparseMatConstIterator_<_Tp>& it) +{ + return reinterpret_cast&> + (*reinterpret_cast(this) = + reinterpret_cast(it)); +} + +template inline +const _Tp& SparseMatConstIterator_<_Tp>::operator *() const +{ + return *(const _Tp*)this->ptr; +} + +template inline +SparseMatConstIterator_<_Tp>& SparseMatConstIterator_<_Tp>::operator ++() +{ + SparseMatConstIterator::operator ++(); + return *this; +} + +template inline +SparseMatConstIterator_<_Tp> SparseMatConstIterator_<_Tp>::operator ++(int) +{ + SparseMatConstIterator_<_Tp> it = *this; + SparseMatConstIterator::operator ++(); + return it; +} + + + +///////////////////////// SparseMatIterator_ //////////////////////// + +template inline +SparseMatIterator_<_Tp>::SparseMatIterator_() +{} + +template inline +SparseMatIterator_<_Tp>::SparseMatIterator_(SparseMat_<_Tp>* _m) + : SparseMatConstIterator_<_Tp>(_m) +{} + +template inline +SparseMatIterator_<_Tp>::SparseMatIterator_(SparseMat* _m) + : SparseMatConstIterator_<_Tp>(_m) +{} + +template inline +SparseMatIterator_<_Tp>::SparseMatIterator_(const SparseMatIterator_<_Tp>& it) + : SparseMatConstIterator_<_Tp>(it) +{} + +template inline +SparseMatIterator_<_Tp>& SparseMatIterator_<_Tp>::operator = (const SparseMatIterator_<_Tp>& it) +{ + return reinterpret_cast&> + (*reinterpret_cast(this) = + reinterpret_cast(it)); +} + +template inline +_Tp& SparseMatIterator_<_Tp>::operator *() const +{ + return *(_Tp*)this->ptr; +} + +template inline +SparseMatIterator_<_Tp>& SparseMatIterator_<_Tp>::operator ++() +{ + SparseMatConstIterator::operator ++(); + return *this; +} + +template inline +SparseMatIterator_<_Tp> SparseMatIterator_<_Tp>::operator ++(int) +{ + SparseMatIterator_<_Tp> it = *this; + SparseMatConstIterator::operator ++(); + return it; +} + + + +//////////////////////// MatCommaInitializer_ /////////////////////// + +template inline +MatCommaInitializer_<_Tp>::MatCommaInitializer_(Mat_<_Tp>* _m) + : it(_m) +{} + +template template inline +MatCommaInitializer_<_Tp>& MatCommaInitializer_<_Tp>::operator , (T2 v) +{ + CV_DbgAssert( this->it < ((const Mat_<_Tp>*)this->it.m)->end() ); + *this->it = _Tp(v); + ++this->it; + return *this; +} + +template inline +MatCommaInitializer_<_Tp>::operator Mat_<_Tp>() const +{ + CV_DbgAssert( this->it == ((const Mat_<_Tp>*)this->it.m)->end() ); + return Mat_<_Tp>(*this->it.m); +} + + +template static inline +MatCommaInitializer_<_Tp> operator << (const Mat_<_Tp>& m, T2 val) +{ + MatCommaInitializer_<_Tp> commaInitializer((Mat_<_Tp>*)&m); + return (commaInitializer, val); +} + + + +///////////////////////// Matrix Expressions //////////////////////// + +inline +Mat& Mat::operator = (const MatExpr& e) +{ + e.op->assign(e, *this); + return *this; +} + +template inline +Mat_<_Tp>::Mat_(const MatExpr& e) +{ + e.op->assign(e, *this, traits::Type<_Tp>::value); +} + +template inline +Mat_<_Tp>& Mat_<_Tp>::operator = (const MatExpr& e) +{ + e.op->assign(e, *this, traits::Type<_Tp>::value); + return *this; +} + +template inline +MatExpr Mat_<_Tp>::zeros(int rows, int cols) +{ + return Mat::zeros(rows, cols, traits::Type<_Tp>::value); +} + +template inline +MatExpr Mat_<_Tp>::zeros(Size sz) +{ + return Mat::zeros(sz, traits::Type<_Tp>::value); +} + +template inline +MatExpr Mat_<_Tp>::ones(int rows, int cols) +{ + return Mat::ones(rows, cols, traits::Type<_Tp>::value); +} + +template inline +MatExpr Mat_<_Tp>::ones(Size sz) +{ + return Mat::ones(sz, traits::Type<_Tp>::value); +} + +template inline +MatExpr Mat_<_Tp>::eye(int rows, int cols) +{ + return Mat::eye(rows, cols, traits::Type<_Tp>::value); +} + +template inline +MatExpr Mat_<_Tp>::eye(Size sz) +{ + return Mat::eye(sz, traits::Type<_Tp>::value); +} + +inline +MatExpr::MatExpr() + : op(0), flags(0), a(Mat()), b(Mat()), c(Mat()), alpha(0), beta(0), s() +{} + +inline +MatExpr::MatExpr(const MatOp* _op, int _flags, const Mat& _a, const Mat& _b, + const Mat& _c, double _alpha, double _beta, const Scalar& _s) + : op(_op), flags(_flags), a(_a), b(_b), c(_c), alpha(_alpha), beta(_beta), s(_s) +{} + +inline +MatExpr::operator Mat() const +{ + Mat m; + op->assign(*this, m); + return m; +} + +template inline +MatExpr::operator Mat_<_Tp>() const +{ + Mat_<_Tp> m; + op->assign(*this, m, traits::Type<_Tp>::value); + return m; +} + + +template static inline +MatExpr min(const Mat_<_Tp>& a, const Mat_<_Tp>& b) +{ + return cv::min((const Mat&)a, (const Mat&)b); +} + +template static inline +MatExpr min(const Mat_<_Tp>& a, double s) +{ + return cv::min((const Mat&)a, s); +} + +template static inline +MatExpr min(double s, const Mat_<_Tp>& a) +{ + return cv::min((const Mat&)a, s); +} + +template static inline +MatExpr max(const Mat_<_Tp>& a, const Mat_<_Tp>& b) +{ + return cv::max((const Mat&)a, (const Mat&)b); +} + +template static inline +MatExpr max(const Mat_<_Tp>& a, double s) +{ + return cv::max((const Mat&)a, s); +} + +template static inline +MatExpr max(double s, const Mat_<_Tp>& a) +{ + return cv::max((const Mat&)a, s); +} + +template static inline +MatExpr abs(const Mat_<_Tp>& m) +{ + return cv::abs((const Mat&)m); +} + + +static inline +Mat& operator += (Mat& a, const MatExpr& b) +{ + b.op->augAssignAdd(b, a); + return a; +} + +static inline +const Mat& operator += (const Mat& a, const MatExpr& b) +{ + b.op->augAssignAdd(b, (Mat&)a); + return a; +} + +template static inline +Mat_<_Tp>& operator += (Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignAdd(b, a); + return a; +} + +template static inline +const Mat_<_Tp>& operator += (const Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignAdd(b, (Mat&)a); + return a; +} + +static inline +Mat& operator -= (Mat& a, const MatExpr& b) +{ + b.op->augAssignSubtract(b, a); + return a; +} + +static inline +const Mat& operator -= (const Mat& a, const MatExpr& b) +{ + b.op->augAssignSubtract(b, (Mat&)a); + return a; +} + +template static inline +Mat_<_Tp>& operator -= (Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignSubtract(b, a); + return a; +} + +template static inline +const Mat_<_Tp>& operator -= (const Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignSubtract(b, (Mat&)a); + return a; +} + +static inline +Mat& operator *= (Mat& a, const MatExpr& b) +{ + b.op->augAssignMultiply(b, a); + return a; +} + +static inline +const Mat& operator *= (const Mat& a, const MatExpr& b) +{ + b.op->augAssignMultiply(b, (Mat&)a); + return a; +} + +template static inline +Mat_<_Tp>& operator *= (Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignMultiply(b, a); + return a; +} + +template static inline +const Mat_<_Tp>& operator *= (const Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignMultiply(b, (Mat&)a); + return a; +} + +static inline +Mat& operator /= (Mat& a, const MatExpr& b) +{ + b.op->augAssignDivide(b, a); + return a; +} + +static inline +const Mat& operator /= (const Mat& a, const MatExpr& b) +{ + b.op->augAssignDivide(b, (Mat&)a); + return a; +} + +template static inline +Mat_<_Tp>& operator /= (Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignDivide(b, a); + return a; +} + +template static inline +const Mat_<_Tp>& operator /= (const Mat_<_Tp>& a, const MatExpr& b) +{ + b.op->augAssignDivide(b, (Mat&)a); + return a; +} + + +//////////////////////////////// UMat //////////////////////////////// + +template inline +UMat::UMat(const std::vector<_Tp>& vec, bool copyData) +: flags(MAGIC_VAL + traits::Type<_Tp>::value + CV_MAT_CONT_FLAG), dims(2), rows((int)vec.size()), +cols(1), allocator(0), usageFlags(USAGE_DEFAULT), u(0), offset(0), size(&rows) +{ + if(vec.empty()) + return; + if( !copyData ) + { + // !!!TODO!!! + CV_Error(Error::StsNotImplemented, ""); + } + else + Mat((int)vec.size(), 1, traits::Type<_Tp>::value, (uchar*)&vec[0]).copyTo(*this); +} + +inline +UMat UMat::row(int y) const +{ + return UMat(*this, Range(y, y + 1), Range::all()); +} + +inline +UMat UMat::col(int x) const +{ + return UMat(*this, Range::all(), Range(x, x + 1)); +} + +inline +UMat UMat::rowRange(int startrow, int endrow) const +{ + return UMat(*this, Range(startrow, endrow), Range::all()); +} + +inline +UMat UMat::rowRange(const Range& r) const +{ + return UMat(*this, r, Range::all()); +} + +inline +UMat UMat::colRange(int startcol, int endcol) const +{ + return UMat(*this, Range::all(), Range(startcol, endcol)); +} + +inline +UMat UMat::colRange(const Range& r) const +{ + return UMat(*this, Range::all(), r); +} + +inline +UMat UMat::operator()( Range _rowRange, Range _colRange ) const +{ + return UMat(*this, _rowRange, _colRange); +} + +inline +UMat UMat::operator()( const Rect& roi ) const +{ + return UMat(*this, roi); +} + +inline +UMat UMat::operator()(const Range* ranges) const +{ + return UMat(*this, ranges); +} + +inline +UMat UMat::operator()(const std::vector& ranges) const +{ + return UMat(*this, ranges); +} + +inline +bool UMat::isContinuous() const +{ + return (flags & CONTINUOUS_FLAG) != 0; +} + +inline +bool UMat::isSubmatrix() const +{ + return (flags & SUBMATRIX_FLAG) != 0; +} + +inline +size_t UMat::elemSize() const +{ + size_t res = dims > 0 ? step.p[dims - 1] : 0; + CV_DbgAssert(res != 0); + return res; +} + +inline +size_t UMat::elemSize1() const +{ + return CV_ELEM_SIZE1(flags); +} + +inline +int UMat::type() const +{ + return CV_MAT_TYPE(flags); +} + +inline +int UMat::depth() const +{ + return CV_MAT_DEPTH(flags); +} + +inline +int UMat::channels() const +{ + return CV_MAT_CN(flags); +} + +inline +size_t UMat::step1(int i) const +{ + return step.p[i] / elemSize1(); +} + + +inline bool UMatData::hostCopyObsolete() const { return (flags & HOST_COPY_OBSOLETE) != 0; } +inline bool UMatData::deviceCopyObsolete() const { return (flags & DEVICE_COPY_OBSOLETE) != 0; } +inline bool UMatData::deviceMemMapped() const { return (flags & DEVICE_MEM_MAPPED) != 0; } +inline bool UMatData::copyOnMap() const { return (flags & COPY_ON_MAP) != 0; } +inline bool UMatData::tempUMat() const { return (flags & TEMP_UMAT) != 0; } +inline bool UMatData::tempCopiedUMat() const { return (flags & TEMP_COPIED_UMAT) == TEMP_COPIED_UMAT; } + +inline void UMatData::markDeviceMemMapped(bool flag) +{ + if(flag) + flags |= DEVICE_MEM_MAPPED; + else + flags &= ~DEVICE_MEM_MAPPED; +} + +inline void UMatData::markHostCopyObsolete(bool flag) +{ + if(flag) + flags |= HOST_COPY_OBSOLETE; + else + flags &= ~HOST_COPY_OBSOLETE; +} +inline void UMatData::markDeviceCopyObsolete(bool flag) +{ + if(flag) + flags |= DEVICE_COPY_OBSOLETE; + else + flags &= ~DEVICE_COPY_OBSOLETE; +} + +//! @endcond + +static inline +void swap(MatExpr& a, MatExpr& b) { a.swap(b); } + +} //cv + +#ifdef _MSC_VER +#pragma warning( pop ) +#endif + +#ifdef CV_DISABLE_CLANG_ENUM_WARNINGS +#undef CV_DISABLE_CLANG_ENUM_WARNINGS +#pragma clang diagnostic pop +#endif + +#endif diff --git a/camera_lib/include/opencv2/core/matx.hpp b/camera_lib/include/opencv2/core/matx.hpp new file mode 100644 index 0000000..686ff5d --- /dev/null +++ b/camera_lib/include/opencv2/core/matx.hpp @@ -0,0 +1,1536 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_MATX_HPP +#define OPENCV_CORE_MATX_HPP + +#ifndef __cplusplus +# error matx.hpp header must be compiled as C++ +#endif + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/base.hpp" +#include "opencv2/core/traits.hpp" +#include "opencv2/core/saturate.hpp" + +#include + +namespace cv +{ + +//! @addtogroup core_basic +//! @{ + +////////////////////////////// Small Matrix /////////////////////////// + +//! @cond IGNORED +// FIXIT Remove this (especially CV_EXPORTS modifier) +struct CV_EXPORTS Matx_AddOp { Matx_AddOp() {} Matx_AddOp(const Matx_AddOp&) {} }; +struct CV_EXPORTS Matx_SubOp { Matx_SubOp() {} Matx_SubOp(const Matx_SubOp&) {} }; +struct CV_EXPORTS Matx_ScaleOp { Matx_ScaleOp() {} Matx_ScaleOp(const Matx_ScaleOp&) {} }; +struct CV_EXPORTS Matx_MulOp { Matx_MulOp() {} Matx_MulOp(const Matx_MulOp&) {} }; +struct CV_EXPORTS Matx_DivOp { Matx_DivOp() {} Matx_DivOp(const Matx_DivOp&) {} }; +struct CV_EXPORTS Matx_MatMulOp { Matx_MatMulOp() {} Matx_MatMulOp(const Matx_MatMulOp&) {} }; +struct CV_EXPORTS Matx_TOp { Matx_TOp() {} Matx_TOp(const Matx_TOp&) {} }; +//! @endcond + +/** @brief Template class for small matrices whose type and size are known at compilation time + +If you need a more flexible type, use Mat . The elements of the matrix M are accessible using the +M(i,j) notation. Most of the common matrix operations (see also @ref MatrixExpressions ) are +available. To do an operation on Matx that is not implemented, you can easily convert the matrix to +Mat and backwards: +@code{.cpp} + Matx33f m(1, 2, 3, + 4, 5, 6, + 7, 8, 9); + cout << sum(Mat(m*m.t())) << endl; +@endcode +Except of the plain constructor which takes a list of elements, Matx can be initialized from a C-array: +@code{.cpp} + float values[] = { 1, 2, 3}; + Matx31f m(values); +@endcode +In case if C++11 features are available, std::initializer_list can be also used to initialize Matx: +@code{.cpp} + Matx31f m = { 1, 2, 3}; +@endcode + */ +template class Matx +{ +public: + enum { + rows = m, + cols = n, + channels = rows*cols, +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + depth = traits::Type<_Tp>::value, + type = CV_MAKETYPE(depth, channels), +#endif + shortdim = (m < n ? m : n) + }; + + typedef _Tp value_type; + typedef Matx<_Tp, m, n> mat_type; + typedef Matx<_Tp, shortdim, 1> diag_type; + + //! default constructor + Matx(); + + explicit Matx(_Tp v0); //!< 1x1 matrix + Matx(_Tp v0, _Tp v1); //!< 1x2 or 2x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2); //!< 1x3 or 3x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3); //!< 1x4, 2x2 or 4x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4); //!< 1x5 or 5x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5); //!< 1x6, 2x3, 3x2 or 6x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6); //!< 1x7 or 7x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7); //!< 1x8, 2x4, 4x2 or 8x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8); //!< 1x9, 3x3 or 9x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9); //!< 1x10, 2x5 or 5x2 or 10x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, + _Tp v4, _Tp v5, _Tp v6, _Tp v7, + _Tp v8, _Tp v9, _Tp v10, _Tp v11); //!< 1x12, 2x6, 3x4, 4x3, 6x2 or 12x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, + _Tp v4, _Tp v5, _Tp v6, _Tp v7, + _Tp v8, _Tp v9, _Tp v10, _Tp v11, + _Tp v12, _Tp v13); //!< 1x14, 2x7, 7x2 or 14x1 matrix + Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, + _Tp v4, _Tp v5, _Tp v6, _Tp v7, + _Tp v8, _Tp v9, _Tp v10, _Tp v11, + _Tp v12, _Tp v13, _Tp v14, _Tp v15); //!< 1x16, 4x4 or 16x1 matrix + explicit Matx(const _Tp* vals); //!< initialize from a plain array + + Matx(std::initializer_list<_Tp>); //!< initialize from an initializer list + + CV_NODISCARD_STD static Matx all(_Tp alpha); + CV_NODISCARD_STD static Matx zeros(); + CV_NODISCARD_STD static Matx ones(); + CV_NODISCARD_STD static Matx eye(); + CV_NODISCARD_STD static Matx diag(const diag_type& d); + /** @brief Generates uniformly distributed random numbers + @param a Range boundary. + @param b The other range boundary (boundaries don't have to be ordered, the lower boundary is inclusive, + the upper one is exclusive). + */ + CV_NODISCARD_STD static Matx randu(_Tp a, _Tp b); + /** @brief Generates normally distributed random numbers + @param a Mean value. + @param b Standard deviation. + */ + CV_NODISCARD_STD static Matx randn(_Tp a, _Tp b); + + //! dot product computed with the default precision + _Tp dot(const Matx<_Tp, m, n>& v) const; + + //! dot product computed in double-precision arithmetics + double ddot(const Matx<_Tp, m, n>& v) const; + + //! conversion to another data type + template operator Matx() const; + + //! change the matrix shape + template Matx<_Tp, m1, n1> reshape() const; + + //! extract part of the matrix + template Matx<_Tp, m1, n1> get_minor(int base_row, int base_col) const; + + //! extract the matrix row + Matx<_Tp, 1, n> row(int i) const; + + //! extract the matrix column + Matx<_Tp, m, 1> col(int i) const; + + //! extract the matrix diagonal + diag_type diag() const; + + //! transpose the matrix + Matx<_Tp, n, m> t() const; + + //! invert the matrix + Matx<_Tp, n, m> inv(int method=DECOMP_LU, bool *p_is_ok = NULL) const; + + //! solve linear system + template Matx<_Tp, n, l> solve(const Matx<_Tp, m, l>& rhs, int flags=DECOMP_LU) const; + Vec<_Tp, n> solve(const Vec<_Tp, m>& rhs, int method) const; + + //! multiply two matrices element-wise + Matx<_Tp, m, n> mul(const Matx<_Tp, m, n>& a) const; + + //! divide two matrices element-wise + Matx<_Tp, m, n> div(const Matx<_Tp, m, n>& a) const; + + //! element access + const _Tp& operator ()(int row, int col) const; + _Tp& operator ()(int row, int col); + + //! 1D element access + const _Tp& operator ()(int i) const; + _Tp& operator ()(int i); + + Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_AddOp); + Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_SubOp); + template Matx(const Matx<_Tp, m, n>& a, _T2 alpha, Matx_ScaleOp); + Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_MulOp); + Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_DivOp); + template Matx(const Matx<_Tp, m, l>& a, const Matx<_Tp, l, n>& b, Matx_MatMulOp); + Matx(const Matx<_Tp, n, m>& a, Matx_TOp); + + _Tp val[m*n]; //< matrix elements +}; + +typedef Matx Matx12f; +typedef Matx Matx12d; +typedef Matx Matx13f; +typedef Matx Matx13d; +typedef Matx Matx14f; +typedef Matx Matx14d; +typedef Matx Matx16f; +typedef Matx Matx16d; + +typedef Matx Matx21f; +typedef Matx Matx21d; +typedef Matx Matx31f; +typedef Matx Matx31d; +typedef Matx Matx41f; +typedef Matx Matx41d; +typedef Matx Matx61f; +typedef Matx Matx61d; + +typedef Matx Matx22f; +typedef Matx Matx22d; +typedef Matx Matx23f; +typedef Matx Matx23d; +typedef Matx Matx32f; +typedef Matx Matx32d; + +typedef Matx Matx33f; +typedef Matx Matx33d; + +typedef Matx Matx34f; +typedef Matx Matx34d; +typedef Matx Matx43f; +typedef Matx Matx43d; + +typedef Matx Matx44f; +typedef Matx Matx44d; +typedef Matx Matx66f; +typedef Matx Matx66d; + +/*! + traits +*/ +template class DataType< Matx<_Tp, m, n> > +{ +public: + typedef Matx<_Tp, m, n> value_type; + typedef Matx::work_type, m, n> work_type; + typedef _Tp channel_type; + typedef value_type vec_type; + + enum { generic_type = 0, + channels = m * n, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; +}; + +namespace traits { +template +struct Depth< Matx<_Tp, m, n> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Matx<_Tp, m, n> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, n*m) }; }; +} // namespace + + +/** @brief Comma-separated Matrix Initializer +*/ +template class MatxCommaInitializer +{ +public: + MatxCommaInitializer(Matx<_Tp, m, n>* _mtx); + template MatxCommaInitializer<_Tp, m, n>& operator , (T2 val); + Matx<_Tp, m, n> operator *() const; + + Matx<_Tp, m, n>* dst; + int idx; +}; + +/* + Utility methods +*/ +template static double determinant(const Matx<_Tp, m, m>& a); +template static double trace(const Matx<_Tp, m, n>& a); +template static double norm(const Matx<_Tp, m, n>& M); +template static double norm(const Matx<_Tp, m, n>& M, int normType); + + + +/////////////////////// Vec (used as element of multi-channel images ///////////////////// + +/** @brief Template class for short numerical vectors, a partial case of Matx + +This template class represents short numerical vectors (of 1, 2, 3, 4 ... elements) on which you +can perform basic arithmetical operations, access individual elements using [] operator etc. The +vectors are allocated on stack, as opposite to std::valarray, std::vector, cv::Mat etc., which +elements are dynamically allocated in the heap. + +The template takes 2 parameters: +@tparam _Tp element type +@tparam cn the number of elements + +In addition to the universal notation like Vec, you can use shorter aliases +for the most popular specialized variants of Vec, e.g. Vec3f ~ Vec. + +It is possible to convert Vec\ to/from Point_, Vec\ to/from Point3_ , and Vec\ +to CvScalar or Scalar_. Use operator[] to access the elements of Vec. + +All the expected vector operations are also implemented: +- v1 = v2 + v3 +- v1 = v2 - v3 +- v1 = v2 \* scale +- v1 = scale \* v2 +- v1 = -v2 +- v1 += v2 and other augmenting operations +- v1 == v2, v1 != v2 +- norm(v1) (euclidean norm) +The Vec class is commonly used to describe pixel types of multi-channel arrays. See Mat for details. +*/ +template class Vec : public Matx<_Tp, cn, 1> +{ +public: + typedef _Tp value_type; + enum { + channels = cn, +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + depth = Matx<_Tp, cn, 1>::depth, + type = CV_MAKETYPE(depth, channels), +#endif + _dummy_enum_finalizer = 0 + }; + + //! default constructor + Vec(); + + Vec(_Tp v0); //!< 1-element vector constructor + Vec(_Tp v0, _Tp v1); //!< 2-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2); //!< 3-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3); //!< 4-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4); //!< 5-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5); //!< 6-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6); //!< 7-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7); //!< 8-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8); //!< 9-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9); //!< 10-element vector constructor + Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13); //!< 14-element vector constructor + explicit Vec(const _Tp* values); + + Vec(std::initializer_list<_Tp>); + + Vec(const Vec<_Tp, cn>& v); + + static Vec all(_Tp alpha); + static Vec ones(); + static Vec randn(_Tp a, _Tp b); + static Vec randu(_Tp a, _Tp b); + static Vec zeros(); +#ifdef CV_CXX11 + static Vec diag(_Tp alpha) = delete; + static Vec eye() = delete; +#endif + + //! per-element multiplication + Vec mul(const Vec<_Tp, cn>& v) const; + + //! conjugation (makes sense for complex numbers and quaternions) + Vec conj() const; + + /*! + cross product of the two 3D vectors. + + For other dimensionalities the exception is raised + */ + Vec cross(const Vec& v) const; + //! conversion to another data type + template operator Vec() const; + + /*! element access */ + const _Tp& operator [](int i) const; + _Tp& operator[](int i); + const _Tp& operator ()(int i) const; + _Tp& operator ()(int i); + +#ifdef CV_CXX11 + Vec<_Tp, cn>& operator=(const Vec<_Tp, cn>& rhs) = default; +#endif + + Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp); + Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp); + template Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp); +}; + +/** @name Shorter aliases for the most popular specializations of Vec + @{ +*/ +typedef Vec Vec2b; +typedef Vec Vec3b; +typedef Vec Vec4b; + +typedef Vec Vec2s; +typedef Vec Vec3s; +typedef Vec Vec4s; + +typedef Vec Vec2w; +typedef Vec Vec3w; +typedef Vec Vec4w; + +typedef Vec Vec2i; +typedef Vec Vec3i; +typedef Vec Vec4i; +typedef Vec Vec6i; +typedef Vec Vec8i; + +typedef Vec Vec2f; +typedef Vec Vec3f; +typedef Vec Vec4f; +typedef Vec Vec6f; + +typedef Vec Vec2d; +typedef Vec Vec3d; +typedef Vec Vec4d; +typedef Vec Vec6d; +/** @} */ + +/*! + traits +*/ +template class DataType< Vec<_Tp, cn> > +{ +public: + typedef Vec<_Tp, cn> value_type; + typedef Vec::work_type, cn> work_type; + typedef _Tp channel_type; + typedef value_type vec_type; + + enum { generic_type = 0, + channels = cn, + fmt = DataType::fmt + ((channels - 1) << 8), +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + depth = DataType::depth, + type = CV_MAKETYPE(depth, channels), +#endif + _dummy_enum_finalizer = 0 + }; +}; + +namespace traits { +template +struct Depth< Vec<_Tp, cn> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Vec<_Tp, cn> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, cn) }; }; +} // namespace + + +/** @brief Comma-separated Vec Initializer +*/ +template class VecCommaInitializer : public MatxCommaInitializer<_Tp, m, 1> +{ +public: + VecCommaInitializer(Vec<_Tp, m>* _vec); + template VecCommaInitializer<_Tp, m>& operator , (T2 val); + Vec<_Tp, m> operator *() const; +}; + +template static Vec<_Tp, cn> normalize(const Vec<_Tp, cn>& v); + +//! @} core_basic + +//! @cond IGNORED + +///////////////////////////////////// helper classes ///////////////////////////////////// +namespace internal +{ + +template struct Matx_DetOp +{ + double operator ()(const Matx<_Tp, m, m>& a) const + { + Matx<_Tp, m, m> temp = a; + double p = LU(temp.val, m*sizeof(_Tp), m, 0, 0, 0); + if( p == 0 ) + return p; + for( int i = 0; i < m; i++ ) + p *= temp(i, i); + return p; + } +}; + +template struct Matx_DetOp<_Tp, 1> +{ + double operator ()(const Matx<_Tp, 1, 1>& a) const + { + return a(0,0); + } +}; + +template struct Matx_DetOp<_Tp, 2> +{ + double operator ()(const Matx<_Tp, 2, 2>& a) const + { + return a(0,0)*a(1,1) - a(0,1)*a(1,0); + } +}; + +template struct Matx_DetOp<_Tp, 3> +{ + double operator ()(const Matx<_Tp, 3, 3>& a) const + { + return a(0,0)*(a(1,1)*a(2,2) - a(2,1)*a(1,2)) - + a(0,1)*(a(1,0)*a(2,2) - a(2,0)*a(1,2)) + + a(0,2)*(a(1,0)*a(2,1) - a(2,0)*a(1,1)); + } +}; + +template Vec<_Tp, 2> inline conjugate(const Vec<_Tp, 2>& v) +{ + return Vec<_Tp, 2>(v[0], -v[1]); +} + +template Vec<_Tp, 4> inline conjugate(const Vec<_Tp, 4>& v) +{ + return Vec<_Tp, 4>(v[0], -v[1], -v[2], -v[3]); +} + +} // internal + + + +////////////////////////////////// Matx Implementation /////////////////////////////////// + +template inline +Matx<_Tp, m, n>::Matx() +{ + for(int i = 0; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0) +{ + val[0] = v0; + for(int i = 1; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1) +{ + CV_StaticAssert(channels >= 2, "Matx should have at least 2 elements."); + val[0] = v0; val[1] = v1; + for(int i = 2; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2) +{ + CV_StaticAssert(channels >= 3, "Matx should have at least 3 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; + for(int i = 3; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3) +{ + CV_StaticAssert(channels >= 4, "Matx should have at least 4 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + for(int i = 4; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4) +{ + CV_StaticAssert(channels >= 5, "Matx should have at least 5 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; val[4] = v4; + for(int i = 5; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5) +{ + CV_StaticAssert(channels >= 6, "Matx should have at least 6 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; + for(int i = 6; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6) +{ + CV_StaticAssert(channels >= 7, "Matx should have at least 7 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; + for(int i = 7; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7) +{ + CV_StaticAssert(channels >= 8, "Matx should have at least 8 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; val[7] = v7; + for(int i = 8; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8) +{ + CV_StaticAssert(channels >= 9, "Matx should have at least 9 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; val[7] = v7; + val[8] = v8; + for(int i = 9; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp, m, n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9) +{ + CV_StaticAssert(channels >= 10, "Matx should have at least 10 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; val[7] = v7; + val[8] = v8; val[9] = v9; + for(int i = 10; i < channels; i++) val[i] = _Tp(0); +} + + +template inline +Matx<_Tp,m,n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11) +{ + CV_StaticAssert(channels >= 12, "Matx should have at least 12 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; val[7] = v7; + val[8] = v8; val[9] = v9; val[10] = v10; val[11] = v11; + for(int i = 12; i < channels; i++) val[i] = _Tp(0); +} + +template inline +Matx<_Tp,m,n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13) +{ + CV_StaticAssert(channels >= 14, "Matx should have at least 14 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; val[7] = v7; + val[8] = v8; val[9] = v9; val[10] = v10; val[11] = v11; + val[12] = v12; val[13] = v13; + for (int i = 14; i < channels; i++) val[i] = _Tp(0); +} + + +template inline +Matx<_Tp,m,n>::Matx(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13, _Tp v14, _Tp v15) +{ + CV_StaticAssert(channels >= 16, "Matx should have at least 16 elements."); + val[0] = v0; val[1] = v1; val[2] = v2; val[3] = v3; + val[4] = v4; val[5] = v5; val[6] = v6; val[7] = v7; + val[8] = v8; val[9] = v9; val[10] = v10; val[11] = v11; + val[12] = v12; val[13] = v13; val[14] = v14; val[15] = v15; + for(int i = 16; i < channels; i++) val[i] = _Tp(0); +} + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +template inline +Matx<_Tp, m, n>::Matx(const _Tp* values) +{ + for( int i = 0; i < channels; i++ ) val[i] = values[i]; +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + +template inline +Matx<_Tp, m, n>::Matx(std::initializer_list<_Tp> list) +{ + CV_DbgAssert(list.size() == channels); + int i = 0; + for(const auto& elem : list) + { + val[i++] = elem; + } +} + +template inline +Matx<_Tp, m, n> Matx<_Tp, m, n>::all(_Tp alpha) +{ + Matx<_Tp, m, n> M; + for( int i = 0; i < m*n; i++ ) M.val[i] = alpha; + return M; +} + +template inline +Matx<_Tp,m,n> Matx<_Tp,m,n>::zeros() +{ + return all(0); +} + +template inline +Matx<_Tp,m,n> Matx<_Tp,m,n>::ones() +{ + return all(1); +} + +template inline +Matx<_Tp,m,n> Matx<_Tp,m,n>::eye() +{ + Matx<_Tp,m,n> M; + for(int i = 0; i < shortdim; i++) + M(i,i) = 1; + return M; +} + +template inline +_Tp Matx<_Tp, m, n>::dot(const Matx<_Tp, m, n>& M) const +{ + _Tp s = 0; + for( int i = 0; i < channels; i++ ) s += val[i]*M.val[i]; + return s; +} + +template inline +double Matx<_Tp, m, n>::ddot(const Matx<_Tp, m, n>& M) const +{ + double s = 0; + for( int i = 0; i < channels; i++ ) s += (double)val[i]*M.val[i]; + return s; +} + +template inline +Matx<_Tp,m,n> Matx<_Tp,m,n>::diag(const typename Matx<_Tp,m,n>::diag_type& d) +{ + Matx<_Tp,m,n> M; + for(int i = 0; i < shortdim; i++) + M(i,i) = d(i, 0); + return M; +} + +template template +inline Matx<_Tp, m, n>::operator Matx() const +{ + Matx M; + for( int i = 0; i < m*n; i++ ) M.val[i] = saturate_cast(val[i]); + return M; +} + +template template inline +Matx<_Tp, m1, n1> Matx<_Tp, m, n>::reshape() const +{ + CV_StaticAssert(m1*n1 == m*n, "Input and destnarion matrices must have the same number of elements"); + return (const Matx<_Tp, m1, n1>&)*this; +} + +template +template inline +Matx<_Tp, m1, n1> Matx<_Tp, m, n>::get_minor(int base_row, int base_col) const +{ + CV_DbgAssert(0 <= base_row && base_row+m1 <= m && 0 <= base_col && base_col+n1 <= n); + Matx<_Tp, m1, n1> s; + for( int di = 0; di < m1; di++ ) + for( int dj = 0; dj < n1; dj++ ) + s(di, dj) = (*this)(base_row+di, base_col+dj); + return s; +} + +template inline +Matx<_Tp, 1, n> Matx<_Tp, m, n>::row(int i) const +{ + CV_DbgAssert((unsigned)i < (unsigned)m); + return Matx<_Tp, 1, n>(&val[i*n]); +} + +template inline +Matx<_Tp, m, 1> Matx<_Tp, m, n>::col(int j) const +{ + CV_DbgAssert((unsigned)j < (unsigned)n); + Matx<_Tp, m, 1> v; + for( int i = 0; i < m; i++ ) + v.val[i] = val[i*n + j]; + return v; +} + +template inline +typename Matx<_Tp, m, n>::diag_type Matx<_Tp, m, n>::diag() const +{ + diag_type d; + for( int i = 0; i < shortdim; i++ ) + d.val[i] = val[i*n + i]; + return d; +} + +template inline +const _Tp& Matx<_Tp, m, n>::operator()(int row_idx, int col_idx) const +{ + CV_DbgAssert( (unsigned)row_idx < (unsigned)m && (unsigned)col_idx < (unsigned)n ); + return this->val[row_idx*n + col_idx]; +} + +template inline +_Tp& Matx<_Tp, m, n>::operator ()(int row_idx, int col_idx) +{ + CV_DbgAssert( (unsigned)row_idx < (unsigned)m && (unsigned)col_idx < (unsigned)n ); + return val[row_idx*n + col_idx]; +} + +template inline +const _Tp& Matx<_Tp, m, n>::operator ()(int i) const +{ + CV_StaticAssert(m == 1 || n == 1, "Single index indexation requires matrix to be a column or a row"); + CV_DbgAssert( (unsigned)i < (unsigned)(m+n-1) ); + return val[i]; +} + +template inline +_Tp& Matx<_Tp, m, n>::operator ()(int i) +{ + CV_StaticAssert(m == 1 || n == 1, "Single index indexation requires matrix to be a column or a row"); + CV_DbgAssert( (unsigned)i < (unsigned)(m+n-1) ); + return val[i]; +} + +template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_AddOp) +{ + for( int i = 0; i < channels; i++ ) + val[i] = saturate_cast<_Tp>(a.val[i] + b.val[i]); +} + +template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_SubOp) +{ + for( int i = 0; i < channels; i++ ) + val[i] = saturate_cast<_Tp>(a.val[i] - b.val[i]); +} + +template template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, m, n>& a, _T2 alpha, Matx_ScaleOp) +{ + for( int i = 0; i < channels; i++ ) + val[i] = saturate_cast<_Tp>(a.val[i] * alpha); +} + +template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_MulOp) +{ + for( int i = 0; i < channels; i++ ) + val[i] = saturate_cast<_Tp>(a.val[i] * b.val[i]); +} + +template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b, Matx_DivOp) +{ + for( int i = 0; i < channels; i++ ) + val[i] = saturate_cast<_Tp>(a.val[i] / b.val[i]); +} + +template template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, m, l>& a, const Matx<_Tp, l, n>& b, Matx_MatMulOp) +{ + for( int i = 0; i < m; i++ ) + for( int j = 0; j < n; j++ ) + { + _Tp s = 0; + for( int k = 0; k < l; k++ ) + s += a(i, k) * b(k, j); + val[i*n + j] = s; + } +} + +template inline +Matx<_Tp,m,n>::Matx(const Matx<_Tp, n, m>& a, Matx_TOp) +{ + for( int i = 0; i < m; i++ ) + for( int j = 0; j < n; j++ ) + val[i*n + j] = a(j, i); +} + +template inline +Matx<_Tp, m, n> Matx<_Tp, m, n>::mul(const Matx<_Tp, m, n>& a) const +{ + return Matx<_Tp, m, n>(*this, a, Matx_MulOp()); +} + +template inline +Matx<_Tp, m, n> Matx<_Tp, m, n>::div(const Matx<_Tp, m, n>& a) const +{ + return Matx<_Tp, m, n>(*this, a, Matx_DivOp()); +} + +template inline +Matx<_Tp, n, m> Matx<_Tp, m, n>::t() const +{ + return Matx<_Tp, n, m>(*this, Matx_TOp()); +} + +template inline +Vec<_Tp, n> Matx<_Tp, m, n>::solve(const Vec<_Tp, m>& rhs, int method) const +{ + Matx<_Tp, n, 1> x = solve((const Matx<_Tp, m, 1>&)(rhs), method); + return (Vec<_Tp, n>&)(x); +} + +template static inline +double determinant(const Matx<_Tp, m, m>& a) +{ + return cv::internal::Matx_DetOp<_Tp, m>()(a); +} + +template static inline +double trace(const Matx<_Tp, m, n>& a) +{ + _Tp s = 0; + for( int i = 0; i < std::min(m, n); i++ ) + s += a(i,i); + return s; +} + +template static inline +double norm(const Matx<_Tp, m, n>& M) +{ + return std::sqrt(normL2Sqr<_Tp, double>(M.val, m*n)); +} + +template static inline +double norm(const Matx<_Tp, m, n>& M, int normType) +{ + switch(normType) { + case NORM_INF: + return (double)normInf<_Tp, typename DataType<_Tp>::work_type>(M.val, m*n); + case NORM_L1: + return (double)normL1<_Tp, typename DataType<_Tp>::work_type>(M.val, m*n); + case NORM_L2SQR: + return (double)normL2Sqr<_Tp, typename DataType<_Tp>::work_type>(M.val, m*n); + default: + case NORM_L2: + return std::sqrt((double)normL2Sqr<_Tp, typename DataType<_Tp>::work_type>(M.val, m*n)); + } +} + + + +//////////////////////////////// matx comma initializer ////////////////////////////////// + +template static inline +MatxCommaInitializer<_Tp, m, n> operator << (const Matx<_Tp, m, n>& mtx, _T2 val) +{ + MatxCommaInitializer<_Tp, m, n> commaInitializer((Matx<_Tp, m, n>*)&mtx); + return (commaInitializer, val); +} + +template inline +MatxCommaInitializer<_Tp, m, n>::MatxCommaInitializer(Matx<_Tp, m, n>* _mtx) + : dst(_mtx), idx(0) +{} + +template template inline +MatxCommaInitializer<_Tp, m, n>& MatxCommaInitializer<_Tp, m, n>::operator , (_T2 value) +{ + CV_DbgAssert( idx < m*n ); + dst->val[idx++] = saturate_cast<_Tp>(value); + return *this; +} + +template inline +Matx<_Tp, m, n> MatxCommaInitializer<_Tp, m, n>::operator *() const +{ + CV_DbgAssert( idx == n*m ); + return *dst; +} + + + +/////////////////////////////////// Vec Implementation /////////////////////////////////// + +template inline +Vec<_Tp, cn>::Vec() {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0) + : Matx<_Tp, cn, 1>(v0) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1) + : Matx<_Tp, cn, 1>(v0, v1) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2) + : Matx<_Tp, cn, 1>(v0, v1, v2) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4, v5) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4, v5, v6) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4, v5, v6, v7) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4, v5, v6, v7, v8) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {} + +template inline +Vec<_Tp, cn>::Vec(_Tp v0, _Tp v1, _Tp v2, _Tp v3, _Tp v4, _Tp v5, _Tp v6, _Tp v7, _Tp v8, _Tp v9, _Tp v10, _Tp v11, _Tp v12, _Tp v13) + : Matx<_Tp, cn, 1>(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) {} + +template inline +Vec<_Tp, cn>::Vec(const _Tp* values) + : Matx<_Tp, cn, 1>(values) {} + +template inline +Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list) + : Matx<_Tp, cn, 1>(list) {} + +template inline +Vec<_Tp, cn>::Vec(const Vec<_Tp, cn>& m) + : Matx<_Tp, cn, 1>(m.val) {} + +template inline +Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_AddOp op) + : Matx<_Tp, cn, 1>(a, b, op) {} + +template inline +Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, const Matx<_Tp, cn, 1>& b, Matx_SubOp op) + : Matx<_Tp, cn, 1>(a, b, op) {} + +template template inline +Vec<_Tp, cn>::Vec(const Matx<_Tp, cn, 1>& a, _T2 alpha, Matx_ScaleOp op) + : Matx<_Tp, cn, 1>(a, alpha, op) {} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::all(_Tp alpha) +{ + Vec v; + for( int i = 0; i < cn; i++ ) v.val[i] = alpha; + return v; +} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::ones() +{ + return Vec::all(1); +} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::zeros() +{ + return Vec::all(0); +} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::mul(const Vec<_Tp, cn>& v) const +{ + Vec<_Tp, cn> w; + for( int i = 0; i < cn; i++ ) w.val[i] = saturate_cast<_Tp>(this->val[i]*v.val[i]); + return w; +} + +template<> inline +Vec Vec::conj() const +{ + return cv::internal::conjugate(*this); +} + +template<> inline +Vec Vec::conj() const +{ + return cv::internal::conjugate(*this); +} + +template<> inline +Vec Vec::conj() const +{ + return cv::internal::conjugate(*this); +} + +template<> inline +Vec Vec::conj() const +{ + return cv::internal::conjugate(*this); +} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::cross(const Vec<_Tp, cn>&) const +{ + CV_StaticAssert(cn == 3, "for arbitrary-size vector there is no cross-product defined"); + return Vec<_Tp, cn>(); +} + +template<> inline +Vec Vec::cross(const Vec& v) const +{ + return Vec(this->val[1]*v.val[2] - this->val[2]*v.val[1], + this->val[2]*v.val[0] - this->val[0]*v.val[2], + this->val[0]*v.val[1] - this->val[1]*v.val[0]); +} + +template<> inline +Vec Vec::cross(const Vec& v) const +{ + return Vec(this->val[1]*v.val[2] - this->val[2]*v.val[1], + this->val[2]*v.val[0] - this->val[0]*v.val[2], + this->val[0]*v.val[1] - this->val[1]*v.val[0]); +} + +template template inline +Vec<_Tp, cn>::operator Vec() const +{ + Vec v; + for( int i = 0; i < cn; i++ ) v.val[i] = saturate_cast(this->val[i]); + return v; +} + +template inline +const _Tp& Vec<_Tp, cn>::operator [](int i) const +{ + CV_DbgAssert( (unsigned)i < (unsigned)cn ); + return this->val[i]; +} + +template inline +_Tp& Vec<_Tp, cn>::operator [](int i) +{ + CV_DbgAssert( (unsigned)i < (unsigned)cn ); + return this->val[i]; +} + +template inline +const _Tp& Vec<_Tp, cn>::operator ()(int i) const +{ + CV_DbgAssert( (unsigned)i < (unsigned)cn ); + return this->val[i]; +} + +template inline +_Tp& Vec<_Tp, cn>::operator ()(int i) +{ + CV_DbgAssert( (unsigned)i < (unsigned)cn ); + return this->val[i]; +} + +template inline +Vec<_Tp, cn> normalize(const Vec<_Tp, cn>& v) +{ + double nv = norm(v); + return v * (nv ? 1./nv : 0.); +} + + + +//////////////////////////////// vec comma initializer ////////////////////////////////// + + +template static inline +VecCommaInitializer<_Tp, cn> operator << (const Vec<_Tp, cn>& vec, _T2 val) +{ + VecCommaInitializer<_Tp, cn> commaInitializer((Vec<_Tp, cn>*)&vec); + return (commaInitializer, val); +} + +template inline +VecCommaInitializer<_Tp, cn>::VecCommaInitializer(Vec<_Tp, cn>* _vec) + : MatxCommaInitializer<_Tp, cn, 1>(_vec) +{} + +template template inline +VecCommaInitializer<_Tp, cn>& VecCommaInitializer<_Tp, cn>::operator , (_T2 value) +{ + CV_DbgAssert( this->idx < cn ); + this->dst->val[this->idx++] = saturate_cast<_Tp>(value); + return *this; +} + +template inline +Vec<_Tp, cn> VecCommaInitializer<_Tp, cn>::operator *() const +{ + CV_DbgAssert( this->idx == cn ); + return *this->dst; +} + +//! @endcond + +///////////////////////////// Matx out-of-class operators //////////////////////////////// + +//! @relates cv::Matx +//! @{ + +template static inline +Matx<_Tp1, m, n>& operator += (Matx<_Tp1, m, n>& a, const Matx<_Tp2, m, n>& b) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = saturate_cast<_Tp1>(a.val[i] + b.val[i]); + return a; +} + +template static inline +Matx<_Tp1, m, n>& operator -= (Matx<_Tp1, m, n>& a, const Matx<_Tp2, m, n>& b) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = saturate_cast<_Tp1>(a.val[i] - b.val[i]); + return a; +} + +template static inline +Matx<_Tp, m, n> operator + (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b) +{ + return Matx<_Tp, m, n>(a, b, Matx_AddOp()); +} + +template static inline +Matx<_Tp, m, n> operator - (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b) +{ + return Matx<_Tp, m, n>(a, b, Matx_SubOp()); +} + +template static inline +Matx<_Tp, m, n>& operator *= (Matx<_Tp, m, n>& a, int alpha) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = saturate_cast<_Tp>(a.val[i] * alpha); + return a; +} + +template static inline +Matx<_Tp, m, n>& operator *= (Matx<_Tp, m, n>& a, float alpha) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = saturate_cast<_Tp>(a.val[i] * alpha); + return a; +} + +template static inline +Matx<_Tp, m, n>& operator *= (Matx<_Tp, m, n>& a, double alpha) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = saturate_cast<_Tp>(a.val[i] * alpha); + return a; +} + +template static inline +Matx<_Tp, m, n> operator * (const Matx<_Tp, m, n>& a, int alpha) +{ + return Matx<_Tp, m, n>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator * (const Matx<_Tp, m, n>& a, float alpha) +{ + return Matx<_Tp, m, n>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator * (const Matx<_Tp, m, n>& a, double alpha) +{ + return Matx<_Tp, m, n>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator * (int alpha, const Matx<_Tp, m, n>& a) +{ + return Matx<_Tp, m, n>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator * (float alpha, const Matx<_Tp, m, n>& a) +{ + return Matx<_Tp, m, n>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator * (double alpha, const Matx<_Tp, m, n>& a) +{ + return Matx<_Tp, m, n>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n>& operator /= (Matx<_Tp, m, n>& a, float alpha) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = a.val[i] / alpha; + return a; +} + +template static inline +Matx<_Tp, m, n>& operator /= (Matx<_Tp, m, n>& a, double alpha) +{ + for( int i = 0; i < m*n; i++ ) + a.val[i] = a.val[i] / alpha; + return a; +} + +template static inline +Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n>& a, float alpha) +{ + return Matx<_Tp, m, n>(a, 1.f/alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n>& a, double alpha) +{ + return Matx<_Tp, m, n>(a, 1./alpha, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator - (const Matx<_Tp, m, n>& a) +{ + return Matx<_Tp, m, n>(a, -1, Matx_ScaleOp()); +} + +template static inline +Matx<_Tp, m, n> operator * (const Matx<_Tp, m, l>& a, const Matx<_Tp, l, n>& b) +{ + return Matx<_Tp, m, n>(a, b, Matx_MatMulOp()); +} + +template static inline +Vec<_Tp, m> operator * (const Matx<_Tp, m, n>& a, const Vec<_Tp, n>& b) +{ + Matx<_Tp, m, 1> c(a, b, Matx_MatMulOp()); + return (const Vec<_Tp, m>&)(c); +} + +template static inline +bool operator == (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b) +{ + for( int i = 0; i < m*n; i++ ) + if( a.val[i] != b.val[i] ) return false; + return true; +} + +template static inline +bool operator != (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b) +{ + return !(a == b); +} + +//! @} + +////////////////////////////// Vec out-of-class operators //////////////////////////////// + +//! @relates cv::Vec +//! @{ + +template static inline +Vec<_Tp1, cn>& operator += (Vec<_Tp1, cn>& a, const Vec<_Tp2, cn>& b) +{ + for( int i = 0; i < cn; i++ ) + a.val[i] = saturate_cast<_Tp1>(a.val[i] + b.val[i]); + return a; +} + +template static inline +Vec<_Tp1, cn>& operator -= (Vec<_Tp1, cn>& a, const Vec<_Tp2, cn>& b) +{ + for( int i = 0; i < cn; i++ ) + a.val[i] = saturate_cast<_Tp1>(a.val[i] - b.val[i]); + return a; +} + +template static inline +Vec<_Tp, cn> operator + (const Vec<_Tp, cn>& a, const Vec<_Tp, cn>& b) +{ + return Vec<_Tp, cn>(a, b, Matx_AddOp()); +} + +template static inline +Vec<_Tp, cn> operator - (const Vec<_Tp, cn>& a, const Vec<_Tp, cn>& b) +{ + return Vec<_Tp, cn>(a, b, Matx_SubOp()); +} + +template static inline +Vec<_Tp, cn>& operator *= (Vec<_Tp, cn>& a, int alpha) +{ + for( int i = 0; i < cn; i++ ) + a[i] = saturate_cast<_Tp>(a[i]*alpha); + return a; +} + +template static inline +Vec<_Tp, cn>& operator *= (Vec<_Tp, cn>& a, float alpha) +{ + for( int i = 0; i < cn; i++ ) + a[i] = saturate_cast<_Tp>(a[i]*alpha); + return a; +} + +template static inline +Vec<_Tp, cn>& operator *= (Vec<_Tp, cn>& a, double alpha) +{ + for( int i = 0; i < cn; i++ ) + a[i] = saturate_cast<_Tp>(a[i]*alpha); + return a; +} + +template static inline +Vec<_Tp, cn>& operator /= (Vec<_Tp, cn>& a, int alpha) +{ + double ialpha = 1./alpha; + for( int i = 0; i < cn; i++ ) + a[i] = saturate_cast<_Tp>(a[i]*ialpha); + return a; +} + +template static inline +Vec<_Tp, cn>& operator /= (Vec<_Tp, cn>& a, float alpha) +{ + float ialpha = 1.f/alpha; + for( int i = 0; i < cn; i++ ) + a[i] = saturate_cast<_Tp>(a[i]*ialpha); + return a; +} + +template static inline +Vec<_Tp, cn>& operator /= (Vec<_Tp, cn>& a, double alpha) +{ + double ialpha = 1./alpha; + for( int i = 0; i < cn; i++ ) + a[i] = saturate_cast<_Tp>(a[i]*ialpha); + return a; +} + +template static inline +Vec<_Tp, cn> operator * (const Vec<_Tp, cn>& a, int alpha) +{ + return Vec<_Tp, cn>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator * (int alpha, const Vec<_Tp, cn>& a) +{ + return Vec<_Tp, cn>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator * (const Vec<_Tp, cn>& a, float alpha) +{ + return Vec<_Tp, cn>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator * (float alpha, const Vec<_Tp, cn>& a) +{ + return Vec<_Tp, cn>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator * (const Vec<_Tp, cn>& a, double alpha) +{ + return Vec<_Tp, cn>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator * (double alpha, const Vec<_Tp, cn>& a) +{ + return Vec<_Tp, cn>(a, alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator / (const Vec<_Tp, cn>& a, int alpha) +{ + return Vec<_Tp, cn>(a, 1./alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator / (const Vec<_Tp, cn>& a, float alpha) +{ + return Vec<_Tp, cn>(a, 1.f/alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator / (const Vec<_Tp, cn>& a, double alpha) +{ + return Vec<_Tp, cn>(a, 1./alpha, Matx_ScaleOp()); +} + +template static inline +Vec<_Tp, cn> operator - (const Vec<_Tp, cn>& a) +{ + Vec<_Tp,cn> t; + for( int i = 0; i < cn; i++ ) t.val[i] = saturate_cast<_Tp>(-a.val[i]); + return t; +} + +template inline Vec<_Tp, 4> operator * (const Vec<_Tp, 4>& v1, const Vec<_Tp, 4>& v2) +{ + return Vec<_Tp, 4>(saturate_cast<_Tp>(v1[0]*v2[0] - v1[1]*v2[1] - v1[2]*v2[2] - v1[3]*v2[3]), + saturate_cast<_Tp>(v1[0]*v2[1] + v1[1]*v2[0] + v1[2]*v2[3] - v1[3]*v2[2]), + saturate_cast<_Tp>(v1[0]*v2[2] - v1[1]*v2[3] + v1[2]*v2[0] + v1[3]*v2[1]), + saturate_cast<_Tp>(v1[0]*v2[3] + v1[1]*v2[2] - v1[2]*v2[1] + v1[3]*v2[0])); +} + +template inline Vec<_Tp, 4>& operator *= (Vec<_Tp, 4>& v1, const Vec<_Tp, 4>& v2) +{ + v1 = v1 * v2; + return v1; +} + +//! @} + +} // cv + +#endif // OPENCV_CORE_MATX_HPP diff --git a/camera_lib/include/opencv2/core/neon_utils.hpp b/camera_lib/include/opencv2/core/neon_utils.hpp new file mode 100644 index 0000000..573ba99 --- /dev/null +++ b/camera_lib/include/opencv2/core/neon_utils.hpp @@ -0,0 +1,128 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HAL_NEON_UTILS_HPP +#define OPENCV_HAL_NEON_UTILS_HPP + +#include "opencv2/core/cvdef.h" + +//! @addtogroup core_utils_neon +//! @{ + +#if CV_NEON + +inline int32x2_t cv_vrnd_s32_f32(float32x2_t v) +{ + static int32x2_t v_sign = vdup_n_s32(1 << 31), + v_05 = vreinterpret_s32_f32(vdup_n_f32(0.5f)); + + int32x2_t v_addition = vorr_s32(v_05, vand_s32(v_sign, vreinterpret_s32_f32(v))); + return vcvt_s32_f32(vadd_f32(v, vreinterpret_f32_s32(v_addition))); +} + +inline int32x4_t cv_vrndq_s32_f32(float32x4_t v) +{ + static int32x4_t v_sign = vdupq_n_s32(1 << 31), + v_05 = vreinterpretq_s32_f32(vdupq_n_f32(0.5f)); + + int32x4_t v_addition = vorrq_s32(v_05, vandq_s32(v_sign, vreinterpretq_s32_f32(v))); + return vcvtq_s32_f32(vaddq_f32(v, vreinterpretq_f32_s32(v_addition))); +} + +inline uint32x2_t cv_vrnd_u32_f32(float32x2_t v) +{ + static float32x2_t v_05 = vdup_n_f32(0.5f); + return vcvt_u32_f32(vadd_f32(v, v_05)); +} + +inline uint32x4_t cv_vrndq_u32_f32(float32x4_t v) +{ + static float32x4_t v_05 = vdupq_n_f32(0.5f); + return vcvtq_u32_f32(vaddq_f32(v, v_05)); +} + +inline float32x4_t cv_vrecpq_f32(float32x4_t val) +{ + float32x4_t reciprocal = vrecpeq_f32(val); + reciprocal = vmulq_f32(vrecpsq_f32(val, reciprocal), reciprocal); + reciprocal = vmulq_f32(vrecpsq_f32(val, reciprocal), reciprocal); + return reciprocal; +} + +inline float32x2_t cv_vrecp_f32(float32x2_t val) +{ + float32x2_t reciprocal = vrecpe_f32(val); + reciprocal = vmul_f32(vrecps_f32(val, reciprocal), reciprocal); + reciprocal = vmul_f32(vrecps_f32(val, reciprocal), reciprocal); + return reciprocal; +} + +inline float32x4_t cv_vrsqrtq_f32(float32x4_t val) +{ + float32x4_t e = vrsqrteq_f32(val); + e = vmulq_f32(vrsqrtsq_f32(vmulq_f32(e, e), val), e); + e = vmulq_f32(vrsqrtsq_f32(vmulq_f32(e, e), val), e); + return e; +} + +inline float32x2_t cv_vrsqrt_f32(float32x2_t val) +{ + float32x2_t e = vrsqrte_f32(val); + e = vmul_f32(vrsqrts_f32(vmul_f32(e, e), val), e); + e = vmul_f32(vrsqrts_f32(vmul_f32(e, e), val), e); + return e; +} + +inline float32x4_t cv_vsqrtq_f32(float32x4_t val) +{ + return cv_vrecpq_f32(cv_vrsqrtq_f32(val)); +} + +inline float32x2_t cv_vsqrt_f32(float32x2_t val) +{ + return cv_vrecp_f32(cv_vrsqrt_f32(val)); +} + +#endif + +//! @} + +#endif // OPENCV_HAL_NEON_UTILS_HPP diff --git a/camera_lib/include/opencv2/core/ocl.hpp b/camera_lib/include/opencv2/core/ocl.hpp new file mode 100644 index 0000000..ade9729 --- /dev/null +++ b/camera_lib/include/opencv2/core/ocl.hpp @@ -0,0 +1,918 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the OpenCV Foundation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_OPENCL_HPP +#define OPENCV_OPENCL_HPP + +#include "opencv2/core.hpp" +#include +#include + +namespace cv { namespace ocl { + +//! @addtogroup core_opencl +//! @{ + +CV_EXPORTS_W bool haveOpenCL(); +CV_EXPORTS_W bool useOpenCL(); +CV_EXPORTS_W bool haveAmdBlas(); +CV_EXPORTS_W bool haveAmdFft(); +CV_EXPORTS_W void setUseOpenCL(bool flag); +CV_EXPORTS_W void finish(); + +CV_EXPORTS bool haveSVM(); + +class CV_EXPORTS Context; +class CV_EXPORTS_W_SIMPLE Device; +class CV_EXPORTS Kernel; +class CV_EXPORTS Program; +class CV_EXPORTS ProgramSource; +class CV_EXPORTS Queue; +class CV_EXPORTS PlatformInfo; +class CV_EXPORTS Image2D; + +class CV_EXPORTS_W_SIMPLE Device +{ +public: + CV_WRAP Device() CV_NOEXCEPT; + explicit Device(void* d); + Device(const Device& d); + Device& operator = (const Device& d); + Device(Device&& d) CV_NOEXCEPT; + Device& operator = (Device&& d) CV_NOEXCEPT; + CV_WRAP ~Device(); + + void set(void* d); + + enum + { + TYPE_DEFAULT = (1 << 0), + TYPE_CPU = (1 << 1), + TYPE_GPU = (1 << 2), + TYPE_ACCELERATOR = (1 << 3), + TYPE_DGPU = TYPE_GPU + (1 << 16), + TYPE_IGPU = TYPE_GPU + (1 << 17), + TYPE_ALL = 0xFFFFFFFF + }; + + CV_WRAP String name() const; + CV_WRAP String extensions() const; + CV_WRAP bool isExtensionSupported(const String& extensionName) const; + CV_WRAP String version() const; + CV_WRAP String vendorName() const; + CV_WRAP String OpenCL_C_Version() const; + CV_WRAP String OpenCLVersion() const; + CV_WRAP int deviceVersionMajor() const; + CV_WRAP int deviceVersionMinor() const; + CV_WRAP String driverVersion() const; + void* ptr() const; + + CV_WRAP int type() const; + + CV_WRAP int addressBits() const; + CV_WRAP bool available() const; + CV_WRAP bool compilerAvailable() const; + CV_WRAP bool linkerAvailable() const; + + enum + { + FP_DENORM=(1 << 0), + FP_INF_NAN=(1 << 1), + FP_ROUND_TO_NEAREST=(1 << 2), + FP_ROUND_TO_ZERO=(1 << 3), + FP_ROUND_TO_INF=(1 << 4), + FP_FMA=(1 << 5), + FP_SOFT_FLOAT=(1 << 6), + FP_CORRECTLY_ROUNDED_DIVIDE_SQRT=(1 << 7) + }; + CV_WRAP int doubleFPConfig() const; + CV_WRAP int singleFPConfig() const; + CV_WRAP int halfFPConfig() const; + + CV_WRAP bool endianLittle() const; + CV_WRAP bool errorCorrectionSupport() const; + + enum + { + EXEC_KERNEL=(1 << 0), + EXEC_NATIVE_KERNEL=(1 << 1) + }; + CV_WRAP int executionCapabilities() const; + + CV_WRAP size_t globalMemCacheSize() const; + + enum + { + NO_CACHE=0, + READ_ONLY_CACHE=1, + READ_WRITE_CACHE=2 + }; + CV_WRAP int globalMemCacheType() const; + CV_WRAP int globalMemCacheLineSize() const; + CV_WRAP size_t globalMemSize() const; + + CV_WRAP size_t localMemSize() const; + enum + { + NO_LOCAL_MEM=0, + LOCAL_IS_LOCAL=1, + LOCAL_IS_GLOBAL=2 + }; + CV_WRAP int localMemType() const; + CV_WRAP bool hostUnifiedMemory() const; + + CV_WRAP bool imageSupport() const; + + CV_WRAP bool imageFromBufferSupport() const; + uint imagePitchAlignment() const; + uint imageBaseAddressAlignment() const; + + /// deprecated, use isExtensionSupported() method (probably with "cl_khr_subgroups" value) + CV_WRAP bool intelSubgroupsSupport() const; + + CV_WRAP size_t image2DMaxWidth() const; + CV_WRAP size_t image2DMaxHeight() const; + + CV_WRAP size_t image3DMaxWidth() const; + CV_WRAP size_t image3DMaxHeight() const; + CV_WRAP size_t image3DMaxDepth() const; + + CV_WRAP size_t imageMaxBufferSize() const; + CV_WRAP size_t imageMaxArraySize() const; + + enum + { + UNKNOWN_VENDOR=0, + VENDOR_AMD=1, + VENDOR_INTEL=2, + VENDOR_NVIDIA=3 + }; + CV_WRAP int vendorID() const; + // FIXIT + // dev.isAMD() doesn't work for OpenCL CPU devices from AMD OpenCL platform. + // This method should use platform name instead of vendor name. + // After fix restore code in arithm.cpp: ocl_compare() + CV_WRAP inline bool isAMD() const { return vendorID() == VENDOR_AMD; } + CV_WRAP inline bool isIntel() const { return vendorID() == VENDOR_INTEL; } + CV_WRAP inline bool isNVidia() const { return vendorID() == VENDOR_NVIDIA; } + + CV_WRAP int maxClockFrequency() const; + CV_WRAP int maxComputeUnits() const; + CV_WRAP int maxConstantArgs() const; + CV_WRAP size_t maxConstantBufferSize() const; + + CV_WRAP size_t maxMemAllocSize() const; + CV_WRAP size_t maxParameterSize() const; + + CV_WRAP int maxReadImageArgs() const; + CV_WRAP int maxWriteImageArgs() const; + CV_WRAP int maxSamplers() const; + + CV_WRAP size_t maxWorkGroupSize() const; + CV_WRAP int maxWorkItemDims() const; + void maxWorkItemSizes(size_t*) const; + + CV_WRAP int memBaseAddrAlign() const; + + CV_WRAP int nativeVectorWidthChar() const; + CV_WRAP int nativeVectorWidthShort() const; + CV_WRAP int nativeVectorWidthInt() const; + CV_WRAP int nativeVectorWidthLong() const; + CV_WRAP int nativeVectorWidthFloat() const; + CV_WRAP int nativeVectorWidthDouble() const; + CV_WRAP int nativeVectorWidthHalf() const; + + CV_WRAP int preferredVectorWidthChar() const; + CV_WRAP int preferredVectorWidthShort() const; + CV_WRAP int preferredVectorWidthInt() const; + CV_WRAP int preferredVectorWidthLong() const; + CV_WRAP int preferredVectorWidthFloat() const; + CV_WRAP int preferredVectorWidthDouble() const; + CV_WRAP int preferredVectorWidthHalf() const; + + CV_WRAP size_t printfBufferSize() const; + CV_WRAP size_t profilingTimerResolution() const; + + CV_WRAP static const Device& getDefault(); + + /** + * @param d OpenCL handle (cl_device_id). clRetainDevice() is called on success. + * + * @note Ownership of the passed device is passed to OpenCV on success. + * The caller should additionally call `clRetainDevice` on it if it intends + * to continue using the device. + */ + static Device fromHandle(void* d); + + struct Impl; + inline Impl* getImpl() const { return (Impl*)p; } + inline bool empty() const { return !p; } +protected: + Impl* p; +}; + + +class CV_EXPORTS Context +{ +public: + Context() CV_NOEXCEPT; + explicit Context(int dtype); //!< @deprecated + ~Context(); + Context(const Context& c); + Context& operator= (const Context& c); + Context(Context&& c) CV_NOEXCEPT; + Context& operator = (Context&& c) CV_NOEXCEPT; + + /** @deprecated */ + bool create(); + /** @deprecated */ + bool create(int dtype); + + size_t ndevices() const; + Device& device(size_t idx) const; + Program getProg(const ProgramSource& prog, + const String& buildopt, String& errmsg); + void unloadProg(Program& prog); + + + /** Get thread-local OpenCL context (initialize if necessary) */ +#if 0 // OpenCV 5.0 + static Context& getDefault(); +#else + static Context& getDefault(bool initialize = true); +#endif + + /** @returns cl_context value */ + void* ptr() const; + + /** + * @brief Get OpenCL context property specified on context creation + * @param propertyId Property id (CL_CONTEXT_* as defined in cl_context_properties type) + * @returns Property value if property was specified on clCreateContext, or NULL if context created without the property + */ + void* getOpenCLContextProperty(int propertyId) const; + + bool useSVM() const; + void setUseSVM(bool enabled); + + /** + * @param context OpenCL handle (cl_context). clRetainContext() is called on success + */ + static Context fromHandle(void* context); + static Context fromDevice(const ocl::Device& device); + static Context create(const std::string& configuration); + + void release(); + + class CV_EXPORTS UserContext { + public: + virtual ~UserContext(); + }; + template + inline void setUserContext(const std::shared_ptr& userContext) { + setUserContext(typeid(T), userContext); + } + template + inline std::shared_ptr getUserContext() { + return std::dynamic_pointer_cast(getUserContext(typeid(T))); + } + void setUserContext(std::type_index typeId, const std::shared_ptr& userContext); + std::shared_ptr getUserContext(std::type_index typeId); + + struct Impl; + inline Impl* getImpl() const { return (Impl*)p; } + inline bool empty() const { return !p; } +// TODO OpenCV 5.0 +//protected: + Impl* p; +}; + +/** @deprecated */ +class CV_EXPORTS Platform +{ +public: + Platform() CV_NOEXCEPT; + ~Platform(); + Platform(const Platform& p); + Platform& operator = (const Platform& p); + Platform(Platform&& p) CV_NOEXCEPT; + Platform& operator = (Platform&& p) CV_NOEXCEPT; + + void* ptr() const; + + /** @deprecated */ + static Platform& getDefault(); + + struct Impl; + inline Impl* getImpl() const { return (Impl*)p; } + inline bool empty() const { return !p; } +protected: + Impl* p; +}; + +/** @brief Attaches OpenCL context to OpenCV +@note + OpenCV will check if available OpenCL platform has platformName name, then assign context to + OpenCV and call `clRetainContext` function. The deviceID device will be used as target device and + new command queue will be created. +@param platformName name of OpenCL platform to attach, this string is used to check if platform is available to OpenCV at runtime +@param platformID ID of platform attached context was created for +@param context OpenCL context to be attached to OpenCV +@param deviceID ID of device, must be created from attached context +*/ +CV_EXPORTS void attachContext(const String& platformName, void* platformID, void* context, void* deviceID); + +/** @brief Convert OpenCL buffer to UMat +@note + OpenCL buffer (cl_mem_buffer) should contain 2D image data, compatible with OpenCV. Memory + content is not copied from `clBuffer` to UMat. Instead, buffer handle assigned to UMat and + `clRetainMemObject` is called. +@param cl_mem_buffer source clBuffer handle +@param step num of bytes in single row +@param rows number of rows +@param cols number of cols +@param type OpenCV type of image +@param dst destination UMat +*/ +CV_EXPORTS void convertFromBuffer(void* cl_mem_buffer, size_t step, int rows, int cols, int type, UMat& dst); + +/** @brief Convert OpenCL image2d_t to UMat +@note + OpenCL `image2d_t` (cl_mem_image), should be compatible with OpenCV UMat formats. Memory content + is copied from image to UMat with `clEnqueueCopyImageToBuffer` function. +@param cl_mem_image source image2d_t handle +@param dst destination UMat +*/ +CV_EXPORTS void convertFromImage(void* cl_mem_image, UMat& dst); + +// TODO Move to internal header +/// @deprecated +void initializeContextFromHandle(Context& ctx, void* platform, void* context, void* device); + +class CV_EXPORTS Queue +{ +public: + Queue() CV_NOEXCEPT; + explicit Queue(const Context& c, const Device& d=Device()); + ~Queue(); + Queue(const Queue& q); + Queue& operator = (const Queue& q); + Queue(Queue&& q) CV_NOEXCEPT; + Queue& operator = (Queue&& q) CV_NOEXCEPT; + + bool create(const Context& c=Context(), const Device& d=Device()); + void finish(); + void* ptr() const; + static Queue& getDefault(); + + /// @brief Returns OpenCL command queue with enable profiling mode support + const Queue& getProfilingQueue() const; + + struct Impl; friend struct Impl; + inline Impl* getImpl() const { return p; } + inline bool empty() const { return !p; } +protected: + Impl* p; +}; + + +class CV_EXPORTS KernelArg +{ +public: + enum { LOCAL=1, READ_ONLY=2, WRITE_ONLY=4, READ_WRITE=6, CONSTANT=8, PTR_ONLY = 16, NO_SIZE=256 }; + KernelArg(int _flags, UMat* _m, int wscale=1, int iwscale=1, const void* _obj=0, size_t _sz=0); + KernelArg() CV_NOEXCEPT; + + static KernelArg Local(size_t localMemSize) + { return KernelArg(LOCAL, 0, 1, 1, 0, localMemSize); } + static KernelArg PtrWriteOnly(const UMat& m) + { return KernelArg(PTR_ONLY+WRITE_ONLY, (UMat*)&m); } + static KernelArg PtrReadOnly(const UMat& m) + { return KernelArg(PTR_ONLY+READ_ONLY, (UMat*)&m); } + static KernelArg PtrReadWrite(const UMat& m) + { return KernelArg(PTR_ONLY+READ_WRITE, (UMat*)&m); } + static KernelArg ReadWrite(const UMat& m, int wscale=1, int iwscale=1) + { return KernelArg(READ_WRITE, (UMat*)&m, wscale, iwscale); } + static KernelArg ReadWriteNoSize(const UMat& m, int wscale=1, int iwscale=1) + { return KernelArg(READ_WRITE+NO_SIZE, (UMat*)&m, wscale, iwscale); } + static KernelArg ReadOnly(const UMat& m, int wscale=1, int iwscale=1) + { return KernelArg(READ_ONLY, (UMat*)&m, wscale, iwscale); } + static KernelArg WriteOnly(const UMat& m, int wscale=1, int iwscale=1) + { return KernelArg(WRITE_ONLY, (UMat*)&m, wscale, iwscale); } + static KernelArg ReadOnlyNoSize(const UMat& m, int wscale=1, int iwscale=1) + { return KernelArg(READ_ONLY+NO_SIZE, (UMat*)&m, wscale, iwscale); } + static KernelArg WriteOnlyNoSize(const UMat& m, int wscale=1, int iwscale=1) + { return KernelArg(WRITE_ONLY+NO_SIZE, (UMat*)&m, wscale, iwscale); } + static KernelArg Constant(const Mat& m); + template static KernelArg Constant(const _Tp* arr, size_t n) + { return KernelArg(CONSTANT, 0, 1, 1, (void*)arr, n); } + + int flags; + UMat* m; + const void* obj; + size_t sz; + int wscale, iwscale; +}; + + +class CV_EXPORTS Kernel +{ +public: + Kernel() CV_NOEXCEPT; + Kernel(const char* kname, const Program& prog); + Kernel(const char* kname, const ProgramSource& prog, + const String& buildopts = String(), String* errmsg=0); + ~Kernel(); + Kernel(const Kernel& k); + Kernel& operator = (const Kernel& k); + Kernel(Kernel&& k) CV_NOEXCEPT; + Kernel& operator = (Kernel&& k) CV_NOEXCEPT; + + bool empty() const; + bool create(const char* kname, const Program& prog); + bool create(const char* kname, const ProgramSource& prog, + const String& buildopts, String* errmsg=0); + + int set(int i, const void* value, size_t sz); + int set(int i, const Image2D& image2D); + int set(int i, const UMat& m); + int set(int i, const KernelArg& arg); + template int set(int i, const _Tp& value) + { return set(i, &value, sizeof(value)); } + + +protected: + template inline + int set_args_(int i, const _Tp0& a0) { return set(i, a0); } + template inline + int set_args_(int i, const _Tp0& a0, const _Tps&... rest_args) { i = set(i, a0); return set_args_(i, rest_args...); } +public: + /** @brief Setup OpenCL Kernel arguments. + Avoid direct using of set(i, ...) methods. + @code + bool ok = kernel + .args( + srcUMat, dstUMat, + (float)some_float_param + ).run(ndims, globalSize, localSize); + if (!ok) return false; + @endcode + */ + template inline + Kernel& args(const _Tps&... kernel_args) { set_args_(0, kernel_args...); return *this; } + + /** @brief Run the OpenCL kernel (globalsize value may be adjusted) + + @param dims the work problem dimensions. It is the length of globalsize and localsize. It can be either 1, 2 or 3. + @param globalsize work items for each dimension. It is not the final globalsize passed to + OpenCL. Each dimension will be adjusted to the nearest integer divisible by the corresponding + value in localsize. If localsize is NULL, it will still be adjusted depending on dims. The + adjusted values are greater than or equal to the original values. + @param localsize work-group size for each dimension. + @param sync specify whether to wait for OpenCL computation to finish before return. + @param q command queue + + @note Use run_() if your kernel code doesn't support adjusted globalsize. + */ + bool run(int dims, size_t globalsize[], + size_t localsize[], bool sync, const Queue& q=Queue()); + + /** @brief Run the OpenCL kernel + * + * @param dims the work problem dimensions. It is the length of globalsize and localsize. It can be either 1, 2 or 3. + * @param globalsize work items for each dimension. This value is passed to OpenCL without changes. + * @param localsize work-group size for each dimension. + * @param sync specify whether to wait for OpenCL computation to finish before return. + * @param q command queue + */ + bool run_(int dims, size_t globalsize[], size_t localsize[], bool sync, const Queue& q=Queue()); + + bool runTask(bool sync, const Queue& q=Queue()); + + /** @brief Similar to synchronized run_() call with returning of kernel execution time + * + * Separate OpenCL command queue may be used (with CL_QUEUE_PROFILING_ENABLE) + * @return Execution time in nanoseconds or negative number on error + */ + int64 runProfiling(int dims, size_t globalsize[], size_t localsize[], const Queue& q=Queue()); + + size_t workGroupSize() const; + size_t preferedWorkGroupSizeMultiple() const; + bool compileWorkGroupSize(size_t wsz[]) const; + size_t localMemSize() const; + + void* ptr() const; + struct Impl; + +protected: + Impl* p; +}; + +class CV_EXPORTS Program +{ +public: + Program() CV_NOEXCEPT; + Program(const ProgramSource& src, + const String& buildflags, String& errmsg); + Program(const Program& prog); + Program& operator = (const Program& prog); + Program(Program&& prog) CV_NOEXCEPT; + Program& operator = (Program&& prog) CV_NOEXCEPT; + ~Program(); + + bool create(const ProgramSource& src, + const String& buildflags, String& errmsg); + + void* ptr() const; + + /** + * @brief Query device-specific program binary. + * + * Returns RAW OpenCL executable binary without additional attachments. + * + * @sa ProgramSource::fromBinary + * + * @param[out] binary output buffer + */ + void getBinary(std::vector& binary) const; + + struct Impl; friend struct Impl; + inline Impl* getImpl() const { return (Impl*)p; } + inline bool empty() const { return !p; } +protected: + Impl* p; +public: +#ifndef OPENCV_REMOVE_DEPRECATED_API + // TODO Remove this + CV_DEPRECATED bool read(const String& buf, const String& buildflags); // removed, use ProgramSource instead + CV_DEPRECATED bool write(String& buf) const; // removed, use getBinary() method instead (RAW OpenCL binary) + CV_DEPRECATED const ProgramSource& source() const; // implementation removed + CV_DEPRECATED String getPrefix() const; // deprecated, implementation replaced + CV_DEPRECATED static String getPrefix(const String& buildflags); // deprecated, implementation replaced +#endif +}; + + +class CV_EXPORTS ProgramSource +{ +public: + typedef uint64 hash_t; // deprecated + + ProgramSource() CV_NOEXCEPT; + explicit ProgramSource(const String& module, const String& name, const String& codeStr, const String& codeHash); + explicit ProgramSource(const String& prog); // deprecated + explicit ProgramSource(const char* prog); // deprecated + ~ProgramSource(); + ProgramSource(const ProgramSource& prog); + ProgramSource& operator = (const ProgramSource& prog); + ProgramSource(ProgramSource&& prog) CV_NOEXCEPT; + ProgramSource& operator = (ProgramSource&& prog) CV_NOEXCEPT; + + const String& source() const; // deprecated + hash_t hash() const; // deprecated + + + /** @brief Describe OpenCL program binary. + * Do not call clCreateProgramWithBinary() and/or clBuildProgram(). + * + * Caller should guarantee binary buffer lifetime greater than ProgramSource object (and any of its copies). + * + * This kind of binary is not portable between platforms in general - it is specific to OpenCL vendor / device / driver version. + * + * @param module name of program owner module + * @param name unique name of program (module+name is used as key for OpenCL program caching) + * @param binary buffer address. See buffer lifetime requirement in description. + * @param size buffer size + * @param buildOptions additional program-related build options passed to clBuildProgram() + * @return created ProgramSource object + */ + static ProgramSource fromBinary(const String& module, const String& name, + const unsigned char* binary, const size_t size, + const cv::String& buildOptions = cv::String()); + + /** @brief Describe OpenCL program in SPIR format. + * Do not call clCreateProgramWithBinary() and/or clBuildProgram(). + * + * Supports SPIR 1.2 by default (pass '-spir-std=X.Y' in buildOptions to override this behavior) + * + * Caller should guarantee binary buffer lifetime greater than ProgramSource object (and any of its copies). + * + * Programs in this format are portable between OpenCL implementations with 'khr_spir' extension: + * https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/cl_khr_spir.html + * (but they are not portable between different platforms: 32-bit / 64-bit) + * + * Note: these programs can't support vendor specific extensions, like 'cl_intel_subgroups'. + * + * @param module name of program owner module + * @param name unique name of program (module+name is used as key for OpenCL program caching) + * @param binary buffer address. See buffer lifetime requirement in description. + * @param size buffer size + * @param buildOptions additional program-related build options passed to clBuildProgram() + * (these options are added automatically: '-x spir' and '-spir-std=1.2') + * @return created ProgramSource object. + */ + static ProgramSource fromSPIR(const String& module, const String& name, + const unsigned char* binary, const size_t size, + const cv::String& buildOptions = cv::String()); + + //OpenCL 2.1+ only + //static Program fromSPIRV(const String& module, const String& name, + // const unsigned char* binary, const size_t size, + // const cv::String& buildOptions = cv::String()); + + struct Impl; friend struct Impl; + inline Impl* getImpl() const { return (Impl*)p; } + inline bool empty() const { return !p; } +protected: + Impl* p; +}; + +class CV_EXPORTS PlatformInfo +{ +public: + PlatformInfo() CV_NOEXCEPT; + /** + * @param id pointer cl_platform_id (cl_platform_id*) + */ + explicit PlatformInfo(void* id); + ~PlatformInfo(); + + PlatformInfo(const PlatformInfo& i); + PlatformInfo& operator =(const PlatformInfo& i); + PlatformInfo(PlatformInfo&& i) CV_NOEXCEPT; + PlatformInfo& operator = (PlatformInfo&& i) CV_NOEXCEPT; + + String name() const; + String vendor() const; + + /// See CL_PLATFORM_VERSION + String version() const; + int versionMajor() const; + int versionMinor() const; + + int deviceNumber() const; + void getDevice(Device& device, int d) const; + + struct Impl; + bool empty() const { return !p; } +protected: + Impl* p; +}; + +CV_EXPORTS CV_DEPRECATED const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf); +CV_EXPORTS const char* convertTypeStr(int sdepth, int ddepth, int cn, char* buf, size_t buf_size); +CV_EXPORTS const char* typeToStr(int t); +CV_EXPORTS const char* memopTypeToStr(int t); +CV_EXPORTS const char* vecopTypeToStr(int t); +CV_EXPORTS const char* getOpenCLErrorString(int errorCode); +CV_EXPORTS String kernelToStr(InputArray _kernel, int ddepth = -1, const char * name = NULL); +CV_EXPORTS void getPlatfomsInfo(std::vector& platform_info); + + +enum OclVectorStrategy +{ + // all matrices have its own vector width + OCL_VECTOR_OWN = 0, + // all matrices have maximal vector width among all matrices + // (useful for cases when matrices have different data types) + OCL_VECTOR_MAX = 1, + + // default strategy + OCL_VECTOR_DEFAULT = OCL_VECTOR_OWN +}; + +CV_EXPORTS int predictOptimalVectorWidth(InputArray src1, InputArray src2 = noArray(), InputArray src3 = noArray(), + InputArray src4 = noArray(), InputArray src5 = noArray(), InputArray src6 = noArray(), + InputArray src7 = noArray(), InputArray src8 = noArray(), InputArray src9 = noArray(), + OclVectorStrategy strat = OCL_VECTOR_DEFAULT); + +CV_EXPORTS int checkOptimalVectorWidth(const int *vectorWidths, + InputArray src1, InputArray src2 = noArray(), InputArray src3 = noArray(), + InputArray src4 = noArray(), InputArray src5 = noArray(), InputArray src6 = noArray(), + InputArray src7 = noArray(), InputArray src8 = noArray(), InputArray src9 = noArray(), + OclVectorStrategy strat = OCL_VECTOR_DEFAULT); + +// with OCL_VECTOR_MAX strategy +CV_EXPORTS int predictOptimalVectorWidthMax(InputArray src1, InputArray src2 = noArray(), InputArray src3 = noArray(), + InputArray src4 = noArray(), InputArray src5 = noArray(), InputArray src6 = noArray(), + InputArray src7 = noArray(), InputArray src8 = noArray(), InputArray src9 = noArray()); + +CV_EXPORTS void buildOptionsAddMatrixDescription(String& buildOptions, const String& name, InputArray _m); + +class CV_EXPORTS Image2D +{ +public: + Image2D() CV_NOEXCEPT; + + /** + @param src UMat object from which to get image properties and data + @param norm flag to enable the use of normalized channel data types + @param alias flag indicating that the image should alias the src UMat. If true, changes to the + image or src will be reflected in both objects. + */ + explicit Image2D(const UMat &src, bool norm = false, bool alias = false); + Image2D(const Image2D & i); + ~Image2D(); + + Image2D & operator = (const Image2D & i); + Image2D(Image2D &&) CV_NOEXCEPT; + Image2D &operator=(Image2D &&) CV_NOEXCEPT; + + /** Indicates if creating an aliased image should succeed. + Depends on the underlying platform and the dimensions of the UMat. + */ + static bool canCreateAlias(const UMat &u); + + /** Indicates if the image format is supported. + */ + static bool isFormatSupported(int depth, int cn, bool norm); + + void* ptr() const; +protected: + struct Impl; + Impl* p; +}; + +class CV_EXPORTS Timer +{ +public: + Timer(const Queue& q); + ~Timer(); + void start(); + void stop(); + + uint64 durationNS() const; //< duration in nanoseconds + +protected: + struct Impl; + Impl* const p; + +private: + Timer(const Timer&); // disabled + Timer& operator=(const Timer&); // disabled +}; + +CV_EXPORTS MatAllocator* getOpenCLAllocator(); + + +class CV_EXPORTS_W OpenCLExecutionContext +{ +public: + OpenCLExecutionContext() = default; + ~OpenCLExecutionContext() = default; + + OpenCLExecutionContext(const OpenCLExecutionContext&) = default; + OpenCLExecutionContext(OpenCLExecutionContext&&) = default; + + OpenCLExecutionContext& operator=(const OpenCLExecutionContext&) = default; + OpenCLExecutionContext& operator=(OpenCLExecutionContext&&) = default; + + /** Get associated ocl::Context */ + Context& getContext() const; + /** Get the single default associated ocl::Device */ + Device& getDevice() const; + /** Get the single ocl::Queue that is associated with the ocl::Context and + * the single default ocl::Device + */ + Queue& getQueue() const; + + bool useOpenCL() const; + void setUseOpenCL(bool flag); + + /** Get OpenCL execution context of current thread. + * + * Initialize OpenCL execution context if it is empty + * - create new + * - reuse context of the main thread (threadID = 0) + */ + static OpenCLExecutionContext& getCurrent(); + + /** Get OpenCL execution context of current thread (can be empty) */ + static OpenCLExecutionContext& getCurrentRef(); + + /** Bind this OpenCL execution context to current thread. + * + * Context can't be empty. + * + * @note clFinish is not called for queue of previous execution context + */ + void bind() const; + + /** Creates new execution context with same OpenCV context and device + * + * @param q OpenCL queue + */ + OpenCLExecutionContext cloneWithNewQueue(const ocl::Queue& q) const; + /** @overload */ + OpenCLExecutionContext cloneWithNewQueue() const; + + /** @brief Creates OpenCL execution context + * OpenCV will check if available OpenCL platform has platformName name, + * then assign context to OpenCV. + * The deviceID device will be used as target device and a new command queue will be created. + * + * @note On success, ownership of one reference of the context and device is taken. + * The caller should additionally call `clRetainContext` and/or `clRetainDevice` + * to increase the reference count if it wishes to continue using them. + * + * @param platformName name of OpenCL platform to attach, this string is used to check if platform is available to OpenCV at runtime + * @param platformID ID of platform attached context was created for (cl_platform_id) + * @param context OpenCL context to be attached to OpenCV (cl_context) + * @param deviceID OpenCL device (cl_device_id) + */ + static OpenCLExecutionContext create(const std::string& platformName, void* platformID, void* context, void* deviceID); + + /** @brief Creates OpenCL execution context + * + * @param context non-empty OpenCL context + * @param device non-empty OpenCL device (must be a part of context) + * @param queue non-empty OpenCL queue for provided context and device + */ + static OpenCLExecutionContext create(const Context& context, const Device& device, const ocl::Queue& queue); + /** @overload */ + static OpenCLExecutionContext create(const Context& context, const Device& device); + + struct Impl; + inline bool empty() const { return !p; } + void release(); +protected: + std::shared_ptr p; +}; + +class OpenCLExecutionContextScope +{ + OpenCLExecutionContext ctx_; +public: + inline OpenCLExecutionContextScope(const OpenCLExecutionContext& ctx) + { + CV_Assert(!ctx.empty()); + ctx_ = OpenCLExecutionContext::getCurrentRef(); + ctx.bind(); + } + + inline ~OpenCLExecutionContextScope() + { + if (!ctx_.empty()) + { + ctx_.bind(); + } + } +}; + +#ifdef __OPENCV_BUILD +namespace internal { + +CV_EXPORTS bool isOpenCLForced(); +#define OCL_FORCE_CHECK(condition) (cv::ocl::internal::isOpenCLForced() || (condition)) + +CV_EXPORTS bool isPerformanceCheckBypassed(); +#define OCL_PERFORMANCE_CHECK(condition) (cv::ocl::internal::isPerformanceCheckBypassed() || (condition)) + +CV_EXPORTS bool isCLBuffer(UMat& u); + +} // namespace internal +#endif + +//! @} + +}} + +#endif diff --git a/camera_lib/include/opencv2/core/ocl_genbase.hpp b/camera_lib/include/opencv2/core/ocl_genbase.hpp new file mode 100644 index 0000000..5334cf1 --- /dev/null +++ b/camera_lib/include/opencv2/core/ocl_genbase.hpp @@ -0,0 +1,69 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the OpenCV Foundation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_OPENCL_GENBASE_HPP +#define OPENCV_OPENCL_GENBASE_HPP + +//! @cond IGNORED + +namespace cv { +namespace ocl { + +class ProgramSource; + +namespace internal { + +struct CV_EXPORTS ProgramEntry +{ + const char* module; + const char* name; + const char* programCode; + const char* programHash; + ProgramSource* pProgramSource; + + operator ProgramSource& () const; +}; + +} } } // namespace + +//! @endcond + +#endif diff --git a/camera_lib/include/opencv2/core/opengl.hpp b/camera_lib/include/opencv2/core/opengl.hpp new file mode 100644 index 0000000..fceb85b --- /dev/null +++ b/camera_lib/include/opencv2/core/opengl.hpp @@ -0,0 +1,733 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_OPENGL_HPP +#define OPENCV_CORE_OPENGL_HPP + +#ifndef __cplusplus +# error opengl.hpp header must be compiled as C++ +#endif + +#include "opencv2/core.hpp" +#include "ocl.hpp" + +namespace cv { namespace ogl { + +/** @addtogroup core_opengl +This section describes OpenGL interoperability. + +To enable OpenGL support, configure OpenCV using CMake with WITH_OPENGL=ON . Currently OpenGL is +supported only with WIN32, GTK and Qt backends on Windows and Linux (MacOS and Android are not +supported). For GTK backend gtkglext-1.0 library is required. + +To use OpenGL functionality you should first create OpenGL context (window or frame buffer). You can +do this with namedWindow function or with other OpenGL toolkit (GLUT, for example). +*/ +//! @{ + +/////////////////// OpenGL Objects /////////////////// + +/** @brief Smart pointer for OpenGL buffer object with reference counting. + +Buffer Objects are OpenGL objects that store an array of unformatted memory allocated by the OpenGL +context. These can be used to store vertex data, pixel data retrieved from images or the +framebuffer, and a variety of other things. + +ogl::Buffer has interface similar with Mat interface and represents 2D array memory. + +ogl::Buffer supports memory transfers between host and device and also can be mapped to CUDA memory. + */ +class CV_EXPORTS Buffer +{ +public: + /** @brief The target defines how you intend to use the buffer object. + */ + enum Target + { + ARRAY_BUFFER = 0x8892, //!< The buffer will be used as a source for vertex data + ELEMENT_ARRAY_BUFFER = 0x8893, //!< The buffer will be used for indices (in glDrawElements, for example) + PIXEL_PACK_BUFFER = 0x88EB, //!< The buffer will be used for reading from OpenGL textures + PIXEL_UNPACK_BUFFER = 0x88EC //!< The buffer will be used for writing to OpenGL textures + }; + + enum Access + { + READ_ONLY = 0x88B8, + WRITE_ONLY = 0x88B9, + READ_WRITE = 0x88BA + }; + + /** @brief The constructors. + + Creates empty ogl::Buffer object, creates ogl::Buffer object from existed buffer ( abufId + parameter), allocates memory for ogl::Buffer object or copies from host/device memory. + */ + Buffer(); + + /** @overload + @param arows Number of rows in a 2D array. + @param acols Number of columns in a 2D array. + @param atype Array type ( CV_8UC1, ..., CV_64FC4 ). See Mat for details. + @param abufId Buffer object name. + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + Buffer(int arows, int acols, int atype, unsigned int abufId, bool autoRelease = false); + + /** @overload + @param asize 2D array size. + @param atype Array type ( CV_8UC1, ..., CV_64FC4 ). See Mat for details. + @param abufId Buffer object name. + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + Buffer(Size asize, int atype, unsigned int abufId, bool autoRelease = false); + + /** @overload + @param arows Number of rows in a 2D array. + @param acols Number of columns in a 2D array. + @param atype Array type ( CV_8UC1, ..., CV_64FC4 ). See Mat for details. + @param target Buffer usage. See cv::ogl::Buffer::Target . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + Buffer(int arows, int acols, int atype, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @overload + @param asize 2D array size. + @param atype Array type ( CV_8UC1, ..., CV_64FC4 ). See Mat for details. + @param target Buffer usage. See cv::ogl::Buffer::Target . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + Buffer(Size asize, int atype, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @overload + @param arr Input array (host or device memory, it can be Mat , cuda::GpuMat or std::vector ). + @param target Buffer usage. See cv::ogl::Buffer::Target . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + explicit Buffer(InputArray arr, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @brief Allocates memory for ogl::Buffer object. + + @param arows Number of rows in a 2D array. + @param acols Number of columns in a 2D array. + @param atype Array type ( CV_8UC1, ..., CV_64FC4 ). See Mat for details. + @param target Buffer usage. See cv::ogl::Buffer::Target . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + void create(int arows, int acols, int atype, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @overload + @param asize 2D array size. + @param atype Array type ( CV_8UC1, ..., CV_64FC4 ). See Mat for details. + @param target Buffer usage. See cv::ogl::Buffer::Target . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + void create(Size asize, int atype, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @brief Decrements the reference counter and destroys the buffer object if needed. + + The function will call setAutoRelease(true) . + */ + void release(); + + /** @brief Sets auto release mode. + + The lifetime of the OpenGL object is tied to the lifetime of the context. If OpenGL context was + bound to a window it could be released at any time (user can close a window). If object's destructor + is called after destruction of the context it will cause an error. Thus ogl::Buffer doesn't destroy + OpenGL object in destructor by default (all OpenGL resources will be released with OpenGL context). + This function can force ogl::Buffer destructor to destroy OpenGL object. + @param flag Auto release mode (if true, release will be called in object's destructor). + */ + void setAutoRelease(bool flag); + + /** @brief Copies from host/device memory to OpenGL buffer. + @param arr Input array (host or device memory, it can be Mat , cuda::GpuMat or std::vector ). + @param target Buffer usage. See cv::ogl::Buffer::Target . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + void copyFrom(InputArray arr, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @overload */ + void copyFrom(InputArray arr, cuda::Stream& stream, Target target = ARRAY_BUFFER, bool autoRelease = false); + + /** @brief Copies from OpenGL buffer to host/device memory or another OpenGL buffer object. + + @param arr Destination array (host or device memory, can be Mat , cuda::GpuMat , std::vector or + ogl::Buffer ). + */ + void copyTo(OutputArray arr) const; + + /** @overload */ + void copyTo(OutputArray arr, cuda::Stream& stream) const; + + /** @brief Creates a full copy of the buffer object and the underlying data. + + @param target Buffer usage for destination buffer. + @param autoRelease Auto release mode for destination buffer. + */ + Buffer clone(Target target = ARRAY_BUFFER, bool autoRelease = false) const; + + /** @brief Binds OpenGL buffer to the specified buffer binding point. + + @param target Binding point. See cv::ogl::Buffer::Target . + */ + void bind(Target target) const; + + /** @brief Unbind any buffers from the specified binding point. + + @param target Binding point. See cv::ogl::Buffer::Target . + */ + static void unbind(Target target); + + /** @brief Maps OpenGL buffer to host memory. + + mapHost maps to the client's address space the entire data store of the buffer object. The data can + then be directly read and/or written relative to the returned pointer, depending on the specified + access policy. + + A mapped data store must be unmapped with ogl::Buffer::unmapHost before its buffer object is used. + + This operation can lead to memory transfers between host and device. + + Only one buffer object can be mapped at a time. + @param access Access policy, indicating whether it will be possible to read from, write to, or both + read from and write to the buffer object's mapped data store. The symbolic constant must be + ogl::Buffer::READ_ONLY , ogl::Buffer::WRITE_ONLY or ogl::Buffer::READ_WRITE . + */ + Mat mapHost(Access access); + + /** @brief Unmaps OpenGL buffer. + */ + void unmapHost(); + + //! map to device memory (blocking) + cuda::GpuMat mapDevice(); + void unmapDevice(); + + /** @brief Maps OpenGL buffer to CUDA device memory. + + This operation doesn't copy data. Several buffer objects can be mapped to CUDA memory at a time. + + A mapped data store must be unmapped with ogl::Buffer::unmapDevice before its buffer object is used. + */ + cuda::GpuMat mapDevice(cuda::Stream& stream); + + /** @brief Unmaps OpenGL buffer. + */ + void unmapDevice(cuda::Stream& stream); + + int rows() const; + int cols() const; + Size size() const; + bool empty() const; + + int type() const; + int depth() const; + int channels() const; + int elemSize() const; + int elemSize1() const; + + //! get OpenGL opject id + unsigned int bufId() const; + + class Impl; + +private: + Ptr impl_; + int rows_; + int cols_; + int type_; +}; + +/** @brief Smart pointer for OpenGL 2D texture memory with reference counting. + */ +class CV_EXPORTS Texture2D +{ +public: + /** @brief An Image Format describes the way that the images in Textures store their data. + */ + enum Format + { + NONE = 0, + DEPTH_COMPONENT = 0x1902, //!< Depth + RGB = 0x1907, //!< Red, Green, Blue + RGBA = 0x1908 //!< Red, Green, Blue, Alpha + }; + + /** @brief The constructors. + + Creates empty ogl::Texture2D object, allocates memory for ogl::Texture2D object or copies from + host/device memory. + */ + Texture2D(); + + /** @overload */ + Texture2D(int arows, int acols, Format aformat, unsigned int atexId, bool autoRelease = false); + + /** @overload */ + Texture2D(Size asize, Format aformat, unsigned int atexId, bool autoRelease = false); + + /** @overload + @param arows Number of rows. + @param acols Number of columns. + @param aformat Image format. See cv::ogl::Texture2D::Format . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + Texture2D(int arows, int acols, Format aformat, bool autoRelease = false); + + /** @overload + @param asize 2D array size. + @param aformat Image format. See cv::ogl::Texture2D::Format . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + Texture2D(Size asize, Format aformat, bool autoRelease = false); + + /** @overload + @param arr Input array (host or device memory, it can be Mat , cuda::GpuMat or ogl::Buffer ). + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + explicit Texture2D(InputArray arr, bool autoRelease = false); + + /** @brief Allocates memory for ogl::Texture2D object. + + @param arows Number of rows. + @param acols Number of columns. + @param aformat Image format. See cv::ogl::Texture2D::Format . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + void create(int arows, int acols, Format aformat, bool autoRelease = false); + /** @overload + @param asize 2D array size. + @param aformat Image format. See cv::ogl::Texture2D::Format . + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + void create(Size asize, Format aformat, bool autoRelease = false); + + /** @brief Decrements the reference counter and destroys the texture object if needed. + + The function will call setAutoRelease(true) . + */ + void release(); + + /** @brief Sets auto release mode. + + @param flag Auto release mode (if true, release will be called in object's destructor). + + The lifetime of the OpenGL object is tied to the lifetime of the context. If OpenGL context was + bound to a window it could be released at any time (user can close a window). If object's destructor + is called after destruction of the context it will cause an error. Thus ogl::Texture2D doesn't + destroy OpenGL object in destructor by default (all OpenGL resources will be released with OpenGL + context). This function can force ogl::Texture2D destructor to destroy OpenGL object. + */ + void setAutoRelease(bool flag); + + /** @brief Copies from host/device memory to OpenGL texture. + + @param arr Input array (host or device memory, it can be Mat , cuda::GpuMat or ogl::Buffer ). + @param autoRelease Auto release mode (if true, release will be called in object's destructor). + */ + void copyFrom(InputArray arr, bool autoRelease = false); + + /** @brief Copies from OpenGL texture to host/device memory or another OpenGL texture object. + + @param arr Destination array (host or device memory, can be Mat , cuda::GpuMat , ogl::Buffer or + ogl::Texture2D ). + @param ddepth Destination depth. + @param autoRelease Auto release mode for destination buffer (if arr is OpenGL buffer or texture). + */ + void copyTo(OutputArray arr, int ddepth = CV_32F, bool autoRelease = false) const; + + /** @brief Binds texture to current active texture unit for GL_TEXTURE_2D target. + */ + void bind() const; + + int rows() const; + int cols() const; + Size size() const; + bool empty() const; + + Format format() const; + + //! get OpenGL opject id + unsigned int texId() const; + + class Impl; + +private: + Ptr impl_; + int rows_; + int cols_; + Format format_; +}; + +/** @brief Wrapper for OpenGL Client-Side Vertex arrays. + +ogl::Arrays stores vertex data in ogl::Buffer objects. + */ +class CV_EXPORTS Arrays +{ +public: + /** @brief Default constructor + */ + Arrays(); + + /** @brief Sets an array of vertex coordinates. + @param vertex array with vertex coordinates, can be both host and device memory. + */ + void setVertexArray(InputArray vertex); + + /** @brief Resets vertex coordinates. + */ + void resetVertexArray(); + + /** @brief Sets an array of vertex colors. + @param color array with vertex colors, can be both host and device memory. + */ + void setColorArray(InputArray color); + + /** @brief Resets vertex colors. + */ + void resetColorArray(); + + /** @brief Sets an array of vertex normals. + @param normal array with vertex normals, can be both host and device memory. + */ + void setNormalArray(InputArray normal); + + /** @brief Resets vertex normals. + */ + void resetNormalArray(); + + /** @brief Sets an array of vertex texture coordinates. + @param texCoord array with vertex texture coordinates, can be both host and device memory. + */ + void setTexCoordArray(InputArray texCoord); + + /** @brief Resets vertex texture coordinates. + */ + void resetTexCoordArray(); + + /** @brief Releases all inner buffers. + */ + void release(); + + /** @brief Sets auto release mode all inner buffers. + @param flag Auto release mode. + */ + void setAutoRelease(bool flag); + + /** @brief Binds all vertex arrays. + */ + void bind() const; + + /** @brief Returns the vertex count. + */ + int size() const; + bool empty() const; + +private: + int size_; + Buffer vertex_; + Buffer color_; + Buffer normal_; + Buffer texCoord_; +}; + +/////////////////// Render Functions /////////////////// + +//! render mode +enum RenderModes { + POINTS = 0x0000, + LINES = 0x0001, + LINE_LOOP = 0x0002, + LINE_STRIP = 0x0003, + TRIANGLES = 0x0004, + TRIANGLE_STRIP = 0x0005, + TRIANGLE_FAN = 0x0006, + QUADS = 0x0007, + QUAD_STRIP = 0x0008, + POLYGON = 0x0009 +}; + +/** @brief Render OpenGL texture or primitives. +@param tex Texture to draw. +@param wndRect Region of window, where to draw a texture (normalized coordinates). +@param texRect Region of texture to draw (normalized coordinates). + */ +CV_EXPORTS void render(const Texture2D& tex, + Rect_ wndRect = Rect_(0.0, 0.0, 1.0, 1.0), + Rect_ texRect = Rect_(0.0, 0.0, 1.0, 1.0)); + +/** @overload +@param arr Array of privitives vertices. +@param mode Render mode. One of cv::ogl::RenderModes +@param color Color for all vertices. Will be used if arr doesn't contain color array. +*/ +CV_EXPORTS void render(const Arrays& arr, int mode = POINTS, Scalar color = Scalar::all(255)); + +/** @overload +@param arr Array of privitives vertices. +@param indices Array of vertices indices (host or device memory). +@param mode Render mode. One of cv::ogl::RenderModes +@param color Color for all vertices. Will be used if arr doesn't contain color array. +*/ +CV_EXPORTS void render(const Arrays& arr, InputArray indices, int mode = POINTS, Scalar color = Scalar::all(255)); + +/////////////////// CL-GL Interoperability Functions /////////////////// + +namespace ocl { +using namespace cv::ocl; + +// TODO static functions in the Context class +/** @brief Creates OpenCL context from GL. +@return Returns reference to OpenCL Context + */ +CV_EXPORTS Context& initializeContextFromGL(); + +} // namespace cv::ogl::ocl + +/** @brief Converts InputArray to Texture2D object. +@param src - source InputArray. +@param texture - destination Texture2D object. + */ +CV_EXPORTS void convertToGLTexture2D(InputArray src, Texture2D& texture); + +/** @brief Converts Texture2D object to OutputArray. +@param texture - source Texture2D object. +@param dst - destination OutputArray. + */ +CV_EXPORTS void convertFromGLTexture2D(const Texture2D& texture, OutputArray dst); + +/** @brief Maps Buffer object to process on CL side (convert to UMat). + +Function creates CL buffer from GL one, and then constructs UMat that can be used +to process buffer data with OpenCV functions. Note that in current implementation +UMat constructed this way doesn't own corresponding GL buffer object, so it is +the user responsibility to close down CL/GL buffers relationships by explicitly +calling unmapGLBuffer() function. +@param buffer - source Buffer object. +@param accessFlags - data access flags (ACCESS_READ|ACCESS_WRITE). +@return Returns UMat object + */ +CV_EXPORTS UMat mapGLBuffer(const Buffer& buffer, AccessFlag accessFlags = ACCESS_READ | ACCESS_WRITE); + +/** @brief Unmaps Buffer object (releases UMat, previously mapped from Buffer). + +Function must be called explicitly by the user for each UMat previously constructed +by the call to mapGLBuffer() function. +@param u - source UMat, created by mapGLBuffer(). + */ +CV_EXPORTS void unmapGLBuffer(UMat& u); + +//! @} +}} // namespace cv::ogl + +namespace cv { namespace cuda { + +/** @brief Sets a CUDA device and initializes it for the current thread with OpenGL interoperability. + +This function should be explicitly called after OpenGL context creation and before any CUDA calls. +@param device System index of a CUDA device starting with 0. +@ingroup core_opengl + */ +CV_EXPORTS void setGlDevice(int device = 0); + +}} + +//! @cond IGNORED + +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// + +inline +cv::ogl::Buffer::Buffer(int arows, int acols, int atype, Target target, bool autoRelease) : rows_(0), cols_(0), type_(0) +{ + create(arows, acols, atype, target, autoRelease); +} + +inline +cv::ogl::Buffer::Buffer(Size asize, int atype, Target target, bool autoRelease) : rows_(0), cols_(0), type_(0) +{ + create(asize, atype, target, autoRelease); +} + +inline +void cv::ogl::Buffer::create(Size asize, int atype, Target target, bool autoRelease) +{ + create(asize.height, asize.width, atype, target, autoRelease); +} + +inline +int cv::ogl::Buffer::rows() const +{ + return rows_; +} + +inline +int cv::ogl::Buffer::cols() const +{ + return cols_; +} + +inline +cv::Size cv::ogl::Buffer::size() const +{ + return Size(cols_, rows_); +} + +inline +bool cv::ogl::Buffer::empty() const +{ + return rows_ == 0 || cols_ == 0; +} + +inline +int cv::ogl::Buffer::type() const +{ + return type_; +} + +inline +int cv::ogl::Buffer::depth() const +{ + return CV_MAT_DEPTH(type_); +} + +inline +int cv::ogl::Buffer::channels() const +{ + return CV_MAT_CN(type_); +} + +inline +int cv::ogl::Buffer::elemSize() const +{ + return CV_ELEM_SIZE(type_); +} + +inline +int cv::ogl::Buffer::elemSize1() const +{ + return CV_ELEM_SIZE1(type_); +} + +/////// + +inline +cv::ogl::Texture2D::Texture2D(int arows, int acols, Format aformat, bool autoRelease) : rows_(0), cols_(0), format_(NONE) +{ + create(arows, acols, aformat, autoRelease); +} + +inline +cv::ogl::Texture2D::Texture2D(Size asize, Format aformat, bool autoRelease) : rows_(0), cols_(0), format_(NONE) +{ + create(asize, aformat, autoRelease); +} + +inline +void cv::ogl::Texture2D::create(Size asize, Format aformat, bool autoRelease) +{ + create(asize.height, asize.width, aformat, autoRelease); +} + +inline +int cv::ogl::Texture2D::rows() const +{ + return rows_; +} + +inline +int cv::ogl::Texture2D::cols() const +{ + return cols_; +} + +inline +cv::Size cv::ogl::Texture2D::size() const +{ + return Size(cols_, rows_); +} + +inline +bool cv::ogl::Texture2D::empty() const +{ + return rows_ == 0 || cols_ == 0; +} + +inline +cv::ogl::Texture2D::Format cv::ogl::Texture2D::format() const +{ + return format_; +} + +/////// + +// WARNING: unreachable code using Ninja +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(push) +#pragma warning(disable: 4702) +#endif +inline +cv::ogl::Arrays::Arrays() : size_(0) +{ +} +#if defined _MSC_VER && _MSC_VER >= 1920 +#pragma warning(pop) +#endif + +inline +int cv::ogl::Arrays::size() const +{ + return size_; +} + +inline +bool cv::ogl::Arrays::empty() const +{ + return size_ == 0; +} + +//! @endcond + +#endif /* OPENCV_CORE_OPENGL_HPP */ diff --git a/camera_lib/include/opencv2/core/operations.hpp b/camera_lib/include/opencv2/core/operations.hpp new file mode 100644 index 0000000..ab7d429 --- /dev/null +++ b/camera_lib/include/opencv2/core/operations.hpp @@ -0,0 +1,612 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_OPERATIONS_HPP +#define OPENCV_CORE_OPERATIONS_HPP + +#ifndef __cplusplus +# error operations.hpp header must be compiled as C++ +#endif + +#include + +#if defined(__GNUC__) || defined(__clang__) // at least GCC 3.1+, clang 3.5+ +# if defined(__MINGW_PRINTF_FORMAT) // https://sourceforge.net/p/mingw-w64/wiki2/gnu%20printf/. +# define CV_FORMAT_PRINTF(string_idx, first_to_check) __attribute__ ((format (__MINGW_PRINTF_FORMAT, string_idx, first_to_check))) +# else +# define CV_FORMAT_PRINTF(string_idx, first_to_check) __attribute__ ((format (printf, string_idx, first_to_check))) +# endif +#else +# define CV_FORMAT_PRINTF(A, B) +#endif + +namespace cv +{ +//! @cond IGNORED + + +////////////////////////////// Matx methods depending on core API ///////////////////////////// + +namespace internal +{ + +template struct Matx_FastInvOp +{ + bool operator()(const Matx<_Tp, m, n>& a, Matx<_Tp, n, m>& b, int method) const + { + return invert(a, b, method) != 0; + } +}; + +template struct Matx_FastInvOp<_Tp, m, m> +{ + bool operator()(const Matx<_Tp, m, m>& a, Matx<_Tp, m, m>& b, int method) const + { + if (method == DECOMP_LU || method == DECOMP_CHOLESKY) + { + Matx<_Tp, m, m> temp = a; + + // assume that b is all 0's on input => make it a unity matrix + for (int i = 0; i < m; i++) + b(i, i) = (_Tp)1; + + if (method == DECOMP_CHOLESKY) + return Cholesky(temp.val, m*sizeof(_Tp), m, b.val, m*sizeof(_Tp), m); + + return LU(temp.val, m*sizeof(_Tp), m, b.val, m*sizeof(_Tp), m) != 0; + } + else + { + return invert(a, b, method) != 0; + } + } +}; + +template struct Matx_FastInvOp<_Tp, 2, 2> +{ + bool operator()(const Matx<_Tp, 2, 2>& a, Matx<_Tp, 2, 2>& b, int /*method*/) const + { + _Tp d = (_Tp)determinant(a); + if (d == 0) + return false; + d = 1/d; + b(1,1) = a(0,0)*d; + b(0,0) = a(1,1)*d; + b(0,1) = -a(0,1)*d; + b(1,0) = -a(1,0)*d; + return true; + } +}; + +template struct Matx_FastInvOp<_Tp, 3, 3> +{ + bool operator()(const Matx<_Tp, 3, 3>& a, Matx<_Tp, 3, 3>& b, int /*method*/) const + { + _Tp d = (_Tp)determinant(a); + if (d == 0) + return false; + d = 1/d; + b(0,0) = (a(1,1) * a(2,2) - a(1,2) * a(2,1)) * d; + b(0,1) = (a(0,2) * a(2,1) - a(0,1) * a(2,2)) * d; + b(0,2) = (a(0,1) * a(1,2) - a(0,2) * a(1,1)) * d; + + b(1,0) = (a(1,2) * a(2,0) - a(1,0) * a(2,2)) * d; + b(1,1) = (a(0,0) * a(2,2) - a(0,2) * a(2,0)) * d; + b(1,2) = (a(0,2) * a(1,0) - a(0,0) * a(1,2)) * d; + + b(2,0) = (a(1,0) * a(2,1) - a(1,1) * a(2,0)) * d; + b(2,1) = (a(0,1) * a(2,0) - a(0,0) * a(2,1)) * d; + b(2,2) = (a(0,0) * a(1,1) - a(0,1) * a(1,0)) * d; + return true; + } +}; + + +template struct Matx_FastSolveOp +{ + bool operator()(const Matx<_Tp, m, l>& a, const Matx<_Tp, m, n>& b, + Matx<_Tp, l, n>& x, int method) const + { + return cv::solve(a, b, x, method); + } +}; + +template struct Matx_FastSolveOp<_Tp, m, m, n> +{ + bool operator()(const Matx<_Tp, m, m>& a, const Matx<_Tp, m, n>& b, + Matx<_Tp, m, n>& x, int method) const + { + if (method == DECOMP_LU || method == DECOMP_CHOLESKY) + { + Matx<_Tp, m, m> temp = a; + x = b; + if( method == DECOMP_CHOLESKY ) + return Cholesky(temp.val, m*sizeof(_Tp), m, x.val, n*sizeof(_Tp), n); + + return LU(temp.val, m*sizeof(_Tp), m, x.val, n*sizeof(_Tp), n) != 0; + } + else + { + return cv::solve(a, b, x, method); + } + } +}; + +template struct Matx_FastSolveOp<_Tp, 2, 2, 1> +{ + bool operator()(const Matx<_Tp, 2, 2>& a, const Matx<_Tp, 2, 1>& b, + Matx<_Tp, 2, 1>& x, int) const + { + _Tp d = (_Tp)determinant(a); + if (d == 0) + return false; + d = 1/d; + x(0) = (b(0)*a(1,1) - b(1)*a(0,1))*d; + x(1) = (b(1)*a(0,0) - b(0)*a(1,0))*d; + return true; + } +}; + +template struct Matx_FastSolveOp<_Tp, 3, 3, 1> +{ + bool operator()(const Matx<_Tp, 3, 3>& a, const Matx<_Tp, 3, 1>& b, + Matx<_Tp, 3, 1>& x, int) const + { + _Tp d = (_Tp)determinant(a); + if (d == 0) + return false; + d = 1/d; + x(0) = d*(b(0)*(a(1,1)*a(2,2) - a(1,2)*a(2,1)) - + a(0,1)*(b(1)*a(2,2) - a(1,2)*b(2)) + + a(0,2)*(b(1)*a(2,1) - a(1,1)*b(2))); + + x(1) = d*(a(0,0)*(b(1)*a(2,2) - a(1,2)*b(2)) - + b(0)*(a(1,0)*a(2,2) - a(1,2)*a(2,0)) + + a(0,2)*(a(1,0)*b(2) - b(1)*a(2,0))); + + x(2) = d*(a(0,0)*(a(1,1)*b(2) - b(1)*a(2,1)) - + a(0,1)*(a(1,0)*b(2) - b(1)*a(2,0)) + + b(0)*(a(1,0)*a(2,1) - a(1,1)*a(2,0))); + return true; + } +}; + +} // internal + +template inline +Matx<_Tp,m,n> Matx<_Tp,m,n>::randu(_Tp a, _Tp b) +{ + Matx<_Tp,m,n> M; + cv::randu(M, Scalar(a), Scalar(b)); + return M; +} + +template inline +Matx<_Tp,m,n> Matx<_Tp,m,n>::randn(_Tp a, _Tp b) +{ + Matx<_Tp,m,n> M; + cv::randn(M, Scalar(a), Scalar(b)); + return M; +} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::randu(_Tp a, _Tp b) +{ + Vec<_Tp,cn> V; + cv::randu(V, Scalar(a), Scalar(b)); + return V; +} + +template inline +Vec<_Tp, cn> Vec<_Tp, cn>::randn(_Tp a, _Tp b) +{ + Vec<_Tp,cn> V; + cv::randn(V, Scalar(a), Scalar(b)); + return V; +} + +template inline +Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method, bool *p_is_ok /*= NULL*/) const +{ + Matx<_Tp, n, m> b; + bool ok = cv::internal::Matx_FastInvOp<_Tp, m, n>()(*this, b, method); + if (p_is_ok) *p_is_ok = ok; + return ok ? b : Matx<_Tp, n, m>::zeros(); +} + +template template inline +Matx<_Tp, n, l> Matx<_Tp, m, n>::solve(const Matx<_Tp, m, l>& rhs, int method) const +{ + Matx<_Tp, n, l> x; + bool ok = cv::internal::Matx_FastSolveOp<_Tp, m, n, l>()(*this, rhs, x, method); + return ok ? x : Matx<_Tp, n, l>::zeros(); +} + + + +////////////////////////// Augmenting algebraic & logical operations ////////////////////////// + +#define CV_MAT_AUG_OPERATOR1(op, cvop, A, B) \ + static inline A& operator op (A& a, const B& b) { cvop; return a; } + +#define CV_MAT_AUG_OPERATOR(op, cvop, A, B) \ + CV_MAT_AUG_OPERATOR1(op, cvop, A, B) \ + CV_MAT_AUG_OPERATOR1(op, cvop, const A, B) + +#define CV_MAT_AUG_OPERATOR_T(op, cvop, A, B) \ + template CV_MAT_AUG_OPERATOR1(op, cvop, A, B) \ + template CV_MAT_AUG_OPERATOR1(op, cvop, const A, B) + +#define CV_MAT_AUG_OPERATOR_TN(op, cvop, A) \ + template static inline A& operator op (A& a, const Matx<_Tp,m,n>& b) { cvop; return a; } \ + template static inline const A& operator op (const A& a, const Matx<_Tp,m,n>& b) { cvop; return a; } + +CV_MAT_AUG_OPERATOR (+=, cv::add(a, b, (const Mat&)a), Mat, Mat) +CV_MAT_AUG_OPERATOR (+=, cv::add(a, b, (const Mat&)a), Mat, Scalar) +CV_MAT_AUG_OPERATOR_T(+=, cv::add(a, b, (const Mat&)a), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(+=, cv::add(a, b, (const Mat&)a), Mat_<_Tp>, Scalar) +CV_MAT_AUG_OPERATOR_T(+=, cv::add(a, b, (const Mat&)a), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR_TN(+=, cv::add(a, Mat(b), (const Mat&)a), Mat) +CV_MAT_AUG_OPERATOR_TN(+=, cv::add(a, Mat(b), (const Mat&)a), Mat_<_Tp>) + +CV_MAT_AUG_OPERATOR (-=, cv::subtract(a, b, (const Mat&)a), Mat, Mat) +CV_MAT_AUG_OPERATOR (-=, cv::subtract(a, b, (const Mat&)a), Mat, Scalar) +CV_MAT_AUG_OPERATOR_T(-=, cv::subtract(a, b, (const Mat&)a), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(-=, cv::subtract(a, b, (const Mat&)a), Mat_<_Tp>, Scalar) +CV_MAT_AUG_OPERATOR_T(-=, cv::subtract(a, b, (const Mat&)a), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR_TN(-=, cv::subtract(a, Mat(b), (const Mat&)a), Mat) +CV_MAT_AUG_OPERATOR_TN(-=, cv::subtract(a, Mat(b), (const Mat&)a), Mat_<_Tp>) + +CV_MAT_AUG_OPERATOR (*=, cv::gemm(a, b, 1, Mat(), 0, a, 0), Mat, Mat) +CV_MAT_AUG_OPERATOR_T(*=, cv::gemm(a, b, 1, Mat(), 0, a, 0), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(*=, cv::gemm(a, b, 1, Mat(), 0, a, 0), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR (*=, a.convertTo(a, -1, b), Mat, double) +CV_MAT_AUG_OPERATOR_T(*=, a.convertTo(a, -1, b), Mat_<_Tp>, double) +CV_MAT_AUG_OPERATOR_TN(*=, cv::gemm(a, Mat(b), 1, Mat(), 0, a, 0), Mat) +CV_MAT_AUG_OPERATOR_TN(*=, cv::gemm(a, Mat(b), 1, Mat(), 0, a, 0), Mat_<_Tp>) + +CV_MAT_AUG_OPERATOR (/=, cv::divide(a, b, (const Mat&)a), Mat, Mat) +CV_MAT_AUG_OPERATOR_T(/=, cv::divide(a, b, (const Mat&)a), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(/=, cv::divide(a, b, (const Mat&)a), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR (/=, a.convertTo((Mat&)a, -1, 1./b), Mat, double) +CV_MAT_AUG_OPERATOR_T(/=, a.convertTo((Mat&)a, -1, 1./b), Mat_<_Tp>, double) +CV_MAT_AUG_OPERATOR_TN(/=, cv::divide(a, Mat(b), (const Mat&)a), Mat) +CV_MAT_AUG_OPERATOR_TN(/=, cv::divide(a, Mat(b), (const Mat&)a), Mat_<_Tp>) + +CV_MAT_AUG_OPERATOR (&=, cv::bitwise_and(a, b, (const Mat&)a), Mat, Mat) +CV_MAT_AUG_OPERATOR (&=, cv::bitwise_and(a, b, (const Mat&)a), Mat, Scalar) +CV_MAT_AUG_OPERATOR_T(&=, cv::bitwise_and(a, b, (const Mat&)a), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(&=, cv::bitwise_and(a, b, (const Mat&)a), Mat_<_Tp>, Scalar) +CV_MAT_AUG_OPERATOR_T(&=, cv::bitwise_and(a, b, (const Mat&)a), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR_TN(&=, cv::bitwise_and(a, Mat(b), (const Mat&)a), Mat) +CV_MAT_AUG_OPERATOR_TN(&=, cv::bitwise_and(a, Mat(b), (const Mat&)a), Mat_<_Tp>) + +CV_MAT_AUG_OPERATOR (|=, cv::bitwise_or(a, b, (const Mat&)a), Mat, Mat) +CV_MAT_AUG_OPERATOR (|=, cv::bitwise_or(a, b, (const Mat&)a), Mat, Scalar) +CV_MAT_AUG_OPERATOR_T(|=, cv::bitwise_or(a, b, (const Mat&)a), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(|=, cv::bitwise_or(a, b, (const Mat&)a), Mat_<_Tp>, Scalar) +CV_MAT_AUG_OPERATOR_T(|=, cv::bitwise_or(a, b, (const Mat&)a), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR_TN(|=, cv::bitwise_or(a, Mat(b), (const Mat&)a), Mat) +CV_MAT_AUG_OPERATOR_TN(|=, cv::bitwise_or(a, Mat(b), (const Mat&)a), Mat_<_Tp>) + +CV_MAT_AUG_OPERATOR (^=, cv::bitwise_xor(a, b, (const Mat&)a), Mat, Mat) +CV_MAT_AUG_OPERATOR (^=, cv::bitwise_xor(a, b, (const Mat&)a), Mat, Scalar) +CV_MAT_AUG_OPERATOR_T(^=, cv::bitwise_xor(a, b, (const Mat&)a), Mat_<_Tp>, Mat) +CV_MAT_AUG_OPERATOR_T(^=, cv::bitwise_xor(a, b, (const Mat&)a), Mat_<_Tp>, Scalar) +CV_MAT_AUG_OPERATOR_T(^=, cv::bitwise_xor(a, b, (const Mat&)a), Mat_<_Tp>, Mat_<_Tp>) +CV_MAT_AUG_OPERATOR_TN(^=, cv::bitwise_xor(a, Mat(b), (const Mat&)a), Mat) +CV_MAT_AUG_OPERATOR_TN(^=, cv::bitwise_xor(a, Mat(b), (const Mat&)a), Mat_<_Tp>) + +#undef CV_MAT_AUG_OPERATOR_TN +#undef CV_MAT_AUG_OPERATOR_T +#undef CV_MAT_AUG_OPERATOR +#undef CV_MAT_AUG_OPERATOR1 + + + +///////////////////////////////////////////// SVD ///////////////////////////////////////////// + +inline SVD::SVD() {} +inline SVD::SVD( InputArray m, int flags ) { operator ()(m, flags); } +inline void SVD::solveZ( InputArray m, OutputArray _dst ) +{ + Mat mtx = m.getMat(); + SVD svd(mtx, (mtx.rows >= mtx.cols ? 0 : SVD::FULL_UV)); + _dst.create(svd.vt.cols, 1, svd.vt.type()); + Mat dst = _dst.getMat(); + svd.vt.row(svd.vt.rows-1).reshape(1,svd.vt.cols).copyTo(dst); +} + +template inline void + SVD::compute( const Matx<_Tp, m, n>& a, Matx<_Tp, nm, 1>& w, Matx<_Tp, m, nm>& u, Matx<_Tp, n, nm>& vt ) +{ + CV_StaticAssert( nm == MIN(m, n), "Invalid size of output vector."); + Mat _a(a, false), _u(u, false), _w(w, false), _vt(vt, false); + SVD::compute(_a, _w, _u, _vt); + CV_Assert(_w.data == (uchar*)&w.val[0] && _u.data == (uchar*)&u.val[0] && _vt.data == (uchar*)&vt.val[0]); +} + +template inline void +SVD::compute( const Matx<_Tp, m, n>& a, Matx<_Tp, nm, 1>& w ) +{ + CV_StaticAssert( nm == MIN(m, n), "Invalid size of output vector."); + Mat _a(a, false), _w(w, false); + SVD::compute(_a, _w); + CV_Assert(_w.data == (uchar*)&w.val[0]); +} + +template inline void +SVD::backSubst( const Matx<_Tp, nm, 1>& w, const Matx<_Tp, m, nm>& u, + const Matx<_Tp, n, nm>& vt, const Matx<_Tp, m, nb>& rhs, + Matx<_Tp, n, nb>& dst ) +{ + CV_StaticAssert( nm == MIN(m, n), "Invalid size of output vector."); + Mat _u(u, false), _w(w, false), _vt(vt, false), _rhs(rhs, false), _dst(dst, false); + SVD::backSubst(_w, _u, _vt, _rhs, _dst); + CV_Assert(_dst.data == (uchar*)&dst.val[0]); +} + + + +/////////////////////////////////// Multiply-with-Carry RNG /////////////////////////////////// + +inline RNG::RNG() { state = 0xffffffff; } +inline RNG::RNG(uint64 _state) { state = _state ? _state : 0xffffffff; } + +inline RNG::operator uchar() { return (uchar)next(); } +inline RNG::operator schar() { return (schar)next(); } +inline RNG::operator ushort() { return (ushort)next(); } +inline RNG::operator short() { return (short)next(); } +inline RNG::operator int() { return (int)next(); } +inline RNG::operator unsigned() { return next(); } +inline RNG::operator float() { return next()*2.3283064365386962890625e-10f; } +inline RNG::operator double() { unsigned t = next(); return (((uint64)t << 32) | next()) * 5.4210108624275221700372640043497e-20; } + +inline unsigned RNG::operator ()(unsigned N) { return (unsigned)uniform(0,N); } +inline unsigned RNG::operator ()() { return next(); } + +inline int RNG::uniform(int a, int b) { return a == b ? a : (int)(next() % (b - a) + a); } +inline float RNG::uniform(float a, float b) { return ((float)*this)*(b - a) + a; } +inline double RNG::uniform(double a, double b) { return ((double)*this)*(b - a) + a; } + +inline bool RNG::operator ==(const RNG& other) const { return state == other.state; } + +inline unsigned RNG::next() +{ + state = (uint64)(unsigned)state* /*CV_RNG_COEFF*/ 4164903690U + (unsigned)(state >> 32); + return (unsigned)state; +} + +//! returns the next uniformly-distributed random number of the specified type +template static inline _Tp randu() +{ + return (_Tp)theRNG(); +} + + +///////////////////////////////// Formatted output of cv::Mat ///////////////////////////////// + +static inline +Ptr format(InputArray mtx, Formatter::FormatType fmt) +{ + return Formatter::get(fmt)->format(mtx.getMat()); +} + +static inline +int print(Ptr fmtd, FILE* stream = stdout) +{ + int written = 0; + fmtd->reset(); + for(const char* str = fmtd->next(); str; str = fmtd->next()) + written += fputs(str, stream); + + return written; +} + +static inline +int print(const Mat& mtx, FILE* stream = stdout) +{ + return print(Formatter::get()->format(mtx), stream); +} + +static inline +int print(const UMat& mtx, FILE* stream = stdout) +{ + return print(Formatter::get()->format(mtx.getMat(ACCESS_READ)), stream); +} + +template static inline +int print(const std::vector >& vec, FILE* stream = stdout) +{ + return print(Formatter::get()->format(Mat(vec)), stream); +} + +template static inline +int print(const std::vector >& vec, FILE* stream = stdout) +{ + return print(Formatter::get()->format(Mat(vec)), stream); +} + +template static inline +int print(const Matx<_Tp, m, n>& matx, FILE* stream = stdout) +{ + return print(Formatter::get()->format(cv::Mat(matx)), stream); +} + +//! @endcond + +///////////////////////////////// Formatted string generation ///////////////////////////////// + +/** @brief Returns a text string formatted using the printf-like expression. + +The function acts like sprintf but forms and returns an STL string. It can be used to form an error +message in the Exception constructor. +@param fmt printf-compatible formatting specifiers. + +**Note**: +|Type|Specifier| +|-|-| +|`const char*`|`%s`| +|`char`|`%c`| +|`float` / `double`|`%f`,`%g`| +|`int`, `long`, `long long`|`%d`, `%ld`, ``%lld`| +|`unsigned`, `unsigned long`, `unsigned long long`|`%u`, `%lu`, `%llu`| +|`uint64` -> `uintmax_t`, `int64` -> `intmax_t`|`%ju`, `%jd`| +|`size_t`|`%zu`| +@ingroup core_utils + */ +CV_EXPORTS String format(const char* fmt, ...) CV_FORMAT_PRINTF(1, 2); + +/****************************************************************************************\ +* Auxiliary algorithms * +\****************************************************************************************/ + +/** @brief Splits an element set into equivalency classes. + +The generic function partition implements an \f$O(N^2)\f$ algorithm for splitting a set of \f$N\f$ elements +into one or more equivalency classes, as described in + . The function returns the number of +equivalency classes. +@param _vec Set of elements stored as a vector. +@param labels Output vector of labels. It contains as many elements as vec. Each label labels[i] is +a 0-based cluster index of `vec[i]`. +@param predicate Equivalence predicate (pointer to a boolean function of two arguments or an +instance of the class that has the method bool operator()(const _Tp& a, const _Tp& b) ). The +predicate returns true when the elements are certainly in the same class, and returns false if they +may or may not be in the same class. +@ingroup core_cluster +*/ +template int +partition( const std::vector<_Tp>& _vec, std::vector& labels, + _EqPredicate predicate=_EqPredicate()) +{ + int i, j, N = (int)_vec.size(); + const _Tp* vec = &_vec[0]; + + const int PARENT=0; + const int RANK=1; + + std::vector _nodes(N*2); + int (*nodes)[2] = (int(*)[2])&_nodes[0]; + + // The first O(N) pass: create N single-vertex trees + for(i = 0; i < N; i++) + { + nodes[i][PARENT]=-1; + nodes[i][RANK] = 0; + } + + // The main O(N^2) pass: merge connected components + for( i = 0; i < N; i++ ) + { + int root = i; + + // find root + while( nodes[root][PARENT] >= 0 ) + root = nodes[root][PARENT]; + + for( j = 0; j < N; j++ ) + { + if( i == j || !predicate(vec[i], vec[j])) + continue; + int root2 = j; + + while( nodes[root2][PARENT] >= 0 ) + root2 = nodes[root2][PARENT]; + + if( root2 != root ) + { + // unite both trees + int rank = nodes[root][RANK], rank2 = nodes[root2][RANK]; + if( rank > rank2 ) + nodes[root2][PARENT] = root; + else + { + nodes[root][PARENT] = root2; + nodes[root2][RANK] += rank == rank2; + root = root2; + } + CV_Assert( nodes[root][PARENT] < 0 ); + + int k = j, parent; + + // compress the path from node2 to root + while( (parent = nodes[k][PARENT]) >= 0 ) + { + nodes[k][PARENT] = root; + k = parent; + } + + // compress the path from node to root + k = i; + while( (parent = nodes[k][PARENT]) >= 0 ) + { + nodes[k][PARENT] = root; + k = parent; + } + } + } + } + + // Final O(N) pass: enumerate classes + labels.resize(N); + int nclasses = 0; + + for( i = 0; i < N; i++ ) + { + int root = i; + while( nodes[root][PARENT] >= 0 ) + root = nodes[root][PARENT]; + // re-use the rank as the class label + if( nodes[root][RANK] >= 0 ) + nodes[root][RANK] = ~nclasses++; + labels[i] = ~nodes[root][RANK]; + } + + return nclasses; +} + +} // cv + +#endif diff --git a/camera_lib/include/opencv2/core/optim.hpp b/camera_lib/include/opencv2/core/optim.hpp new file mode 100644 index 0000000..59fe978 --- /dev/null +++ b/camera_lib/include/opencv2/core/optim.hpp @@ -0,0 +1,307 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the OpenCV Foundation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_OPTIM_HPP +#define OPENCV_OPTIM_HPP + +#include "opencv2/core.hpp" + +namespace cv +{ + +/** @addtogroup core_optim +The algorithms in this section minimize or maximize function value within specified constraints or +without any constraints. +@{ +*/ + +/** @brief Basic interface for all solvers + */ +class CV_EXPORTS MinProblemSolver : public Algorithm +{ +public: + /** @brief Represents function being optimized + */ + class CV_EXPORTS Function + { + public: + virtual ~Function() {} + virtual int getDims() const = 0; + virtual double getGradientEps() const; + virtual double calc(const double* x) const = 0; + virtual void getGradient(const double* x,double* grad); + }; + + /** @brief Getter for the optimized function. + + The optimized function is represented by Function interface, which requires derivatives to + implement the calc(double*) and getDim() methods to evaluate the function. + + @return Smart-pointer to an object that implements Function interface - it represents the + function that is being optimized. It can be empty, if no function was given so far. + */ + virtual Ptr getFunction() const = 0; + + /** @brief Setter for the optimized function. + + *It should be called at least once before the call to* minimize(), as default value is not usable. + + @param f The new function to optimize. + */ + virtual void setFunction(const Ptr& f) = 0; + + /** @brief Getter for the previously set terminal criteria for this algorithm. + + @return Deep copy of the terminal criteria used at the moment. + */ + virtual TermCriteria getTermCriteria() const = 0; + + /** @brief Set terminal criteria for solver. + + This method *is not necessary* to be called before the first call to minimize(), as the default + value is sensible. + + Algorithm stops when the number of function evaluations done exceeds termcrit.maxCount, when + the function values at the vertices of simplex are within termcrit.epsilon range or simplex + becomes so small that it can enclosed in a box with termcrit.epsilon sides, whatever comes + first. + @param termcrit Terminal criteria to be used, represented as cv::TermCriteria structure. + */ + virtual void setTermCriteria(const TermCriteria& termcrit) = 0; + + /** @brief actually runs the algorithm and performs the minimization. + + The sole input parameter determines the centroid of the starting simplex (roughly, it tells + where to start), all the others (terminal criteria, initial step, function to be minimized) are + supposed to be set via the setters before the call to this method or the default values (not + always sensible) will be used. + + @param x The initial point, that will become a centroid of an initial simplex. After the algorithm + will terminate, it will be set to the point where the algorithm stops, the point of possible + minimum. + @return The value of a function at the point found. + */ + virtual double minimize(InputOutputArray x) = 0; +}; + +/** @brief This class is used to perform the non-linear non-constrained minimization of a function, + +defined on an `n`-dimensional Euclidean space, using the **Nelder-Mead method**, also known as +**downhill simplex method**. The basic idea about the method can be obtained from +. + +It should be noted, that this method, although deterministic, is rather a heuristic and therefore +may converge to a local minima, not necessary a global one. It is iterative optimization technique, +which at each step uses an information about the values of a function evaluated only at `n+1` +points, arranged as a *simplex* in `n`-dimensional space (hence the second name of the method). At +each step new point is chosen to evaluate function at, obtained value is compared with previous +ones and based on this information simplex changes it's shape , slowly moving to the local minimum. +Thus this method is using *only* function values to make decision, on contrary to, say, Nonlinear +Conjugate Gradient method (which is also implemented in optim). + +Algorithm stops when the number of function evaluations done exceeds termcrit.maxCount, when the +function values at the vertices of simplex are within termcrit.epsilon range or simplex becomes so +small that it can enclosed in a box with termcrit.epsilon sides, whatever comes first, for some +defined by user positive integer termcrit.maxCount and positive non-integer termcrit.epsilon. + +@note DownhillSolver is a derivative of the abstract interface +cv::MinProblemSolver, which in turn is derived from the Algorithm interface and is used to +encapsulate the functionality, common to all non-linear optimization algorithms in the optim +module. + +@note term criteria should meet following condition: +@code + termcrit.type == (TermCriteria::MAX_ITER + TermCriteria::EPS) && termcrit.epsilon > 0 && termcrit.maxCount > 0 +@endcode + */ +class CV_EXPORTS DownhillSolver : public MinProblemSolver +{ +public: + /** @brief Returns the initial step that will be used in downhill simplex algorithm. + + @param step Initial step that will be used in algorithm. Note, that although corresponding setter + accepts column-vectors as well as row-vectors, this method will return a row-vector. + @see DownhillSolver::setInitStep + */ + virtual void getInitStep(OutputArray step) const=0; + + /** @brief Sets the initial step that will be used in downhill simplex algorithm. + + Step, together with initial point (given in DownhillSolver::minimize) are two `n`-dimensional + vectors that are used to determine the shape of initial simplex. Roughly said, initial point + determines the position of a simplex (it will become simplex's centroid), while step determines the + spread (size in each dimension) of a simplex. To be more precise, if \f$s,x_0\in\mathbb{R}^n\f$ are + the initial step and initial point respectively, the vertices of a simplex will be: + \f$v_0:=x_0-\frac{1}{2} s\f$ and \f$v_i:=x_0+s_i\f$ for \f$i=1,2,\dots,n\f$ where \f$s_i\f$ denotes + projections of the initial step of *n*-th coordinate (the result of projection is treated to be + vector given by \f$s_i:=e_i\cdot\left\f$, where \f$e_i\f$ form canonical basis) + + @param step Initial step that will be used in algorithm. Roughly said, it determines the spread + (size in each dimension) of an initial simplex. + */ + virtual void setInitStep(InputArray step)=0; + + /** @brief This function returns the reference to the ready-to-use DownhillSolver object. + + All the parameters are optional, so this procedure can be called even without parameters at + all. In this case, the default values will be used. As default value for terminal criteria are + the only sensible ones, MinProblemSolver::setFunction() and DownhillSolver::setInitStep() + should be called upon the obtained object, if the respective parameters were not given to + create(). Otherwise, the two ways (give parameters to createDownhillSolver() or miss them out + and call the MinProblemSolver::setFunction() and DownhillSolver::setInitStep()) are absolutely + equivalent (and will drop the same errors in the same way, should invalid input be detected). + @param f Pointer to the function that will be minimized, similarly to the one you submit via + MinProblemSolver::setFunction. + @param initStep Initial step, that will be used to construct the initial simplex, similarly to the one + you submit via MinProblemSolver::setInitStep. + @param termcrit Terminal criteria to the algorithm, similarly to the one you submit via + MinProblemSolver::setTermCriteria. + */ + static Ptr create(const Ptr& f=Ptr(), + InputArray initStep=Mat_(1,1,0.0), + TermCriteria termcrit=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS,5000,0.000001)); +}; + +/** @brief This class is used to perform the non-linear non-constrained minimization of a function +with known gradient, + +defined on an *n*-dimensional Euclidean space, using the **Nonlinear Conjugate Gradient method**. +The implementation was done based on the beautifully clear explanatory article [An Introduction to +the Conjugate Gradient Method Without the Agonizing +Pain](http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.pdf) by Jonathan Richard +Shewchuk. The method can be seen as an adaptation of a standard Conjugate Gradient method (see, for +example ) for numerically solving the +systems of linear equations. + +It should be noted, that this method, although deterministic, is rather a heuristic method and +therefore may converge to a local minima, not necessary a global one. What is even more disastrous, +most of its behaviour is ruled by gradient, therefore it essentially cannot distinguish between +local minima and maxima. Therefore, if it starts sufficiently near to the local maximum, it may +converge to it. Another obvious restriction is that it should be possible to compute the gradient of +a function at any point, thus it is preferable to have analytic expression for gradient and +computational burden should be born by the user. + +The latter responsibility is accomplished via the getGradient method of a +MinProblemSolver::Function interface (which represents function being optimized). This method takes +point a point in *n*-dimensional space (first argument represents the array of coordinates of that +point) and compute its gradient (it should be stored in the second argument as an array). + +@note class ConjGradSolver thus does not add any new methods to the basic MinProblemSolver interface. + +@note term criteria should meet following condition: +@code + termcrit.type == (TermCriteria::MAX_ITER + TermCriteria::EPS) && termcrit.epsilon > 0 && termcrit.maxCount > 0 + // or + termcrit.type == TermCriteria::MAX_ITER) && termcrit.maxCount > 0 +@endcode + */ +class CV_EXPORTS ConjGradSolver : public MinProblemSolver +{ +public: + /** @brief This function returns the reference to the ready-to-use ConjGradSolver object. + + All the parameters are optional, so this procedure can be called even without parameters at + all. In this case, the default values will be used. As default value for terminal criteria are + the only sensible ones, MinProblemSolver::setFunction() should be called upon the obtained + object, if the function was not given to create(). Otherwise, the two ways (submit it to + create() or miss it out and call the MinProblemSolver::setFunction()) are absolutely equivalent + (and will drop the same errors in the same way, should invalid input be detected). + @param f Pointer to the function that will be minimized, similarly to the one you submit via + MinProblemSolver::setFunction. + @param termcrit Terminal criteria to the algorithm, similarly to the one you submit via + MinProblemSolver::setTermCriteria. + */ + static Ptr create(const Ptr& f=Ptr(), + TermCriteria termcrit=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS,5000,0.000001)); +}; + +//! return codes for cv::solveLP() function +enum SolveLPResult +{ + SOLVELP_LOST = -3, //!< problem is feasible, but solver lost solution due to floating-point arithmetic errors + SOLVELP_UNBOUNDED = -2, //!< problem is unbounded (target function can achieve arbitrary high values) + SOLVELP_UNFEASIBLE = -1, //!< problem is unfeasible (there are no points that satisfy all the constraints imposed) + SOLVELP_SINGLE = 0, //!< there is only one maximum for target function + SOLVELP_MULTI = 1 //!< there are multiple maxima for target function - the arbitrary one is returned +}; + +/** @brief Solve given (non-integer) linear programming problem using the Simplex Algorithm (Simplex Method). + +What we mean here by "linear programming problem" (or LP problem, for short) can be formulated as: + +\f[\mbox{Maximize } c\cdot x\\ + \mbox{Subject to:}\\ + Ax\leq b\\ + x\geq 0\f] + +Where \f$c\f$ is fixed `1`-by-`n` row-vector, \f$A\f$ is fixed `m`-by-`n` matrix, \f$b\f$ is fixed `m`-by-`1` +column vector and \f$x\f$ is an arbitrary `n`-by-`1` column vector, which satisfies the constraints. + +Simplex algorithm is one of many algorithms that are designed to handle this sort of problems +efficiently. Although it is not optimal in theoretical sense (there exist algorithms that can solve +any problem written as above in polynomial time, while simplex method degenerates to exponential +time for some special cases), it is well-studied, easy to implement and is shown to work well for +real-life purposes. + +The particular implementation is taken almost verbatim from **Introduction to Algorithms, third +edition** by T. H. Cormen, C. E. Leiserson, R. L. Rivest and Clifford Stein. In particular, the +Bland's rule is used to prevent cycling. + +@param Func This row-vector corresponds to \f$c\f$ in the LP problem formulation (see above). It should +contain 32- or 64-bit floating point numbers. As a convenience, column-vector may be also submitted, +in the latter case it is understood to correspond to \f$c^T\f$. +@param Constr `m`-by-`n+1` matrix, whose rightmost column corresponds to \f$b\f$ in formulation above +and the remaining to \f$A\f$. It should contain 32- or 64-bit floating point numbers. +@param z The solution will be returned here as a column-vector - it corresponds to \f$c\f$ in the +formulation above. It will contain 64-bit floating point numbers. +@param constr_eps allowed numeric disparity for constraints +@return One of cv::SolveLPResult + */ +CV_EXPORTS_W int solveLP(InputArray Func, InputArray Constr, OutputArray z, double constr_eps); + +/** @overload */ +CV_EXPORTS_W int solveLP(InputArray Func, InputArray Constr, OutputArray z); + +//! @} + +}// cv + +#endif diff --git a/camera_lib/include/opencv2/core/ovx.hpp b/camera_lib/include/opencv2/core/ovx.hpp new file mode 100644 index 0000000..8bb7d54 --- /dev/null +++ b/camera_lib/include/opencv2/core/ovx.hpp @@ -0,0 +1,28 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +// Copyright (C) 2016, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. + +// OpenVX related definitions and declarations + +#pragma once +#ifndef OPENCV_OVX_HPP +#define OPENCV_OVX_HPP + +#include "cvdef.h" + +namespace cv +{ +/// Check if use of OpenVX is possible +CV_EXPORTS_W bool haveOpenVX(); + +/// Check if use of OpenVX is enabled +CV_EXPORTS_W bool useOpenVX(); + +/// Enable/disable use of OpenVX +CV_EXPORTS_W void setUseOpenVX(bool flag); +} // namespace cv + +#endif // OPENCV_OVX_HPP diff --git a/camera_lib/include/opencv2/core/persistence.hpp b/camera_lib/include/opencv2/core/persistence.hpp new file mode 100644 index 0000000..8e135d1 --- /dev/null +++ b/camera_lib/include/opencv2/core/persistence.hpp @@ -0,0 +1,1350 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_PERSISTENCE_HPP +#define OPENCV_CORE_PERSISTENCE_HPP + +#ifndef CV_DOXYGEN +/// Define to support persistence legacy formats +#define CV__LEGACY_PERSISTENCE +#endif + +#ifndef __cplusplus +# error persistence.hpp header must be compiled as C++ +#endif + +//! @addtogroup core_c +//! @{ + +/** @brief "black box" representation of the file storage associated with a file on disk. + +Several functions that are described below take CvFileStorage\* as inputs and allow the user to +save or to load hierarchical collections that consist of scalar values, standard CXCore objects +(such as matrices, sequences, graphs), and user-defined objects. + +OpenCV can read and write data in XML (), YAML () or +JSON () formats. Below is an example of 3x3 floating-point identity matrix A, +stored in XML and YAML files +using CXCore functions: +XML: +@code{.xml} + + + + 3 + 3 +
f
+ 1. 0. 0. 0. 1. 0. 0. 0. 1. +
+
+@endcode +YAML: +@code{.yaml} + %YAML:1.0 + A: !!opencv-matrix + rows: 3 + cols: 3 + dt: f + data: [ 1., 0., 0., 0., 1., 0., 0., 0., 1.] +@endcode +As it can be seen from the examples, XML uses nested tags to represent hierarchy, while YAML uses +indentation for that purpose (similar to the Python programming language). + +The same functions can read and write data in both formats; the particular format is determined by +the extension of the opened file, ".xml" for XML files, ".yml" or ".yaml" for YAML and ".json" for +JSON. + */ + +//! @} core_c + +#include "opencv2/core/types.hpp" +#include "opencv2/core/mat.hpp" + +namespace cv { + +/** @addtogroup core_xml + +XML/YAML/JSON file storages. {#xml_storage} +======================= +Writing to a file storage. +-------------------------- +You can store and then restore various OpenCV data structures to/from XML (), +YAML () or JSON () formats. Also, it is possible to store +and load arbitrarily complex data structures, which include OpenCV data structures, as well as +primitive data types (integer and floating-point numbers and text strings) as their elements. + +Use the following procedure to write something to XML, YAML or JSON: +-# Create new FileStorage and open it for writing. It can be done with a single call to +FileStorage::FileStorage constructor that takes a filename, or you can use the default constructor +and then call FileStorage::open. Format of the file (XML, YAML or JSON) is determined from the filename +extension (".xml", ".yml"/".yaml" and ".json", respectively) +-# Write all the data you want using the streaming operator `<<`, just like in the case of STL +streams. +-# Close the file using FileStorage::release. FileStorage destructor also closes the file. + +Here is an example: +@code + #include "opencv2/core.hpp" + #include + + using namespace cv; + + int main(int, char** argv) + { + FileStorage fs("test.yml", FileStorage::WRITE); + + fs << "frameCount" << 5; + time_t rawtime; time(&rawtime); + fs << "calibrationDate" << asctime(localtime(&rawtime)); + Mat cameraMatrix = (Mat_(3,3) << 1000, 0, 320, 0, 1000, 240, 0, 0, 1); + Mat distCoeffs = (Mat_(5,1) << 0.1, 0.01, -0.001, 0, 0); + fs << "cameraMatrix" << cameraMatrix << "distCoeffs" << distCoeffs; + fs << "features" << "["; + for( int i = 0; i < 3; i++ ) + { + int x = rand() % 640; + int y = rand() % 480; + uchar lbp = rand() % 256; + + fs << "{:" << "x" << x << "y" << y << "lbp" << "[:"; + for( int j = 0; j < 8; j++ ) + fs << ((lbp >> j) & 1); + fs << "]" << "}"; + } + fs << "]"; + fs.release(); + return 0; + } +@endcode +The sample above stores to YML an integer, a text string (calibration date), 2 matrices, and a custom +structure "feature", which includes feature coordinates and LBP (local binary pattern) value. Here +is output of the sample: +@code{.yaml} +%YAML:1.0 +frameCount: 5 +calibrationDate: "Fri Jun 17 14:09:29 2011\n" +cameraMatrix: !!opencv-matrix + rows: 3 + cols: 3 + dt: d + data: [ 1000., 0., 320., 0., 1000., 240., 0., 0., 1. ] +distCoeffs: !!opencv-matrix + rows: 5 + cols: 1 + dt: d + data: [ 1.0000000000000001e-01, 1.0000000000000000e-02, + -1.0000000000000000e-03, 0., 0. ] +features: + - { x:167, y:49, lbp:[ 1, 0, 0, 1, 1, 0, 1, 1 ] } + - { x:298, y:130, lbp:[ 0, 0, 0, 1, 0, 0, 1, 1 ] } + - { x:344, y:158, lbp:[ 1, 1, 0, 0, 0, 0, 1, 0 ] } +@endcode + +As an exercise, you can replace ".yml" with ".xml" or ".json" in the sample above and see, how the +corresponding XML file will look like. + +Several things can be noted by looking at the sample code and the output: + +- The produced YAML (and XML/JSON) consists of heterogeneous collections that can be nested. There are + 2 types of collections: named collections (mappings) and unnamed collections (sequences). In mappings + each element has a name and is accessed by name. This is similar to structures and std::map in + C/C++ and dictionaries in Python. In sequences elements do not have names, they are accessed by + indices. This is similar to arrays and std::vector in C/C++ and lists, tuples in Python. + "Heterogeneous" means that elements of each single collection can have different types. + + Top-level collection in YAML/XML/JSON is a mapping. Each matrix is stored as a mapping, and the matrix + elements are stored as a sequence. Then, there is a sequence of features, where each feature is + represented a mapping, and lbp value in a nested sequence. + +- When you write to a mapping (a structure), you write element name followed by its value. When you + write to a sequence, you simply write the elements one by one. OpenCV data structures (such as + cv::Mat) are written in absolutely the same way as simple C data structures - using `<<` + operator. + +- To write a mapping, you first write the special string `{` to the storage, then write the + elements as pairs (`fs << << `) and then write the closing + `}`. + +- To write a sequence, you first write the special string `[`, then write the elements, then + write the closing `]`. + +- In YAML/JSON (but not XML), mappings and sequences can be written in a compact Python-like inline + form. In the sample above matrix elements, as well as each feature, including its lbp value, is + stored in such inline form. To store a mapping/sequence in a compact form, put `:` after the + opening character, e.g. use `{:` instead of `{` and `[:` instead of `[`. When the + data is written to XML, those extra `:` are ignored. + +Reading data from a file storage. +--------------------------------- +To read the previously written XML, YAML or JSON file, do the following: +-# Open the file storage using FileStorage::FileStorage constructor or FileStorage::open method. + In the current implementation the whole file is parsed and the whole representation of file + storage is built in memory as a hierarchy of file nodes (see FileNode) + +-# Read the data you are interested in. Use FileStorage::operator [], FileNode::operator [] + and/or FileNodeIterator. + +-# Close the storage using FileStorage::release. + +Here is how to read the file created by the code sample above: +@code + FileStorage fs2("test.yml", FileStorage::READ); + + // first method: use (type) operator on FileNode. + int frameCount = (int)fs2["frameCount"]; + + String date; + // second method: use FileNode::operator >> + fs2["calibrationDate"] >> date; + + Mat cameraMatrix2, distCoeffs2; + fs2["cameraMatrix"] >> cameraMatrix2; + fs2["distCoeffs"] >> distCoeffs2; + + cout << "frameCount: " << frameCount << endl + << "calibration date: " << date << endl + << "camera matrix: " << cameraMatrix2 << endl + << "distortion coeffs: " << distCoeffs2 << endl; + + FileNode features = fs2["features"]; + FileNodeIterator it = features.begin(), it_end = features.end(); + int idx = 0; + std::vector lbpval; + + // iterate through a sequence using FileNodeIterator + for( ; it != it_end; ++it, idx++ ) + { + cout << "feature #" << idx << ": "; + cout << "x=" << (int)(*it)["x"] << ", y=" << (int)(*it)["y"] << ", lbp: ("; + // you can also easily read numerical arrays using FileNode >> std::vector operator. + (*it)["lbp"] >> lbpval; + for( int i = 0; i < (int)lbpval.size(); i++ ) + cout << " " << (int)lbpval[i]; + cout << ")" << endl; + } + fs2.release(); +@endcode + +Format specification {#format_spec} +-------------------- +`([count]{u|c|w|s|i|f|d})`... where the characters correspond to fundamental C++ types: +- `u` 8-bit unsigned number +- `c` 8-bit signed number +- `w` 16-bit unsigned number +- `s` 16-bit signed number +- `i` 32-bit signed number +- `f` single precision floating-point number +- `d` double precision floating-point number +- `r` pointer, 32 lower bits of which are written as a signed integer. The type can be used to + store structures with links between the elements. + +`count` is the optional counter of values of a given type. For example, `2if` means that each array +element is a structure of 2 integers, followed by a single-precision floating-point number. The +equivalent notations of the above specification are `iif`, `2i1f` and so forth. Other examples: `u` +means that the array consists of bytes, and `2d` means the array consists of pairs of doubles. + +@see @ref samples/cpp/filestorage.cpp +*/ + +//! @{ + +/** @example samples/cpp/filestorage.cpp +A complete example using the FileStorage interface +*/ + +////////////////////////// XML & YAML I/O ////////////////////////// + +class CV_EXPORTS FileNode; +class CV_EXPORTS FileNodeIterator; + +/** @brief XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or +reading data to/from a file. + */ +class CV_EXPORTS_W FileStorage +{ +public: + //! file storage mode + enum Mode + { + READ = 0, //!< value, open the file for reading + WRITE = 1, //!< value, open the file for writing + APPEND = 2, //!< value, open the file for appending + MEMORY = 4, /**< flag, read data from source or write data to the internal buffer (which is + returned by FileStorage::release) */ + FORMAT_MASK = (7<<3), //!< mask for format flags + FORMAT_AUTO = 0, //!< flag, auto format + FORMAT_XML = (1<<3), //!< flag, XML format + FORMAT_YAML = (2<<3), //!< flag, YAML format + FORMAT_JSON = (3<<3), //!< flag, JSON format + + BASE64 = 64, //!< flag, write rawdata in Base64 by default. (consider using WRITE_BASE64) + WRITE_BASE64 = BASE64 | WRITE, //!< flag, enable both WRITE and BASE64 + }; + enum State + { + UNDEFINED = 0, + VALUE_EXPECTED = 1, + NAME_EXPECTED = 2, + INSIDE_MAP = 4 + }; + + /** @brief The constructors. + + The full constructor opens the file. Alternatively you can use the default constructor and then + call FileStorage::open. + */ + CV_WRAP FileStorage(); + + /** @overload + @copydoc open() + */ + CV_WRAP FileStorage(const String& filename, int flags, const String& encoding=String()); + + //! the destructor. calls release() + virtual ~FileStorage(); + + /** @brief Opens a file. + + See description of parameters in FileStorage::FileStorage. The method calls FileStorage::release + before opening the file. + @param filename Name of the file to open or the text string to read the data from. + Extension of the file (.xml, .yml/.yaml or .json) determines its format (XML, YAML or JSON + respectively). Also you can append .gz to work with compressed files, for example myHugeMatrix.xml.gz. If both + FileStorage::WRITE and FileStorage::MEMORY flags are specified, source is used just to specify + the output file format (e.g. mydata.xml, .yml etc.). A file name can also contain parameters. + You can use this format, "*?base64" (e.g. "file.json?base64" (case sensitive)), as an alternative to + FileStorage::BASE64 flag. + @param flags Mode of operation. One of FileStorage::Mode + @param encoding Encoding of the file. Note that UTF-16 XML encoding is not supported currently and + you should use 8-bit encoding instead of it. + */ + CV_WRAP virtual bool open(const String& filename, int flags, const String& encoding=String()); + + /** @brief Checks whether the file is opened. + + @returns true if the object is associated with the current file and false otherwise. It is a + good practice to call this method after you tried to open a file. + */ + CV_WRAP virtual bool isOpened() const; + + /** @brief Closes the file and releases all the memory buffers. + + Call this method after all I/O operations with the storage are finished. + */ + CV_WRAP virtual void release(); + + /** @brief Closes the file and releases all the memory buffers. + + Call this method after all I/O operations with the storage are finished. If the storage was + opened for writing data and FileStorage::WRITE was specified + */ + CV_WRAP virtual String releaseAndGetString(); + + /** @brief Returns the first element of the top-level mapping. + @returns The first element of the top-level mapping. + */ + CV_WRAP FileNode getFirstTopLevelNode() const; + + /** @brief Returns the top-level mapping + @param streamidx Zero-based index of the stream. In most cases there is only one stream in the file. + However, YAML supports multiple streams and so there can be several. + @returns The top-level mapping. + */ + CV_WRAP FileNode root(int streamidx=0) const; + + /** @brief Returns the specified element of the top-level mapping. + @param nodename Name of the file node. + @returns Node with the given name. + */ + FileNode operator[](const String& nodename) const; + + /** @overload */ + CV_WRAP_AS(getNode) FileNode operator[](const char* nodename) const; + + /** + * @brief Simplified writing API to use with bindings. + * @param name Name of the written object. When writing to sequences (a.k.a. "arrays"), pass an empty string. + * @param val Value of the written object. + */ + CV_WRAP void write(const String& name, int val); + /// @overload + CV_WRAP void write(const String& name, double val); + /// @overload + CV_WRAP void write(const String& name, const String& val); + /// @overload + CV_WRAP void write(const String& name, const Mat& val); + /// @overload + CV_WRAP void write(const String& name, const std::vector& val); + + /** @brief Writes multiple numbers. + + Writes one or more numbers of the specified format to the currently written structure. Usually it is + more convenient to use operator `<<` instead of this method. + @param fmt Specification of each array element, see @ref format_spec "format specification" + @param vec Pointer to the written array. + @param len Number of the uchar elements to write. + */ + void writeRaw( const String& fmt, const void* vec, size_t len ); + + /** @brief Writes a comment. + + The function writes a comment into file storage. The comments are skipped when the storage is read. + @param comment The written comment, single-line or multi-line + @param append If true, the function tries to put the comment at the end of current line. + Else if the comment is multi-line, or if it does not fit at the end of the current + line, the comment starts a new line. + */ + CV_WRAP void writeComment(const String& comment, bool append = false); + + /** @brief Starts to write a nested structure (sequence or a mapping). + @param name name of the structure. When writing to sequences (a.k.a. "arrays"), pass an empty string. + @param flags type of the structure (FileNode::MAP or FileNode::SEQ (both with optional FileNode::FLOW)). + @param typeName optional name of the type you store. The effect of setting this depends on the storage format. + I.e. if the format has a specification for storing type information, this parameter is used. + */ + CV_WRAP void startWriteStruct(const String& name, int flags, const String& typeName=String()); + + /** @brief Finishes writing nested structure (should pair startWriteStruct()) + */ + CV_WRAP void endWriteStruct(); + + /** @brief Returns the normalized object name for the specified name of a file. + @param filename Name of a file + @returns The normalized object name. + */ + static String getDefaultObjectName(const String& filename); + + /** @brief Returns the current format. + * @returns The current format, see FileStorage::Mode + */ + CV_WRAP int getFormat() const; + + int state; + std::string elname; + + class Impl; + Ptr p; +}; + +/** @brief File Storage Node class. + +The node is used to store each and every element of the file storage opened for reading. When +XML/YAML file is read, it is first parsed and stored in the memory as a hierarchical collection of +nodes. Each node can be a "leaf" that is contain a single number or a string, or be a collection of +other nodes. There can be named collections (mappings) where each element has a name and it is +accessed by a name, and ordered collections (sequences) where elements do not have names but rather +accessed by index. Type of the file node can be determined using FileNode::type method. + +Note that file nodes are only used for navigating file storages opened for reading. When a file +storage is opened for writing, no data is stored in memory after it is written. + */ +class CV_EXPORTS_W_SIMPLE FileNode +{ +public: + //! type of the file storage node + enum + { + NONE = 0, //!< empty node + INT = 1, //!< an integer + REAL = 2, //!< floating-point number + FLOAT = REAL, //!< synonym or REAL + STR = 3, //!< text string in UTF-8 encoding + STRING = STR, //!< synonym for STR + SEQ = 4, //!< sequence + MAP = 5, //!< mapping + TYPE_MASK = 7, + + FLOW = 8, //!< compact representation of a sequence or mapping. Used only by YAML writer + UNIFORM = 8, //!< if set, means that all the collection elements are numbers of the same type (real's or int's). + //!< UNIFORM is used only when reading FileStorage; FLOW is used only when writing. So they share the same bit + EMPTY = 16, //!< empty structure (sequence or mapping) + NAMED = 32 //!< the node has a name (i.e. it is element of a mapping). + }; + /** @brief The constructors. + + These constructors are used to create a default file node, construct it from obsolete structures or + from the another file node. + */ + CV_WRAP FileNode(); + + /** @overload + @param fs Pointer to the file storage structure. + @param blockIdx Index of the memory block where the file node is stored + @param ofs Offset in bytes from the beginning of the serialized storage + + @deprecated + */ + FileNode(const FileStorage* fs, size_t blockIdx, size_t ofs); + + /** @overload + @param node File node to be used as initialization for the created file node. + */ + FileNode(const FileNode& node); + + FileNode& operator=(const FileNode& node); + + /** @brief Returns element of a mapping node or a sequence node. + @param nodename Name of an element in the mapping node. + @returns Returns the element with the given identifier. + */ + FileNode operator[](const String& nodename) const; + + /** @overload + @param nodename Name of an element in the mapping node. + */ + CV_WRAP_AS(getNode) FileNode operator[](const char* nodename) const; + + /** @overload + @param i Index of an element in the sequence node. + */ + CV_WRAP_AS(at) FileNode operator[](int i) const; + + /** @brief Returns keys of a mapping node. + @returns Keys of a mapping node. + */ + CV_WRAP std::vector keys() const; + + /** @brief Returns type of the node. + @returns Type of the node. See FileNode::Type + */ + CV_WRAP int type() const; + + //! returns true if the node is empty + CV_WRAP bool empty() const; + //! returns true if the node is a "none" object + CV_WRAP bool isNone() const; + //! returns true if the node is a sequence + CV_WRAP bool isSeq() const; + //! returns true if the node is a mapping + CV_WRAP bool isMap() const; + //! returns true if the node is an integer + CV_WRAP bool isInt() const; + //! returns true if the node is a floating-point number + CV_WRAP bool isReal() const; + //! returns true if the node is a text string + CV_WRAP bool isString() const; + //! returns true if the node has a name + CV_WRAP bool isNamed() const; + //! returns the node name or an empty string if the node is nameless + CV_WRAP std::string name() const; + //! returns the number of elements in the node, if it is a sequence or mapping, or 1 otherwise. + CV_WRAP size_t size() const; + //! returns raw size of the FileNode in bytes + CV_WRAP size_t rawSize() const; + //! returns the node content as an integer. If the node stores floating-point number, it is rounded. + operator int() const; + //! returns the node content as float + operator float() const; + //! returns the node content as double + operator double() const; + //! returns the node content as text string + inline operator std::string() const { return this->string(); } + + static bool isMap(int flags); + static bool isSeq(int flags); + static bool isCollection(int flags); + static bool isEmptyCollection(int flags); + static bool isFlow(int flags); + + uchar* ptr(); + const uchar* ptr() const; + + //! returns iterator pointing to the first node element + FileNodeIterator begin() const; + //! returns iterator pointing to the element following the last node element + FileNodeIterator end() const; + + /** @brief Reads node elements to the buffer with the specified format. + + Usually it is more convenient to use operator `>>` instead of this method. + @param fmt Specification of each array element. See @ref format_spec "format specification" + @param vec Pointer to the destination array. + @param len Number of bytes to read (buffer size limit). If it is greater than number of + remaining elements then all of them will be read. + */ + void readRaw( const String& fmt, void* vec, size_t len ) const; + + /** Internal method used when reading FileStorage. + Sets the type (int, real or string) and value of the previously created node. + */ + void setValue( int type, const void* value, int len=-1 ); + + //! Simplified reading API to use with bindings. + CV_WRAP double real() const; + //! Simplified reading API to use with bindings. + CV_WRAP std::string string() const; + //! Simplified reading API to use with bindings. + CV_WRAP Mat mat() const; + + //protected: + FileNode(FileStorage::Impl* fs, size_t blockIdx, size_t ofs); + + FileStorage::Impl* fs; + size_t blockIdx; + size_t ofs; +}; + + +/** @brief used to iterate through sequences and mappings. + + A standard STL notation, with node.begin(), node.end() denoting the beginning and the end of a + sequence, stored in node. See the data reading sample in the beginning of the section. + */ +class CV_EXPORTS FileNodeIterator +{ +public: + /** @brief The constructors. + + These constructors are used to create a default iterator, set it to specific element in a file node + or construct it from another iterator. + */ + FileNodeIterator(); + + /** @overload + @param node File node - the collection to iterate over; + it can be a scalar (equivalent to 1-element collection) or "none" (equivalent to empty collection). + @param seekEnd - true if iterator needs to be set after the last element of the node; + that is: + * node.begin() => FileNodeIterator(node, false) + * node.end() => FileNodeIterator(node, true) + */ + FileNodeIterator(const FileNode& node, bool seekEnd); + + /** @overload + @param it Iterator to be used as initialization for the created iterator. + */ + FileNodeIterator(const FileNodeIterator& it); + + FileNodeIterator& operator=(const FileNodeIterator& it); + + //! returns the currently observed element + FileNode operator *() const; + + //! moves iterator to the next node + FileNodeIterator& operator ++ (); + //! moves iterator to the next node + FileNodeIterator operator ++ (int); + //! moves iterator forward by the specified offset (possibly negative) + FileNodeIterator& operator += (int ofs); + + /** @brief Reads node elements to the buffer with the specified format. + + Usually it is more convenient to use operator `>>` instead of this method. + @param fmt Specification of each array element. See @ref format_spec "format specification" + @param vec Pointer to the destination array. + @param len Number of bytes to read (buffer size limit). If it is greater than number of + remaining elements then all of them will be read. + */ + FileNodeIterator& readRaw( const String& fmt, void* vec, + size_t len=(size_t)INT_MAX ); + + //! returns the number of remaining (not read yet) elements + size_t remaining() const; + + bool equalTo(const FileNodeIterator& it) const; + +protected: + FileStorage::Impl* fs; + size_t blockIdx; + size_t ofs; + size_t blockSize; + size_t nodeNElems; + size_t idx; +}; + +//! @} core_xml + +/////////////////// XML & YAML I/O implementation ////////////////// + +//! @relates cv::FileStorage +//! @{ + +CV_EXPORTS void write( FileStorage& fs, const String& name, int value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, float value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, double value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, const String& value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, const Mat& value ); +CV_EXPORTS void write( FileStorage& fs, const String& name, const SparseMat& value ); +#ifdef CV__LEGACY_PERSISTENCE +CV_EXPORTS void write( FileStorage& fs, const String& name, const std::vector& value); +CV_EXPORTS void write( FileStorage& fs, const String& name, const std::vector& value); +#endif + +CV_EXPORTS void writeScalar( FileStorage& fs, int value ); +CV_EXPORTS void writeScalar( FileStorage& fs, float value ); +CV_EXPORTS void writeScalar( FileStorage& fs, double value ); +CV_EXPORTS void writeScalar( FileStorage& fs, const String& value ); + +//! @} + +//! @relates cv::FileNode +//! @{ + +CV_EXPORTS void read(const FileNode& node, int& value, int default_value); +CV_EXPORTS void read(const FileNode& node, float& value, float default_value); +CV_EXPORTS void read(const FileNode& node, double& value, double default_value); +CV_EXPORTS void read(const FileNode& node, std::string& value, const std::string& default_value); +CV_EXPORTS void read(const FileNode& node, Mat& mat, const Mat& default_mat = Mat() ); +CV_EXPORTS void read(const FileNode& node, SparseMat& mat, const SparseMat& default_mat = SparseMat() ); +#ifdef CV__LEGACY_PERSISTENCE +CV_EXPORTS void read(const FileNode& node, std::vector& keypoints); +CV_EXPORTS void read(const FileNode& node, std::vector& matches); +#endif +CV_EXPORTS void read(const FileNode& node, KeyPoint& value, const KeyPoint& default_value); +CV_EXPORTS void read(const FileNode& node, DMatch& value, const DMatch& default_value); + +template static inline void read(const FileNode& node, Point_<_Tp>& value, const Point_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 2 ? default_value : Point_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1])); +} + +template static inline void read(const FileNode& node, Point3_<_Tp>& value, const Point3_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 3 ? default_value : Point3_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1]), + saturate_cast<_Tp>(temp[2])); +} + +template static inline void read(const FileNode& node, Size_<_Tp>& value, const Size_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 2 ? default_value : Size_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1])); +} + +template static inline void read(const FileNode& node, Complex<_Tp>& value, const Complex<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 2 ? default_value : Complex<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1])); +} + +template static inline void read(const FileNode& node, Rect_<_Tp>& value, const Rect_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 4 ? default_value : Rect_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1]), + saturate_cast<_Tp>(temp[2]), saturate_cast<_Tp>(temp[3])); +} + +template static inline void read(const FileNode& node, Vec<_Tp, cn>& value, const Vec<_Tp, cn>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != cn ? default_value : Vec<_Tp, cn>(&temp[0]); +} + +template static inline void read(const FileNode& node, Matx<_Tp, m, n>& value, const Matx<_Tp, m, n>& default_matx = Matx<_Tp, m, n>()) +{ + Mat temp; + read(node, temp); // read as a Mat class + + if (temp.empty()) + value = default_matx; + else + value = Matx<_Tp, m, n>(temp); +} + +template static inline void read(const FileNode& node, Scalar_<_Tp>& value, const Scalar_<_Tp>& default_value) +{ + std::vector<_Tp> temp; FileNodeIterator it = node.begin(); it >> temp; + value = temp.size() != 4 ? default_value : Scalar_<_Tp>(saturate_cast<_Tp>(temp[0]), saturate_cast<_Tp>(temp[1]), + saturate_cast<_Tp>(temp[2]), saturate_cast<_Tp>(temp[3])); +} + +static inline void read(const FileNode& node, Range& value, const Range& default_value) +{ + Point2i temp(value.start, value.end); const Point2i default_temp = Point2i(default_value.start, default_value.end); + read(node, temp, default_temp); + value.start = temp.x; value.end = temp.y; +} + +//! @} + +/** @brief Writes string to a file storage. +@relates cv::FileStorage + */ +CV_EXPORTS FileStorage& operator << (FileStorage& fs, const String& str); + +//! @cond IGNORED + +namespace internal +{ + class CV_EXPORTS WriteStructContext + { + public: + WriteStructContext(FileStorage& _fs, const String& name, int flags, const String& typeName = String()); + ~WriteStructContext(); + private: + FileStorage* fs; + }; + + template class VecWriterProxy + { + public: + VecWriterProxy( FileStorage* _fs ) : fs(_fs) {} + void operator()(const std::vector<_Tp>& vec) const + { + size_t count = vec.size(); + for (size_t i = 0; i < count; i++) + write(*fs, vec[i]); + } + private: + FileStorage* fs; + }; + + template class VecWriterProxy<_Tp, 1> + { + public: + VecWriterProxy( FileStorage* _fs ) : fs(_fs) {} + void operator()(const std::vector<_Tp>& vec) const + { + int _fmt = traits::SafeFmt<_Tp>::fmt; + char fmt[] = { (char)((_fmt >> 8) + '1'), (char)_fmt, '\0' }; + fs->writeRaw(fmt, !vec.empty() ? (uchar*)&vec[0] : 0, vec.size() * sizeof(_Tp)); + } + private: + FileStorage* fs; + }; + + template class VecReaderProxy + { + public: + VecReaderProxy( FileNodeIterator* _it ) : it(_it) {} + void operator()(std::vector<_Tp>& vec, size_t count) const + { + count = std::min(count, it->remaining()); + vec.resize(count); + for (size_t i = 0; i < count; i++, ++(*it)) + read(**it, vec[i], _Tp()); + } + private: + FileNodeIterator* it; + }; + + template class VecReaderProxy<_Tp, 1> + { + public: + VecReaderProxy( FileNodeIterator* _it ) : it(_it) {} + void operator()(std::vector<_Tp>& vec, size_t count) const + { + size_t remaining = it->remaining(); + size_t cn = DataType<_Tp>::channels; + int _fmt = traits::SafeFmt<_Tp>::fmt; + CV_Assert((_fmt >> 8) < 9); + char fmt[] = { (char)((_fmt >> 8)+'1'), (char)_fmt, '\0' }; + CV_Assert((remaining % cn) == 0); + size_t remaining1 = remaining / cn; + count = count > remaining1 ? remaining1 : count; + vec.resize(count); + it->readRaw(fmt, !vec.empty() ? (uchar*)&vec[0] : 0, count*sizeof(_Tp)); + } + private: + FileNodeIterator* it; + }; + +} // internal + +//! @endcond + +//! @relates cv::FileStorage +//! @{ + +template static inline +void write(FileStorage& fs, const _Tp& value) +{ + write(fs, String(), value); +} + +template<> inline +void write( FileStorage& fs, const int& value ) +{ + writeScalar(fs, value); +} + +template<> inline +void write( FileStorage& fs, const float& value ) +{ + writeScalar(fs, value); +} + +template<> inline +void write( FileStorage& fs, const double& value ) +{ + writeScalar(fs, value); +} + +template<> inline +void write( FileStorage& fs, const String& value ) +{ + writeScalar(fs, value); +} + +template static inline +void write(FileStorage& fs, const Point_<_Tp>& pt ) +{ + write(fs, pt.x); + write(fs, pt.y); +} + +template static inline +void write(FileStorage& fs, const Point3_<_Tp>& pt ) +{ + write(fs, pt.x); + write(fs, pt.y); + write(fs, pt.z); +} + +template static inline +void write(FileStorage& fs, const Size_<_Tp>& sz ) +{ + write(fs, sz.width); + write(fs, sz.height); +} + +template static inline +void write(FileStorage& fs, const Complex<_Tp>& c ) +{ + write(fs, c.re); + write(fs, c.im); +} + +template static inline +void write(FileStorage& fs, const Rect_<_Tp>& r ) +{ + write(fs, r.x); + write(fs, r.y); + write(fs, r.width); + write(fs, r.height); +} + +template static inline +void write(FileStorage& fs, const Vec<_Tp, cn>& v ) +{ + for(int i = 0; i < cn; i++) + write(fs, v.val[i]); +} + +template static inline +void write(FileStorage& fs, const Matx<_Tp, m, n>& x ) +{ + write(fs, Mat(x)); // write as a Mat class +} + +template static inline +void write(FileStorage& fs, const Scalar_<_Tp>& s ) +{ + write(fs, s.val[0]); + write(fs, s.val[1]); + write(fs, s.val[2]); + write(fs, s.val[3]); +} + +static inline +void write(FileStorage& fs, const Range& r ) +{ + write(fs, r.start); + write(fs, r.end); +} + +template static inline +void write( FileStorage& fs, const std::vector<_Tp>& vec ) +{ + cv::internal::VecWriterProxy<_Tp, traits::SafeFmt<_Tp>::fmt != 0> w(&fs); + w(vec); +} + +template static inline +void write(FileStorage& fs, const String& name, const Point_<_Tp>& pt ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, pt); +} + +template static inline +void write(FileStorage& fs, const String& name, const Point3_<_Tp>& pt ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, pt); +} + +template static inline +void write(FileStorage& fs, const String& name, const Size_<_Tp>& sz ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, sz); +} + +template static inline +void write(FileStorage& fs, const String& name, const Complex<_Tp>& c ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, c); +} + +template static inline +void write(FileStorage& fs, const String& name, const Rect_<_Tp>& r ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, r); +} + +template static inline +void write(FileStorage& fs, const String& name, const Vec<_Tp, cn>& v ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, v); +} + +template static inline +void write(FileStorage& fs, const String& name, const Matx<_Tp, m, n>& x ) +{ + write(fs, name, Mat(x)); // write as a Mat class +} + +template static inline +void write(FileStorage& fs, const String& name, const Scalar_<_Tp>& s ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, s); +} + +static inline +void write(FileStorage& fs, const String& name, const Range& r ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, r); +} + +static inline +void write(FileStorage& fs, const String& name, const KeyPoint& kpt) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, kpt.pt.x); + write(fs, kpt.pt.y); + write(fs, kpt.size); + write(fs, kpt.angle); + write(fs, kpt.response); + write(fs, kpt.octave); + write(fs, kpt.class_id); +} + +static inline +void write(FileStorage& fs, const String& name, const DMatch& m) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+FileNode::FLOW); + write(fs, m.queryIdx); + write(fs, m.trainIdx); + write(fs, m.imgIdx); + write(fs, m.distance); +} + +template::value >::type* = nullptr> +static inline void write( FileStorage& fs, const String& name, const _Tp& val ) +{ + write(fs, name, static_cast(val)); +} + +template static inline +void write( FileStorage& fs, const String& name, const std::vector<_Tp>& vec ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ+(traits::SafeFmt<_Tp>::fmt != 0 ? FileNode::FLOW : 0)); + write(fs, vec); +} + +template static inline +void write( FileStorage& fs, const String& name, const std::vector< std::vector<_Tp> >& vec ) +{ + cv::internal::WriteStructContext ws(fs, name, FileNode::SEQ); + for(size_t i = 0; i < vec.size(); i++) + { + cv::internal::WriteStructContext ws_(fs, name, FileNode::SEQ+(traits::SafeFmt<_Tp>::fmt != 0 ? FileNode::FLOW : 0)); + write(fs, vec[i]); + } +} + +#ifdef CV__LEGACY_PERSISTENCE +// This code is not needed anymore, but it is preserved here to keep source compatibility +// Implementation is similar to templates instantiations +static inline void write(FileStorage& fs, const KeyPoint& kpt) { write(fs, String(), kpt); } +static inline void write(FileStorage& fs, const DMatch& m) { write(fs, String(), m); } +static inline void write(FileStorage& fs, const std::vector& vec) +{ + cv::internal::VecWriterProxy w(&fs); + w(vec); +} +static inline void write(FileStorage& fs, const std::vector& vec) +{ + cv::internal::VecWriterProxy w(&fs); + w(vec); + +} +#endif + +//! @} FileStorage + +//! @relates cv::FileNode +//! @{ + +static inline +void read(const FileNode& node, bool& value, bool default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = temp != 0; +} + +static inline +void read(const FileNode& node, uchar& value, uchar default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +static inline +void read(const FileNode& node, schar& value, schar default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +static inline +void read(const FileNode& node, ushort& value, ushort default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +static inline +void read(const FileNode& node, short& value, short default_value) +{ + int temp; + read(node, temp, (int)default_value); + value = saturate_cast(temp); +} + +template static inline +void read( FileNodeIterator& it, std::vector<_Tp>& vec, size_t maxCount = (size_t)INT_MAX ) +{ + cv::internal::VecReaderProxy<_Tp, traits::SafeFmt<_Tp>::fmt != 0> r(&it); + r(vec, maxCount); +} + +template::value >::type* = nullptr> +static inline void read(const FileNode& node, _Tp& value, const _Tp& default_value = static_cast<_Tp>(0)) +{ + int temp; + read(node, temp, static_cast(default_value)); + value = static_cast<_Tp>(temp); +} + +template static inline +void read( const FileNode& node, std::vector<_Tp>& vec, const std::vector<_Tp>& default_value = std::vector<_Tp>() ) +{ + if(node.empty()) + vec = default_value; + else + { + FileNodeIterator it = node.begin(); + read( it, vec ); + } +} + +static inline +void read( const FileNode& node, std::vector& vec, const std::vector& default_value ) +{ + if(node.empty()) + vec = default_value; + else + read(node, vec); +} + +static inline +void read( const FileNode& node, std::vector& vec, const std::vector& default_value ) +{ + if(node.empty()) + vec = default_value; + else + read(node, vec); +} + +//! @} FileNode + +//! @relates cv::FileStorage +//! @{ + +/** @brief Writes data to a file storage. + */ +template static inline +FileStorage& operator << (FileStorage& fs, const _Tp& value) +{ + if( !fs.isOpened() ) + return fs; + if( fs.state == FileStorage::NAME_EXPECTED + FileStorage::INSIDE_MAP ) + CV_Error( Error::StsError, "No element name has been given" ); + write( fs, fs.elname, value ); + if( fs.state & FileStorage::INSIDE_MAP ) + fs.state = FileStorage::NAME_EXPECTED + FileStorage::INSIDE_MAP; + return fs; +} + +/** @brief Writes data to a file storage. + */ +static inline +FileStorage& operator << (FileStorage& fs, const char* str) +{ + return (fs << String(str)); +} + +/** @brief Writes data to a file storage. + */ +static inline +FileStorage& operator << (FileStorage& fs, char* value) +{ + return (fs << String(value)); +} + +//! @} FileStorage + +//! @relates cv::FileNodeIterator +//! @{ + +/** @brief Reads data from a file storage. + */ +template static inline +FileNodeIterator& operator >> (FileNodeIterator& it, _Tp& value) +{ + read( *it, value, _Tp()); + return ++it; +} + +/** @brief Reads data from a file storage. + */ +template static inline +FileNodeIterator& operator >> (FileNodeIterator& it, std::vector<_Tp>& vec) +{ + cv::internal::VecReaderProxy<_Tp, traits::SafeFmt<_Tp>::fmt != 0> r(&it); + r(vec, (size_t)INT_MAX); + return it; +} + +//! @} FileNodeIterator + +//! @relates cv::FileNode +//! @{ + +/** @brief Reads data from a file storage. + */ +template static inline +void operator >> (const FileNode& n, _Tp& value) +{ + read( n, value, _Tp()); +} + +/** @brief Reads data from a file storage. + */ +template static inline +void operator >> (const FileNode& n, std::vector<_Tp>& vec) +{ + FileNodeIterator it = n.begin(); + it >> vec; +} + +/** @brief Reads KeyPoint from a file storage. +*/ +//It needs special handling because it contains two types of fields, int & float. +static inline +void operator >> (const FileNode& n, KeyPoint& kpt) +{ + FileNodeIterator it = n.begin(); + it >> kpt.pt.x >> kpt.pt.y >> kpt.size >> kpt.angle >> kpt.response >> kpt.octave >> kpt.class_id; +} + +#ifdef CV__LEGACY_PERSISTENCE +static inline +void operator >> (const FileNode& n, std::vector& vec) +{ + read(n, vec); +} +static inline +void operator >> (const FileNode& n, std::vector& vec) +{ + read(n, vec); +} +#endif + +/** @brief Reads DMatch from a file storage. +*/ +//It needs special handling because it contains two types of fields, int & float. +static inline +void operator >> (const FileNode& n, DMatch& m) +{ + FileNodeIterator it = n.begin(); + it >> m.queryIdx >> m.trainIdx >> m.imgIdx >> m.distance; +} + +//! @} FileNode + +//! @relates cv::FileNodeIterator +//! @{ + +CV_EXPORTS bool operator == (const FileNodeIterator& it1, const FileNodeIterator& it2); +CV_EXPORTS bool operator != (const FileNodeIterator& it1, const FileNodeIterator& it2); + +static inline +ptrdiff_t operator - (const FileNodeIterator& it1, const FileNodeIterator& it2) +{ + return it2.remaining() - it1.remaining(); +} + +static inline +bool operator < (const FileNodeIterator& it1, const FileNodeIterator& it2) +{ + return it1.remaining() > it2.remaining(); +} + +//! @} FileNodeIterator + +} // cv + +#endif // OPENCV_CORE_PERSISTENCE_HPP diff --git a/camera_lib/include/opencv2/core/private.cuda.hpp b/camera_lib/include/opencv2/core/private.cuda.hpp new file mode 100644 index 0000000..36edd8a --- /dev/null +++ b/camera_lib/include/opencv2/core/private.cuda.hpp @@ -0,0 +1,169 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_PRIVATE_CUDA_HPP +#define OPENCV_CORE_PRIVATE_CUDA_HPP + +#ifndef __OPENCV_BUILD +# error this is a private header which should not be used from outside of the OpenCV library +#endif + +#include "cvconfig.h" + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/base.hpp" + +#include "opencv2/core/cuda.hpp" + +#ifdef HAVE_CUDA +# include +# include +# if defined(__CUDACC_VER_MAJOR__) && (8 <= __CUDACC_VER_MAJOR__) +# if defined (__GNUC__) && !defined(__CUDACC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wstrict-aliasing" +# include +# pragma GCC diagnostic pop +# else +# include +# endif +# endif // defined(__CUDACC_VER_MAJOR__) && (8 <= __CUDACC_VER_MAJOR__) +# include +# include "opencv2/core/cuda_stream_accessor.hpp" +# include "opencv2/core/cuda/common.hpp" + +# ifndef NPP_VERSION +# define NPP_VERSION (NPP_VERSION_MAJOR * 1000 + NPP_VERSION_MINOR * 100 + NPP_VERSION_BUILD) +# endif + +# define CUDART_MINIMUM_REQUIRED_VERSION 6050 + +# if (CUDART_VERSION < CUDART_MINIMUM_REQUIRED_VERSION) +# error "Insufficient Cuda Runtime library version, please update it." +# endif + +#endif + +//! @cond IGNORED + +namespace cv { namespace cuda { + CV_EXPORTS cv::String getNppErrorMessage(int code); + CV_EXPORTS cv::String getCudaDriverApiErrorMessage(int code); + + CV_EXPORTS GpuMat getInputMat(InputArray _src, Stream& stream); + + CV_EXPORTS GpuMat getOutputMat(OutputArray _dst, int rows, int cols, int type, Stream& stream); + static inline GpuMat getOutputMat(OutputArray _dst, Size size, int type, Stream& stream) + { + return getOutputMat(_dst, size.height, size.width, type, stream); + } + + CV_EXPORTS void syncOutput(const GpuMat& dst, OutputArray _dst, Stream& stream); +}} + +#ifndef HAVE_CUDA + +static inline CV_NORETURN void throw_no_cuda() { CV_Error(cv::Error::GpuNotSupported, "The library is compiled without CUDA support"); } + +#else // HAVE_CUDA + +#define nppSafeSetStream(oldStream, newStream) { if(oldStream != newStream) { cudaStreamSynchronize(oldStream); nppSetStream(newStream); } } + +static inline CV_NORETURN void throw_no_cuda() { CV_Error(cv::Error::StsNotImplemented, "The called functionality is disabled for current build or platform"); } + +namespace cv { namespace cuda +{ + static inline void checkNppError(int code, const char* file, const int line, const char* func) + { + if (code < 0) + cv::error(cv::Error::GpuApiCallError, getNppErrorMessage(code), func, file, line); + } + + static inline void checkCudaDriverApiError(int code, const char* file, const int line, const char* func) + { + if (code != CUDA_SUCCESS) + cv::error(cv::Error::GpuApiCallError, getCudaDriverApiErrorMessage(code), func, file, line); + } + + template struct NPPTypeTraits; + template<> struct NPPTypeTraits { typedef Npp8u npp_type; }; + template<> struct NPPTypeTraits { typedef Npp8s npp_type; }; + template<> struct NPPTypeTraits { typedef Npp16u npp_type; }; + template<> struct NPPTypeTraits { typedef Npp16s npp_type; }; + template<> struct NPPTypeTraits { typedef Npp32s npp_type; }; + template<> struct NPPTypeTraits { typedef Npp32f npp_type; }; + template<> struct NPPTypeTraits { typedef Npp64f npp_type; }; + + class NppStreamHandler + { + public: + inline explicit NppStreamHandler(Stream& newStream) + { + oldStream = nppGetStream(); + nppSafeSetStream(oldStream, StreamAccessor::getStream(newStream)); + } + + inline explicit NppStreamHandler(cudaStream_t newStream) + { + oldStream = nppGetStream(); + nppSafeSetStream(oldStream, newStream); + } + + inline ~NppStreamHandler() + { + nppSafeSetStream(nppGetStream(), oldStream); + } + + private: + cudaStream_t oldStream; + }; +}} + +#define nppSafeCall(expr) cv::cuda::checkNppError(expr, __FILE__, __LINE__, CV_Func) +#define cuSafeCall(expr) cv::cuda::checkCudaDriverApiError(expr, __FILE__, __LINE__, CV_Func) + +#endif // HAVE_CUDA + +//! @endcond + +#endif // OPENCV_CORE_PRIVATE_CUDA_HPP diff --git a/camera_lib/include/opencv2/core/private.hpp b/camera_lib/include/opencv2/core/private.hpp new file mode 100644 index 0000000..02ac1ba --- /dev/null +++ b/camera_lib/include/opencv2/core/private.hpp @@ -0,0 +1,903 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_PRIVATE_HPP +#define OPENCV_CORE_PRIVATE_HPP + +#ifndef __OPENCV_BUILD +# error this is a private header which should not be used from outside of the OpenCV library +#endif + +#include "opencv2/core.hpp" +#include "cvconfig.h" + +#include + +#ifdef ENABLE_INSTRUMENTATION +#include "opencv2/core/utils/instrumentation.hpp" +#endif + +#ifdef HAVE_EIGEN +# if defined __GNUC__ && defined __APPLE__ +# pragma GCC diagnostic ignored "-Wshadow" +# endif +# if defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable:4701) // potentially uninitialized local variable +# pragma warning(disable:4702) // unreachable code +# pragma warning(disable:4714) // const marked as __forceinline not inlined +# endif +# include +# if defined(_MSC_VER) +# pragma warning(pop) +# endif +# include "opencv2/core/eigen.hpp" +#endif + +//! @cond IGNORED + +namespace cv +{ + class BlockedRange + { + public: + BlockedRange() : _begin(0), _end(0), _grainsize(0) {} + BlockedRange(int b, int e, int g=1) : _begin(b), _end(e), _grainsize(g) {} + int begin() const { return _begin; } + int end() const { return _end; } + int grainsize() const { return _grainsize; } + + protected: + int _begin, _end, _grainsize; + }; + + template static inline + void parallel_for( const BlockedRange& range, const Body& body ) + { + body(range); + } + typedef std::vector ConcurrentRectVector; + + class Split {}; + + template static inline + void parallel_reduce( const BlockedRange& range, Body& body ) + { + body(range); + } + + // Returns a static string if there is a parallel framework, + // NULL otherwise. + CV_EXPORTS const char* currentParallelFramework(); +} //namespace cv + +/****************************************************************************************\ +* Common declarations * +\****************************************************************************************/ + +/* the alignment of all the allocated buffers */ +#define CV_MALLOC_ALIGN 64 + +/* IEEE754 constants and macros */ +#define CV_TOGGLE_FLT(x) ((x)^((int)(x) < 0 ? 0x7fffffff : 0)) +#define CV_TOGGLE_DBL(x) ((x)^((int64)(x) < 0 ? CV_BIG_INT(0x7fffffffffffffff) : 0)) + +static inline void* cvAlignPtr( const void* ptr, int align = 32 ) +{ + CV_DbgAssert ( (align & (align-1)) == 0 ); + return (void*)( ((size_t)ptr + align - 1) & ~(size_t)(align-1) ); +} + +static inline int cvAlign( int size, int align ) +{ + CV_DbgAssert( (align & (align-1)) == 0 && size < INT_MAX ); + return (size + align - 1) & -align; +} + +#ifdef IPL_DEPTH_8U +static inline cv::Size cvGetMatSize( const CvMat* mat ) +{ + return cv::Size(mat->cols, mat->rows); +} +#endif + +namespace cv +{ +CV_EXPORTS void scalarToRawData(const cv::Scalar& s, void* buf, int type, int unroll_to = 0); + +//! Allocate memory buffers which will not be freed, ease filtering memcheck issues. Uses fastMalloc() call. +CV_EXPORTS void* allocSingletonBuffer(size_t size); + +//! Allocate memory buffers which will not be freed, ease filtering memcheck issues. Uses fastMalloc() call +template static inline +T* allocSingleton(size_t count = 1) { return static_cast(allocSingletonBuffer(sizeof(T) * count)); } + +//! Allocate memory buffers which will not be freed, ease filtering memcheck issues. Uses generic malloc() call. +CV_EXPORTS void* allocSingletonNewBuffer(size_t size); + +//! Allocate memory buffers which will not be freed, ease filtering memcheck issues. Uses generic malloc() call. +template static inline +T* allocSingletonNew() { return new(allocSingletonNewBuffer(sizeof(T))) T(); } + +} // namespace + +#if 1 // TODO: Remove in OpenCV 4.x + +// property implementation macros + +#define CV_IMPL_PROPERTY_RO(type, name, member) \ + inline type get##name() const { return member; } + +#define CV_HELP_IMPL_PROPERTY(r_type, w_type, name, member) \ + CV_IMPL_PROPERTY_RO(r_type, name, member) \ + inline void set##name(w_type val) { member = val; } + +#define CV_HELP_WRAP_PROPERTY(r_type, w_type, name, internal_name, internal_obj) \ + r_type get##name() const { return internal_obj.get##internal_name(); } \ + void set##name(w_type val) { internal_obj.set##internal_name(val); } + +#define CV_IMPL_PROPERTY(type, name, member) CV_HELP_IMPL_PROPERTY(type, type, name, member) +#define CV_IMPL_PROPERTY_S(type, name, member) CV_HELP_IMPL_PROPERTY(type, const type &, name, member) + +#define CV_WRAP_PROPERTY(type, name, internal_name, internal_obj) CV_HELP_WRAP_PROPERTY(type, type, name, internal_name, internal_obj) +#define CV_WRAP_PROPERTY_S(type, name, internal_name, internal_obj) CV_HELP_WRAP_PROPERTY(type, const type &, name, internal_name, internal_obj) + +#define CV_WRAP_SAME_PROPERTY(type, name, internal_obj) CV_WRAP_PROPERTY(type, name, name, internal_obj) +#define CV_WRAP_SAME_PROPERTY_S(type, name, internal_obj) CV_WRAP_PROPERTY_S(type, name, name, internal_obj) + +#endif + +/****************************************************************************************\ +* Structures and macros for integration with IPP * +\****************************************************************************************/ + +#define OPENCV_IPP_REDUCE_SIZE 1 + +// Temporary disabled named IPP region. Accuracy +#define IPP_DISABLE_PYRAMIDS_UP 1 // Different results +#define IPP_DISABLE_PYRAMIDS_DOWN 1 // Different results +#define IPP_DISABLE_PYRAMIDS_BUILD 1 // Different results +#define IPP_DISABLE_WARPAFFINE 1 // Different results +#define IPP_DISABLE_WARPPERSPECTIVE 1 // Different results +#define IPP_DISABLE_REMAP 1 // Different results +#define IPP_DISABLE_YUV_RGB 1 // accuracy difference +#define IPP_DISABLE_RGB_YUV 1 // breaks OCL accuracy tests +#define IPP_DISABLE_RGB_HSV 1 // breaks OCL accuracy tests +#define IPP_DISABLE_RGB_LAB 1 // breaks OCL accuracy tests +#define IPP_DISABLE_LAB_RGB 1 // breaks OCL accuracy tests +#define IPP_DISABLE_RGB_XYZ 1 // big accuracy difference +#define IPP_DISABLE_XYZ_RGB 1 // big accuracy difference +#define IPP_DISABLE_HOUGH 1 // improper integration/results +#define IPP_DISABLE_FILTER2D_BIG_MASK 1 // different results on masks > 7x7 + +// Temporary disabled named IPP region. Performance +#define IPP_DISABLE_PERF_COPYMAKE 1 // performance variations +#define IPP_DISABLE_PERF_LUT 1 // there are no performance benefits (PR #2653) +#define IPP_DISABLE_PERF_TRUE_DIST_MT 1 // cv::distanceTransform OpenCV MT performance is better +#define IPP_DISABLE_PERF_CANNY_MT 1 // cv::Canny OpenCV MT performance is better + +#ifdef HAVE_IPP +#include "ippversion.h" +#ifndef IPP_VERSION_UPDATE // prior to 7.1 +#define IPP_VERSION_UPDATE 0 +#endif + +#define IPP_VERSION_X100 (IPP_VERSION_MAJOR * 100 + IPP_VERSION_MINOR*10 + IPP_VERSION_UPDATE) + +#ifdef HAVE_IPP_ICV +#define ICV_BASE +#if IPP_VERSION_X100 >= 201700 +#include "ippicv.h" +#else +#include "ipp.h" +#endif +#else +#include "ipp.h" +#endif +#ifdef HAVE_IPP_IW +# if defined(__OPENCV_BUILD) && defined(__clang__) +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wstrict-prototypes" +# endif +# if defined(__OPENCV_BUILD) && defined(__GNUC__) && __GNUC__ >= 5 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wsuggest-override" +# endif +#include "iw++/iw.hpp" +# ifdef HAVE_IPP_IW_LL +#include "iw/iw_ll.h" +# endif +# if defined(__OPENCV_BUILD) && defined(__GNUC__) && __GNUC__ >= 5 +# pragma GCC diagnostic pop +# endif +# if defined(__OPENCV_BUILD) && defined(__clang__) +# pragma clang diagnostic pop +# endif +#endif + +#if IPP_VERSION_X100 >= 201700 +#define CV_IPP_MALLOC(SIZE) ippMalloc_L(SIZE) +#else +#define CV_IPP_MALLOC(SIZE) ippMalloc((int)SIZE) +#endif + +#define setIppErrorStatus() cv::ipp::setIppStatus(-1, CV_Func, __FILE__, __LINE__) + +#if IPP_VERSION_X100 >= 201700 +#define ippCPUID_AVX512_SKX (ippCPUID_AVX512F|ippCPUID_AVX512CD|ippCPUID_AVX512VL|ippCPUID_AVX512BW|ippCPUID_AVX512DQ) +#define ippCPUID_AVX512_KNL (ippCPUID_AVX512F|ippCPUID_AVX512CD|ippCPUID_AVX512PF|ippCPUID_AVX512ER) +#else +#define ippCPUID_AVX512_SKX 0xFFFFFFFF +#define ippCPUID_AVX512_KNL 0xFFFFFFFF +#endif + +namespace cv +{ +namespace ipp +{ +CV_EXPORTS unsigned long long getIppTopFeatures(); // Returns top major enabled IPP feature flag +} +} + +static inline IppiSize ippiSize(size_t width, size_t height) +{ + IppiSize size = { (int)width, (int)height }; + return size; +} + +static inline IppiSize ippiSize(const cv::Size & _size) +{ + IppiSize size = { _size.width, _size.height }; + return size; +} + +#if IPP_VERSION_X100 >= 201700 +static inline IppiSizeL ippiSizeL(size_t width, size_t height) +{ + IppiSizeL size = { (IppSizeL)width, (IppSizeL)height }; + return size; +} + +static inline IppiSizeL ippiSizeL(const cv::Size & _size) +{ + IppiSizeL size = { _size.width, _size.height }; + return size; +} +#endif + +static inline IppiPoint ippiPoint(const cv::Point & _point) +{ + IppiPoint point = { _point.x, _point.y }; + return point; +} + +static inline IppiPoint ippiPoint(int x, int y) +{ + IppiPoint point = { x, y }; + return point; +} + +static inline IppiBorderType ippiGetBorderType(int borderTypeNI) +{ + return borderTypeNI == cv::BORDER_CONSTANT ? ippBorderConst : + borderTypeNI == cv::BORDER_TRANSPARENT ? ippBorderTransp : + borderTypeNI == cv::BORDER_REPLICATE ? ippBorderRepl : + borderTypeNI == cv::BORDER_REFLECT_101 ? ippBorderMirror : + (IppiBorderType)-1; +} + +static inline IppiMaskSize ippiGetMaskSize(int kx, int ky) +{ + return (kx == 1 && ky == 3) ? ippMskSize1x3 : + (kx == 1 && ky == 5) ? ippMskSize1x5 : + (kx == 3 && ky == 1) ? ippMskSize3x1 : + (kx == 3 && ky == 3) ? ippMskSize3x3 : + (kx == 5 && ky == 1) ? ippMskSize5x1 : + (kx == 5 && ky == 5) ? ippMskSize5x5 : + (IppiMaskSize)-1; +} + +static inline IppDataType ippiGetDataType(int depth) +{ + depth = CV_MAT_DEPTH(depth); + return depth == CV_8U ? ipp8u : + depth == CV_8S ? ipp8s : + depth == CV_16U ? ipp16u : + depth == CV_16S ? ipp16s : + depth == CV_32S ? ipp32s : + depth == CV_32F ? ipp32f : + depth == CV_64F ? ipp64f : + (IppDataType)-1; +} + +static inline int ippiSuggestThreadsNum(size_t width, size_t height, size_t elemSize, double multiplier) +{ + int threads = cv::getNumThreads(); + if(threads > 1 && height >= 64) + { + size_t opMemory = (int)(width*height*elemSize*multiplier); + int l2cache = 0; +#if IPP_VERSION_X100 >= 201700 + ippGetL2CacheSize(&l2cache); +#endif + if(!l2cache) + l2cache = 1 << 18; + + return IPP_MAX(1, (IPP_MIN((int)(opMemory/l2cache), threads))); + } + return 1; +} + +static inline int ippiSuggestThreadsNum(const cv::Mat &image, double multiplier) +{ + return ippiSuggestThreadsNum(image.cols, image.rows, image.elemSize(), multiplier); +} + +#ifdef HAVE_IPP_IW +static inline bool ippiCheckAnchor(int x, int y, int kernelWidth, int kernelHeight) +{ + if(x != ((kernelWidth-1)/2) || y != ((kernelHeight-1)/2)) + return 0; + else + return 1; +} + +static inline ::ipp::IwiSize ippiGetSize(const cv::Size & size) +{ + return ::ipp::IwiSize((IwSize)size.width, (IwSize)size.height); +} + +static inline IwiDerivativeType ippiGetDerivType(int dx, int dy, bool nvert) +{ + return (dx == 1 && dy == 0) ? ((nvert)?iwiDerivNVerFirst:iwiDerivVerFirst) : + (dx == 0 && dy == 1) ? iwiDerivHorFirst : + (dx == 2 && dy == 0) ? iwiDerivVerSecond : + (dx == 0 && dy == 2) ? iwiDerivHorSecond : + (IwiDerivativeType)-1; +} + +static inline void ippiGetImage(const cv::Mat &src, ::ipp::IwiImage &dst) +{ + ::ipp::IwiBorderSize inMemBorder; + if(src.isSubmatrix()) // already have physical border + { + cv::Size origSize; + cv::Point offset; + src.locateROI(origSize, offset); + + inMemBorder.left = (IwSize)offset.x; + inMemBorder.top = (IwSize)offset.y; + inMemBorder.right = (IwSize)(origSize.width - src.cols - offset.x); + inMemBorder.bottom = (IwSize)(origSize.height - src.rows - offset.y); + } + + dst.Init(ippiSize(src.size()), ippiGetDataType(src.depth()), src.channels(), inMemBorder, (void*)src.ptr(), src.step); +} + +static inline ::ipp::IwiImage ippiGetImage(const cv::Mat &src) +{ + ::ipp::IwiImage image; + ippiGetImage(src, image); + return image; +} + +static inline IppiBorderType ippiGetBorder(::ipp::IwiImage &image, int ocvBorderType, ipp::IwiBorderSize &borderSize) +{ + int inMemFlags = 0; + IppiBorderType border = ippiGetBorderType(ocvBorderType & ~cv::BORDER_ISOLATED); + if((int)border == -1) + return (IppiBorderType)0; + + if(!(ocvBorderType & cv::BORDER_ISOLATED)) + { + if(image.m_inMemSize.left) + { + if(image.m_inMemSize.left >= borderSize.left) + inMemFlags |= ippBorderInMemLeft; + else + return (IppiBorderType)0; + } + else + borderSize.left = 0; + if(image.m_inMemSize.top) + { + if(image.m_inMemSize.top >= borderSize.top) + inMemFlags |= ippBorderInMemTop; + else + return (IppiBorderType)0; + } + else + borderSize.top = 0; + if(image.m_inMemSize.right) + { + if(image.m_inMemSize.right >= borderSize.right) + inMemFlags |= ippBorderInMemRight; + else + return (IppiBorderType)0; + } + else + borderSize.right = 0; + if(image.m_inMemSize.bottom) + { + if(image.m_inMemSize.bottom >= borderSize.bottom) + inMemFlags |= ippBorderInMemBottom; + else + return (IppiBorderType)0; + } + else + borderSize.bottom = 0; + } + else + borderSize.left = borderSize.right = borderSize.top = borderSize.bottom = 0; + + return (IppiBorderType)(border|inMemFlags); +} + +static inline ::ipp::IwValueFloat ippiGetValue(const cv::Scalar &scalar) +{ + return ::ipp::IwValueFloat(scalar[0], scalar[1], scalar[2], scalar[3]); +} + +static inline int ippiSuggestThreadsNum(const ::ipp::IwiImage &image, double multiplier) +{ + return ippiSuggestThreadsNum(image.m_size.width, image.m_size.height, image.m_typeSize*image.m_channels, multiplier); +} +#endif + +// IPP temporary buffer helper +template +class IppAutoBuffer +{ +public: + IppAutoBuffer() { m_size = 0; m_pBuffer = NULL; } + explicit IppAutoBuffer(size_t size) { m_size = 0; m_pBuffer = NULL; allocate(size); } + ~IppAutoBuffer() { deallocate(); } + T* allocate(size_t size) { if(m_size < size) { deallocate(); m_pBuffer = (T*)CV_IPP_MALLOC(size); m_size = size; } return m_pBuffer; } + void deallocate() { if(m_pBuffer) { ippFree(m_pBuffer); m_pBuffer = NULL; } m_size = 0; } + inline T* get() { return (T*)m_pBuffer;} + inline operator T* () { return (T*)m_pBuffer;} + inline operator const T* () const { return (const T*)m_pBuffer;} +private: + // Disable copy operations + IppAutoBuffer(IppAutoBuffer &) {} + IppAutoBuffer& operator =(const IppAutoBuffer &) {return *this;} + + size_t m_size; + T* m_pBuffer; +}; + +// Extracts border interpolation type without flags +#if IPP_VERSION_X100 >= 201700 +#define IPP_BORDER_INTER(BORDER) (IppiBorderType)((BORDER)&0xF|((((BORDER)&ippBorderInMem) == ippBorderInMem)?ippBorderInMem:0)); +#else +#define IPP_BORDER_INTER(BORDER) (IppiBorderType)((BORDER)&0xF); +#endif + +#else +#define IPP_VERSION_X100 0 +#endif + +#if defined HAVE_IPP +#if IPP_VERSION_X100 >= 900 +#define IPP_INITIALIZER(FEAT) \ +{ \ + if(FEAT) \ + ippSetCpuFeatures(FEAT); \ + else \ + ippInit(); \ +} +#elif IPP_VERSION_X100 >= 800 +#define IPP_INITIALIZER(FEAT) \ +{ \ + ippInit(); \ +} +#else +#define IPP_INITIALIZER(FEAT) \ +{ \ + ippStaticInit(); \ +} +#endif + +#ifdef CVAPI_EXPORTS +#define IPP_INITIALIZER_AUTO \ +struct __IppInitializer__ \ +{ \ + __IppInitializer__() \ + {IPP_INITIALIZER(cv::ipp::getIppFeatures())} \ +}; \ +static struct __IppInitializer__ __ipp_initializer__; +#else +#define IPP_INITIALIZER_AUTO +#endif +#else +#define IPP_INITIALIZER +#define IPP_INITIALIZER_AUTO +#endif + +#define CV_IPP_CHECK_COND (cv::ipp::useIPP()) +#define CV_IPP_CHECK() if(CV_IPP_CHECK_COND) + +#ifdef HAVE_IPP + +#ifdef CV_IPP_RUN_VERBOSE +#define CV_IPP_RUN_(condition, func, ...) \ + { \ + if (cv::ipp::useIPP() && (condition) && (func)) \ + { \ + printf("%s: IPP implementation is running\n", CV_Func); \ + fflush(stdout); \ + CV_IMPL_ADD(CV_IMPL_IPP); \ + return __VA_ARGS__; \ + } \ + else \ + { \ + printf("%s: Plain implementation is running\n", CV_Func); \ + fflush(stdout); \ + } \ + } +#elif defined CV_IPP_RUN_ASSERT +#define CV_IPP_RUN_(condition, func, ...) \ + { \ + if (cv::ipp::useIPP() && (condition)) \ + { \ + CV__TRACE_REGION_("IPP:" #func, CV_TRACE_NS::details::REGION_FLAG_IMPL_IPP) \ + if(func) \ + { \ + CV_IMPL_ADD(CV_IMPL_IPP); \ + } \ + else \ + { \ + setIppErrorStatus(); \ + CV_Error(cv::Error::StsAssert, #func); \ + } \ + return __VA_ARGS__; \ + } \ + } +#else +#define CV_IPP_RUN_(condition, func, ...) \ + if (cv::ipp::useIPP() && (condition)) \ + { \ + CV__TRACE_REGION_("IPP:" #func, CV_TRACE_NS::details::REGION_FLAG_IMPL_IPP) \ + if(func) \ + { \ + CV_IMPL_ADD(CV_IMPL_IPP); \ + return __VA_ARGS__; \ + } \ + } +#endif +#else +#define CV_IPP_RUN_(condition, func, ...) +#endif + +#define CV_IPP_RUN_FAST(func, ...) CV_IPP_RUN_(true, func, __VA_ARGS__) +#define CV_IPP_RUN(condition, func, ...) CV_IPP_RUN_((condition), (func), __VA_ARGS__) + + +#ifndef IPPI_CALL +# define IPPI_CALL(func) CV_Assert((func) >= 0) +#endif + +/* IPP-compatible return codes */ +typedef enum CvStatus +{ + CV_BADMEMBLOCK_ERR = -113, + CV_INPLACE_NOT_SUPPORTED_ERR= -112, + CV_UNMATCHED_ROI_ERR = -111, + CV_NOTFOUND_ERR = -110, + CV_BADCONVERGENCE_ERR = -109, + + CV_BADDEPTH_ERR = -107, + CV_BADROI_ERR = -106, + CV_BADHEADER_ERR = -105, + CV_UNMATCHED_FORMATS_ERR = -104, + CV_UNSUPPORTED_COI_ERR = -103, + CV_UNSUPPORTED_CHANNELS_ERR = -102, + CV_UNSUPPORTED_DEPTH_ERR = -101, + CV_UNSUPPORTED_FORMAT_ERR = -100, + + CV_BADARG_ERR = -49, //ipp comp + CV_NOTDEFINED_ERR = -48, //ipp comp + + CV_BADCHANNELS_ERR = -47, //ipp comp + CV_BADRANGE_ERR = -44, //ipp comp + CV_BADSTEP_ERR = -29, //ipp comp + + CV_BADFLAG_ERR = -12, + CV_DIV_BY_ZERO_ERR = -11, //ipp comp + CV_BADCOEF_ERR = -10, + + CV_BADFACTOR_ERR = -7, + CV_BADPOINT_ERR = -6, + CV_BADSCALE_ERR = -4, + CV_OUTOFMEM_ERR = -3, + CV_NULLPTR_ERR = -2, + CV_BADSIZE_ERR = -1, + CV_NO_ERR = 0, + CV_OK = CV_NO_ERR +} +CvStatus; + +#ifdef ENABLE_INSTRUMENTATION +namespace cv +{ +namespace instr +{ +struct InstrTLSStruct +{ + InstrTLSStruct() + { + pCurrentNode = NULL; + } + InstrNode* pCurrentNode; +}; + +class InstrStruct +{ +public: + InstrStruct() + { + useInstr = false; + flags = FLAGS_MAPPING; + maxDepth = 0; + + rootNode.m_payload = NodeData("ROOT", NULL, 0, NULL, false, TYPE_GENERAL, IMPL_PLAIN); + tlsStruct.get()->pCurrentNode = &rootNode; + } + + Mutex mutexCreate; + Mutex mutexCount; + + bool useInstr; + int flags; + int maxDepth; + InstrNode rootNode; + TLSData tlsStruct; +}; + +class CV_EXPORTS IntrumentationRegion +{ +public: + IntrumentationRegion(const char* funName, const char* fileName, int lineNum, void *retAddress, bool alwaysExpand, TYPE instrType = TYPE_GENERAL, IMPL implType = IMPL_PLAIN); + ~IntrumentationRegion(); + +private: + bool m_disabled; // region status + uint64 m_regionTicks; +}; + +CV_EXPORTS InstrStruct& getInstrumentStruct(); +InstrTLSStruct& getInstrumentTLSStruct(); +CV_EXPORTS InstrNode* getCurrentNode(); +} +} + +#ifdef _WIN32 +#define CV_INSTRUMENT_GET_RETURN_ADDRESS _ReturnAddress() +#else +#define CV_INSTRUMENT_GET_RETURN_ADDRESS __builtin_extract_return_addr(__builtin_return_address(0)) +#endif + +// Instrument region +#define CV_INSTRUMENT_REGION_META(NAME, ALWAYS_EXPAND, TYPE, IMPL) ::cv::instr::IntrumentationRegion CVAUX_CONCAT(__instr_region__, __LINE__) (NAME, __FILE__, __LINE__, CV_INSTRUMENT_GET_RETURN_ADDRESS, ALWAYS_EXPAND, TYPE, IMPL); +#define CV_INSTRUMENT_REGION_CUSTOM_META(NAME, ALWAYS_EXPAND, TYPE, IMPL)\ + void *CVAUX_CONCAT(__curr_address__, __LINE__) = [&]() {return CV_INSTRUMENT_GET_RETURN_ADDRESS;}();\ + ::cv::instr::IntrumentationRegion CVAUX_CONCAT(__instr_region__, __LINE__) (NAME, __FILE__, __LINE__, CVAUX_CONCAT(__curr_address__, __LINE__), false, ::cv::instr::TYPE_GENERAL, ::cv::instr::IMPL_PLAIN); +// Instrument functions with non-void return type +#define CV_INSTRUMENT_FUN_RT_META(TYPE, IMPL, ERROR_COND, FUN, ...) ([&]()\ +{\ + if(::cv::instr::useInstrumentation()){\ + ::cv::instr::IntrumentationRegion __instr__(#FUN, __FILE__, __LINE__, NULL, false, TYPE, IMPL);\ + try{\ + auto instrStatus = ((FUN)(__VA_ARGS__));\ + if(ERROR_COND){\ + ::cv::instr::getCurrentNode()->m_payload.m_funError = true;\ + CV_INSTRUMENT_MARK_META(IMPL, #FUN " - BadExit");\ + }\ + return instrStatus;\ + }catch(...){\ + ::cv::instr::getCurrentNode()->m_payload.m_funError = true;\ + CV_INSTRUMENT_MARK_META(IMPL, #FUN " - BadExit");\ + throw;\ + }\ + }else{\ + return ((FUN)(__VA_ARGS__));\ + }\ +}()) +// Instrument functions with void return type +#define CV_INSTRUMENT_FUN_RV_META(TYPE, IMPL, FUN, ...) ([&]()\ +{\ + if(::cv::instr::useInstrumentation()){\ + ::cv::instr::IntrumentationRegion __instr__(#FUN, __FILE__, __LINE__, NULL, false, TYPE, IMPL);\ + try{\ + (FUN)(__VA_ARGS__);\ + }catch(...){\ + ::cv::instr::getCurrentNode()->m_payload.m_funError = true;\ + CV_INSTRUMENT_MARK_META(IMPL, #FUN "- BadExit");\ + throw;\ + }\ + }else{\ + (FUN)(__VA_ARGS__);\ + }\ +}()) +// Instrumentation information marker +#define CV_INSTRUMENT_MARK_META(IMPL, NAME, ...) {::cv::instr::IntrumentationRegion __instr_mark__(NAME, __FILE__, __LINE__, NULL, false, ::cv::instr::TYPE_MARKER, IMPL);} + +///// General instrumentation +// General OpenCV region instrumentation macro +#define CV_INSTRUMENT_REGION_(); CV_INSTRUMENT_REGION_META(__FUNCTION__, false, ::cv::instr::TYPE_GENERAL, ::cv::instr::IMPL_PLAIN) +// Custom OpenCV region instrumentation macro +#define CV_INSTRUMENT_REGION_NAME(NAME) CV_INSTRUMENT_REGION_CUSTOM_META(NAME, false, ::cv::instr::TYPE_GENERAL, ::cv::instr::IMPL_PLAIN) +// Instrumentation for parallel_for_ or other regions which forks and gathers threads +#define CV_INSTRUMENT_REGION_MT_FORK(); CV_INSTRUMENT_REGION_META(__FUNCTION__, true, ::cv::instr::TYPE_GENERAL, ::cv::instr::IMPL_PLAIN); + +///// IPP instrumentation +// Wrapper region instrumentation macro +#define CV_INSTRUMENT_REGION_IPP(); CV_INSTRUMENT_REGION_META(__FUNCTION__, false, ::cv::instr::TYPE_WRAPPER, ::cv::instr::IMPL_IPP) +// Function instrumentation macro +#define CV_INSTRUMENT_FUN_IPP(FUN, ...) CV_INSTRUMENT_FUN_RT_META(::cv::instr::TYPE_FUN, ::cv::instr::IMPL_IPP, instrStatus < 0, FUN, __VA_ARGS__) +// Diagnostic markers +#define CV_INSTRUMENT_MARK_IPP(NAME) CV_INSTRUMENT_MARK_META(::cv::instr::IMPL_IPP, NAME) + +///// OpenCL instrumentation +// Wrapper region instrumentation macro +#define CV_INSTRUMENT_REGION_OPENCL(); CV_INSTRUMENT_REGION_META(__FUNCTION__, false, ::cv::instr::TYPE_WRAPPER, ::cv::instr::IMPL_OPENCL) +// OpenCL kernel compilation wrapper +#define CV_INSTRUMENT_REGION_OPENCL_COMPILE(NAME) CV_INSTRUMENT_REGION_META(NAME, false, ::cv::instr::TYPE_WRAPPER, ::cv::instr::IMPL_OPENCL) +// OpenCL kernel run wrapper +#define CV_INSTRUMENT_REGION_OPENCL_RUN(NAME) CV_INSTRUMENT_REGION_META(NAME, false, ::cv::instr::TYPE_FUN, ::cv::instr::IMPL_OPENCL) +// Diagnostic markers +#define CV_INSTRUMENT_MARK_OPENCL(NAME) CV_INSTRUMENT_MARK_META(::cv::instr::IMPL_OPENCL, NAME) +#else +#define CV_INSTRUMENT_REGION_META(...) + +#define CV_INSTRUMENT_REGION_(); CV_TRACE_FUNCTION() +#define CV_INSTRUMENT_REGION_NAME(...) CV_TRACE_REGION(__VA_ARGS__) +#define CV_INSTRUMENT_REGION_MT_FORK(); + +#define CV_INSTRUMENT_REGION_IPP(); CV__TRACE_REGION_("IPP", CV_TRACE_NS::details::REGION_FLAG_IMPL_IPP) +#define CV_INSTRUMENT_FUN_IPP(FUN, ...) ((FUN)(__VA_ARGS__)) +#define CV_INSTRUMENT_MARK_IPP(...) + +#define CV_INSTRUMENT_REGION_OPENCL(); CV__TRACE_REGION_("OpenCL", CV_TRACE_NS::details::REGION_FLAG_IMPL_OPENCL) +#define CV_INSTRUMENT_REGION_OPENCL_COMPILE(...) +#define CV_INSTRUMENT_REGION_OPENCL_RUN(...) +#define CV_INSTRUMENT_MARK_OPENCL(...) +#endif + +#ifdef __CV_AVX_GUARD +#define CV_INSTRUMENT_REGION() __CV_AVX_GUARD CV_INSTRUMENT_REGION_(); +#else +#define CV_INSTRUMENT_REGION() CV_INSTRUMENT_REGION_(); +#endif + +namespace cv { + +namespace utils { + +//! @addtogroup core_utils +//! @{ + +/** @brief Try to find requested data file + +Search directories: + +1. Directories passed via `addDataSearchPath()` +2. Check path specified by configuration parameter with "_HINT" suffix (name of environment variable). +3. Check path specified by configuration parameter (name of environment variable). + If parameter value is not empty and nothing is found then stop searching. +4. Detects build/install path based on: + a. current working directory (CWD) + b. and/or binary module location (opencv_core/opencv_world, doesn't work with static linkage) +5. Scan `/{,data}` directories if build directory is detected or the current directory is in source tree. +6. Scan `/share/OpenCV` directory if install directory is detected. + +@param relative_path Relative path to data file +@param required Specify "file not found" handling. + If true, function prints information message and raises cv::Exception. + If false, function returns empty result +@param configuration_parameter specify configuration parameter name. Default NULL value means "OPENCV_DATA_PATH". +@return Returns path (absolute or relative to the current directory) or empty string if file is not found + +@note Implementation is not thread-safe. +*/ +CV_EXPORTS +cv::String findDataFile(const cv::String& relative_path, bool required = true, + const char* configuration_parameter = NULL); + +/** @overload +@param relative_path Relative path to data file +@param configuration_parameter specify configuration parameter name. Default NULL value means "OPENCV_DATA_PATH". +@param search_paths override addDataSearchPath() settings. +@param subdir_paths override addDataSearchSubDirectory() settings. +@return Returns path (absolute or relative to the current directory) or empty string if file is not found + +@note Implementation is not thread-safe. +*/ +CV_EXPORTS +cv::String findDataFile(const cv::String& relative_path, + const char* configuration_parameter, + const std::vector* search_paths, + const std::vector* subdir_paths); + +/** @brief Override default search data path by adding new search location + +Use this only to override default behavior +Passed paths are used in LIFO order. + +@param path Path to used samples data + +@note Implementation is not thread-safe. +*/ +CV_EXPORTS void addDataSearchPath(const cv::String& path); + +/** @brief Append default search data sub directory + +General usage is to add OpenCV modules name (`/modules//data` -> `modules//data` + `/data`). +Passed subdirectories are used in LIFO order. + +@param subdir samples data sub directory + +@note Implementation is not thread-safe. +*/ +CV_EXPORTS void addDataSearchSubDirectory(const cv::String& subdir); + +/** @brief Retrieve location of OpenCV libraries or current executable + */ +CV_EXPORTS bool getBinLocation(std::string& dst); + +#if defined(_WIN32) +/** @brief Retrieve location of OpenCV libraries or current executable + +@note WIN32 only + */ +CV_EXPORTS bool getBinLocation(std::wstring& dst); +#endif + +//! @} + +} // namespace utils +} // namespace cv + +//! @endcond + +#endif // OPENCV_CORE_PRIVATE_HPP diff --git a/camera_lib/include/opencv2/core/quaternion.hpp b/camera_lib/include/opencv2/core/quaternion.hpp new file mode 100644 index 0000000..9e3e443 --- /dev/null +++ b/camera_lib/include/opencv2/core/quaternion.hpp @@ -0,0 +1,1696 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2020, Huawei Technologies Co., Ltd. All rights reserved. +// Third party copyrights are property of their respective owners. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Author: Liangqian Kong +// Longbu Wang +#ifndef OPENCV_CORE_QUATERNION_HPP +#define OPENCV_CORE_QUATERNION_HPP + +#include +#include +#include +namespace cv +{ +//! @addtogroup core +//! @{ + +//! Unit quaternion flag +enum QuatAssumeType +{ + /** + * This flag is specified by default. + * If this flag is specified, the input quaternions are assumed to be not unit quaternions. + * It can guarantee the correctness of the calculations, + * although the calculation speed will be slower than the flag QUAT_ASSUME_UNIT. + */ + QUAT_ASSUME_NOT_UNIT, + /** + * If this flag is specified, the input quaternions are assumed to be unit quaternions which + * will save some computations. However, if this flag is specified without unit quaternion, + * the program correctness of the result will not be guaranteed. + */ + QUAT_ASSUME_UNIT +}; + +class QuatEnum +{ +public: + /** @brief Enum of Euler angles type. + * + * Without considering the possibility of using two different convertions for the definition of the rotation axes , + * there exists twelve possible sequences of rotation axes, divided into two groups: + * - Proper Euler angles (Z-X-Z, X-Y-X, Y-Z-Y, Z-Y-Z, X-Z-X, Y-X-Y) + * - Tait–Bryan angles (X-Y-Z, Y-Z-X, Z-X-Y, X-Z-Y, Z-Y-X, Y-X-Z). + * + * The three elemental rotations may be [extrinsic](https://en.wikipedia.org/wiki/Euler_angles#Definition_by_extrinsic_rotations) + * (rotations about the axes *xyz* of the original coordinate system, which is assumed to remain motionless), + * or [intrinsic](https://en.wikipedia.org/wiki/Euler_angles#Definition_by_intrinsic_rotations)(rotations about the axes of the rotating coordinate system *XYZ*, solidary with the moving body, which changes its orientation after each elemental rotation). + * + * + * Extrinsic and intrinsic rotations are relevant. + * + * The definition of the Euler angles is as following, + * - \f$\theta_1 \f$ represents the first rotation angle, + * - \f$\theta_2 \f$ represents the second rotation angle, + * - \f$\theta_3 \f$ represents the third rotation angle. + * + * For intrinsic rotations in the order of X-Y-Z, the rotation matrix R can be calculated by:\f[R =X(\theta_1) Y(\theta_2) Z(\theta_3) \f] + * For extrinsic rotations in the order of X-Y-Z, the rotation matrix R can be calculated by:\f[R =Z({\theta_3}) Y({\theta_2}) X({\theta_1})\f] + * where + * \f[X({\theta_1})={\begin{bmatrix}1&0&0\\0&\cos {\theta_1} &-\sin {\theta_1} \\0&\sin {\theta_1} &\cos {\theta_1} \\\end{bmatrix}}, + * Y({\theta_2})={\begin{bmatrix}\cos \theta_{2}&0&\sin \theta_{2}\\0&1 &0 \\\ -sin \theta_2& 0&\cos \theta_{2} \\\end{bmatrix}}, + * Z({\theta_3})={\begin{bmatrix}\cos\theta_{3} &-\sin \theta_3&0\\\sin \theta_3 &\cos \theta_3 &0\\0&0&1\\\end{bmatrix}}. + * \f] + * + * The function is designed according to this set of conventions: + * - [Right handed](https://en.wikipedia.org/wiki/Right_hand_rule) reference frames are adopted, and the [right hand rule](https://en.wikipedia.org/wiki/Right_hand_rule) is used to determine the sign of angles. + * - Each matrix is meant to represent an [active rotation](https://en.wikipedia.org/wiki/Active_and_passive_transformation) (the composing and composed matrices + * are supposed to act on the coordinates of vectors defined in the initial fixed reference frame and give as a result the coordinates of a rotated vector defined in the same reference frame). + * - For \f$\theta_1\f$ and \f$\theta_3\f$, the valid range is (−π, π]. + * + * For \f$\theta_2\f$, the valid range is [−π/2, π/2] or [0, π]. + * + * For Tait–Bryan angles, the valid range of \f$\theta_2\f$ is [−π/2, π/2]. When transforming a quaternion to Euler angles, the solution of Euler angles is unique in condition of \f$ \theta_2 \in (−π/2, π/2)\f$ . + * If \f$\theta_2 = −π/2 \f$ or \f$ \theta_2 = π/2\f$, there are infinite solutions. The common name for this situation is gimbal lock. + * For Proper Euler angles,the valid range of \f$\theta_2\f$ is in [0, π]. The solutions of Euler angles are unique in condition of \f$ \theta_2 \in (0, π)\f$ . If \f$\theta_2 =0 \f$ or \f$\theta_2 =π \f$, + * there are infinite solutions and gimbal lock will occur. + */ + enum EulerAnglesType + { + INT_XYZ, ///< Intrinsic rotations with the Euler angles type X-Y-Z + INT_XZY, ///< Intrinsic rotations with the Euler angles type X-Z-Y + INT_YXZ, ///< Intrinsic rotations with the Euler angles type Y-X-Z + INT_YZX, ///< Intrinsic rotations with the Euler angles type Y-Z-X + INT_ZXY, ///< Intrinsic rotations with the Euler angles type Z-X-Y + INT_ZYX, ///< Intrinsic rotations with the Euler angles type Z-Y-X + INT_XYX, ///< Intrinsic rotations with the Euler angles type X-Y-X + INT_XZX, ///< Intrinsic rotations with the Euler angles type X-Z-X + INT_YXY, ///< Intrinsic rotations with the Euler angles type Y-X-Y + INT_YZY, ///< Intrinsic rotations with the Euler angles type Y-Z-Y + INT_ZXZ, ///< Intrinsic rotations with the Euler angles type Z-X-Z + INT_ZYZ, ///< Intrinsic rotations with the Euler angles type Z-Y-Z + + EXT_XYZ, ///< Extrinsic rotations with the Euler angles type X-Y-Z + EXT_XZY, ///< Extrinsic rotations with the Euler angles type X-Z-Y + EXT_YXZ, ///< Extrinsic rotations with the Euler angles type Y-X-Z + EXT_YZX, ///< Extrinsic rotations with the Euler angles type Y-Z-X + EXT_ZXY, ///< Extrinsic rotations with the Euler angles type Z-X-Y + EXT_ZYX, ///< Extrinsic rotations with the Euler angles type Z-Y-X + EXT_XYX, ///< Extrinsic rotations with the Euler angles type X-Y-X + EXT_XZX, ///< Extrinsic rotations with the Euler angles type X-Z-X + EXT_YXY, ///< Extrinsic rotations with the Euler angles type Y-X-Y + EXT_YZY, ///< Extrinsic rotations with the Euler angles type Y-Z-Y + EXT_ZXZ, ///< Extrinsic rotations with the Euler angles type Z-X-Z + EXT_ZYZ, ///< Extrinsic rotations with the Euler angles type Z-Y-Z + #ifndef CV_DOXYGEN + EULER_ANGLES_MAX_VALUE + #endif + }; + +}; + +template class Quat; +template std::ostream& operator<<(std::ostream&, const Quat<_Tp>&); + +/** + * Quaternion is a number system that extends the complex numbers. It can be expressed as a + * rotation in three-dimensional space. + * A quaternion is generally represented in the form: + * \f[q = w + x\boldsymbol{i} + y\boldsymbol{j} + z\boldsymbol{k}\f] + * \f[q = [w, x, y, z]\f] + * \f[q = [w, \boldsymbol{v}] \f] + * \f[q = ||q||[\cos\psi, u_x\sin\psi,u_y\sin\psi, u_z\sin\psi].\f] + * \f[q = ||q||[\cos\psi, \boldsymbol{u}\sin\psi]\f] + * where \f$\psi = \frac{\theta}{2}\f$, \f$\theta\f$ represents rotation angle, + * \f$\boldsymbol{u} = [u_x, u_y, u_z]\f$ represents normalized rotation axis, + * and \f$||q||\f$ represents the norm of \f$q\f$. + * + * A unit quaternion is usually represents rotation, which has the form: + * \f[q = [\cos\psi, u_x\sin\psi,u_y\sin\psi, u_z\sin\psi].\f] + * + * To create a quaternion representing the rotation around the axis \f$\boldsymbol{u}\f$ + * with angle \f$\theta\f$, you can use + * ``` + * using namespace cv; + * double angle = CV_PI; + * Vec3d axis = {0, 0, 1}; + * Quatd q = Quatd::createFromAngleAxis(angle, axis); + * ``` + * + * You can simply use four same type number to create a quaternion + * ``` + * Quatd q(1, 2, 3, 4); + * ``` + * Or use a Vec4d or Vec4f vector. + * ``` + * Vec4d vec{1, 2, 3, 4}; + * Quatd q(vec); + * ``` + * + * ``` + * Vec4f vec{1, 2, 3, 4}; + * Quatf q(vec); + * ``` + * + * If you already have a 3x3 rotation matrix R, then you can use + * ``` + * Quatd q = Quatd::createFromRotMat(R); + * ``` + * + * If you already have a rotation vector rvec which has the form of `angle * axis`, then you can use + * ``` + * Quatd q = Quatd::createFromRvec(rvec); + * ``` + * + * To extract the rotation matrix from quaternion, see toRotMat3x3() + * + * To extract the Vec4d or Vec4f, see toVec() + * + * To extract the rotation vector, see toRotVec() + * + * If there are two quaternions \f$q_0, q_1\f$ are needed to interpolate, you can use nlerp(), slerp() or spline() + * ``` + * Quatd::nlerp(q0, q1, t) + * + * Quatd::slerp(q0, q1, t) + * + * Quatd::spline(q0, q0, q1, q1, t) + * ``` + * spline can smoothly connect rotations of multiple quaternions + * + * Three ways to get an element in Quaternion + * ``` + * Quatf q(1,2,3,4); + * std::cout << q.w << std::endl; // w=1, x=2, y=3, z=4 + * std::cout << q[0] << std::endl; // q[0]=1, q[1]=2, q[2]=3, q[3]=4 + * std::cout << q.at(0) << std::endl; + * ``` + */ +template +class Quat +{ + static_assert(std::is_floating_point<_Tp>::value, "Quaternion only make sense with type of float or double"); + using value_type = _Tp; +public: + static constexpr _Tp CV_QUAT_EPS = (_Tp)1.e-6; + static constexpr _Tp CV_QUAT_CONVERT_THRESHOLD = (_Tp)1.e-6; + + Quat(); + + /** + * @brief From Vec4d or Vec4f. + */ + explicit Quat(const Vec<_Tp, 4> &coeff); + + /** + * @brief from four numbers. + */ + Quat(_Tp w, _Tp x, _Tp y, _Tp z); + + /** + * @brief from an angle, axis. Axis will be normalized in this function. And + * it generates + * \f[q = [\cos\psi, u_x\sin\psi,u_y\sin\psi, u_z\sin\psi].\f] + * where \f$\psi = \frac{\theta}{2}\f$, \f$\theta\f$ is the rotation angle. + */ + static Quat<_Tp> createFromAngleAxis(const _Tp angle, const Vec<_Tp, 3> &axis); + + /** + * @brief from a 3x3 rotation matrix. + */ + static Quat<_Tp> createFromRotMat(InputArray R); + + /** + * @brief from a rotation vector + * \f$r\f$ has the form \f$\theta \cdot \boldsymbol{u}\f$, where \f$\theta\f$ + * represents rotation angle and \f$\boldsymbol{u}\f$ represents normalized rotation axis. + * + * Angle and axis could be easily derived as: + * \f[ + * \begin{equation} + * \begin{split} + * \psi &= ||r||\\ + * \boldsymbol{u} &= \frac{r}{\theta} + * \end{split} + * \end{equation} + * \f] + * Then a quaternion can be calculated by + * \f[q = [\cos\psi, \boldsymbol{u}\sin\psi]\f] + * where \f$\psi = \theta / 2 \f$ + */ + static Quat<_Tp> createFromRvec(InputArray rvec); + + /** + * @brief + * from Euler angles + * + * A quaternion can be generated from Euler angles by combining the quaternion representations of the Euler rotations. + * + * For example, if we use intrinsic rotations in the order of X-Y-Z,\f$\theta_1 \f$ is rotation around the X-axis, \f$\theta_2 \f$ is rotation around the Y-axis, + * \f$\theta_3 \f$ is rotation around the Z-axis. The final quaternion q can be calculated by + * + * \f[ {q} = q_{X, \theta_1} q_{Y, \theta_2} q_{Z, \theta_3}\f] + * where \f$ q_{X, \theta_1} \f$ is created from @ref createFromXRot, \f$ q_{Y, \theta_2} \f$ is created from @ref createFromYRot, + * \f$ q_{Z, \theta_3} \f$ is created from @ref createFromZRot. + * @param angles the Euler angles in a vector of length 3 + * @param eulerAnglesType the convertion Euler angles type + */ + static Quat<_Tp> createFromEulerAngles(const Vec<_Tp, 3> &angles, QuatEnum::EulerAnglesType eulerAnglesType); + + /** + * @brief get a quaternion from a rotation about the Y-axis by \f$\theta\f$ . + * \f[q = \cos(\theta/2)+0 i+ sin(\theta/2) j +0k \f] + */ + static Quat<_Tp> createFromYRot(const _Tp theta); + + /** + * @brief get a quaternion from a rotation about the X-axis by \f$\theta\f$ . + * \f[q = \cos(\theta/2)+sin(\theta/2) i +0 j +0 k \f] + */ + static Quat<_Tp> createFromXRot(const _Tp theta); + + /** + * @brief get a quaternion from a rotation about the Z-axis by \f$\theta\f$. + * \f[q = \cos(\theta/2)+0 i +0 j +sin(\theta/2) k \f] + */ + static Quat<_Tp> createFromZRot(const _Tp theta); + + /** + * @brief a way to get element. + * @param index over a range [0, 3]. + * + * A quaternion q + * + * q.at(0) is equivalent to q.w, + * + * q.at(1) is equivalent to q.x, + * + * q.at(2) is equivalent to q.y, + * + * q.at(3) is equivalent to q.z. + */ + _Tp at(size_t index) const; + + /** + * @brief return the conjugate of this quaternion. + * \f[q.conjugate() = (w, -x, -y, -z).\f] + */ + Quat<_Tp> conjugate() const; + + /** + * + * @brief return the value of exponential value. + * \f[\exp(q) = e^w (\cos||\boldsymbol{v}||+ \frac{v}{||\boldsymbol{v}||})\sin||\boldsymbol{v}||\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example: + * ``` + * Quatd q{1,2,3,4}; + * cout << exp(q) << endl; + * ``` + */ + template + friend Quat exp(const Quat &q); + + /** + * @brief return the value of exponential value. + * \f[\exp(q) = e^w (\cos||\boldsymbol{v}||+ \frac{v}{||\boldsymbol{v}||}\sin||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q{1,2,3,4}; + * cout << q.exp() << endl; + * ``` + */ + Quat<_Tp> exp() const; + + /** + * @brief return the value of logarithm function. + * \f[\ln(q) = \ln||q|| + \frac{\boldsymbol{v}}{||\boldsymbol{v}||}\arccos\frac{w}{||q||}.\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * @param assumeUnit if QUAT_ASSUME_UNIT, q assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd q1{1,2,3,4}; + * cout << log(q1) << endl; + * ``` + */ + template + friend Quat log(const Quat &q, QuatAssumeType assumeUnit); + + /** + * @brief return the value of logarithm function. + * \f[\ln(q) = \ln||q|| + \frac{\boldsymbol{v}}{||\boldsymbol{v}||}\arccos\frac{w}{||q||}\f]. + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.log(); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * Quatd q1(1,2,3,4); + * q1.normalize().log(assumeUnit); + * ``` + */ + Quat<_Tp> log(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the value of power function with index \f$x\f$. + * \f[q^x = ||q||(cos(x\theta) + \boldsymbol{u}sin(x\theta))).\f] + * @param q a quaternion. + * @param x index of exponentiation. + * @param assumeUnit if QUAT_ASSUME_UNIT, quaternion q assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * power(q, 2.0); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * double angle = CV_PI; + * Vec3d axis{0, 0, 1}; + * Quatd q1 = Quatd::createFromAngleAxis(angle, axis); //generate a unit quat by axis and angle + * power(q1, 2.0, assumeUnit);//This assumeUnit means q1 is a unit quaternion. + * ``` + * @note the type of the index should be the same as the quaternion. + */ + template + friend Quat power(const Quat &q, const T x, QuatAssumeType assumeUnit); + + /** + * @brief return the value of power function with index \f$x\f$. + * \f[q^x = ||q||(\cos(x\theta) + \boldsymbol{u}\sin(x\theta))).\f] + * @param x index of exponentiation. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.power(2.0); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * double angle = CV_PI; + * Vec3d axis{0, 0, 1}; + * Quatd q1 = Quatd::createFromAngleAxis(angle, axis); //generate a unit quat by axis and angle + * q1.power(2.0, assumeUnit); //This assumeUnt means q1 is a unit quaternion + * ``` + */ + Quat<_Tp> power(const _Tp x, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return \f$\sqrt{q}\f$. + * @param q a quaternion. + * @param assumeUnit if QUAT_ASSUME_UNIT, quaternion q assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatf q(1,2,3,4); + * sqrt(q); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q = {1,0,0,0}; + * sqrt(q, assumeUnit); //This assumeUnit means q is a unit quaternion. + * ``` + */ + template + friend Quat sqrt(const Quat &q, QuatAssumeType assumeUnit); + + /** + * @brief return \f$\sqrt{q}\f$. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatf q(1,2,3,4); + * q.sqrt(); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q = {1,0,0,0}; + * q.sqrt(assumeUnit); //This assumeUnit means q is a unit quaternion + * ``` + */ + Quat<_Tp> sqrt(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the value of power function with quaternion \f$q\f$. + * \f[p^q = e^{q\ln(p)}.\f] + * @param p base quaternion of power function. + * @param q index quaternion of power function. + * @param assumeUnit if QUAT_ASSUME_UNIT, quaternion \f$p\f$ assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd p(1,2,3,4); + * Quatd q(5,6,7,8); + * power(p, q); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * p = p.normalize(); + * power(p, q, assumeUnit); //This assumeUnit means p is a unit quaternion + * ``` + */ + template + friend Quat power(const Quat &p, const Quat &q, QuatAssumeType assumeUnit); + + /** + * @brief return the value of power function with quaternion \f$q\f$. + * \f[p^q = e^{q\ln(p)}.\f] + * @param q index quaternion of power function. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd p(1,2,3,4); + * Quatd q(5,6,7,8); + * p.power(q); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * p = p.normalize(); + * p.power(q, assumeUnit); //This assumeUnit means p is a unit quaternion + * ``` + */ + Quat<_Tp> power(const Quat<_Tp> &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the crossProduct between \f$p = (a, b, c, d) = (a, \boldsymbol{u})\f$ and \f$q = (w, x, y, z) = (w, \boldsymbol{v})\f$. + * \f[p \times q = \frac{pq- qp}{2}\f] + * \f[p \times q = \boldsymbol{u} \times \boldsymbol{v}\f] + * \f[p \times q = (cz-dy)i + (dx-bz)j + (by-xc)k \f] + * + * For example + * ``` + * Quatd q{1,2,3,4}; + * Quatd p{5,6,7,8}; + * crossProduct(p, q); + * ``` + */ + template + friend Quat crossProduct(const Quat &p, const Quat &q); + + /** + * @brief return the crossProduct between \f$p = (a, b, c, d) = (a, \boldsymbol{u})\f$ and \f$q = (w, x, y, z) = (w, \boldsymbol{v})\f$. + * \f[p \times q = \frac{pq- qp}{2}.\f] + * \f[p \times q = \boldsymbol{u} \times \boldsymbol{v}.\f] + * \f[p \times q = (cz-dy)i + (dx-bz)j + (by-xc)k. \f] + * + * For example + * ``` + * Quatd q{1,2,3,4}; + * Quatd p{5,6,7,8}; + * p.crossProduct(q) + * ``` + */ + Quat<_Tp> crossProduct(const Quat<_Tp> &q) const; + + /** + * @brief return the norm of quaternion. + * \f[||q|| = \sqrt{w^2 + x^2 + y^2 + z^2}.\f] + */ + _Tp norm() const; + + /** + * @brief return a normalized \f$p\f$. + * \f[p = \frac{q}{||q||}\f] + * where \f$p\f$ satisfies \f$(p.x)^2 + (p.y)^2 + (p.z)^2 + (p.w)^2 = 1.\f$ + */ + Quat<_Tp> normalize() const; + + /** + * @brief return \f$q^{-1}\f$ which is an inverse of \f$q\f$ + * which satisfies \f$q * q^{-1} = 1\f$. + * @param q a quaternion. + * @param assumeUnit if QUAT_ASSUME_UNIT, quaternion q assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * inv(q); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q = q.normalize(); + * inv(q, assumeUnit);//This assumeUnit means p is a unit quaternion + * ``` + */ + template + friend Quat inv(const Quat &q, QuatAssumeType assumeUnit); + + /** + * @brief return \f$q^{-1}\f$ which is an inverse of \f$q\f$ + * satisfying \f$q * q^{-1} = 1\f$. + * @param assumeUnit if QUAT_ASSUME_UNIT, quaternion q assume to be a unit quaternion and this function will save some computations. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.inv(); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q = q.normalize(); + * q.inv(assumeUnit); //assumeUnit means p is a unit quaternion + * ``` + */ + Quat<_Tp> inv(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return sinh value of quaternion q, sinh could be calculated as: + * \f[\sinh(p) = \sin(w)\cos(||\boldsymbol{v}||) + \cosh(w)\frac{v}{||\boldsymbol{v}||}\sin||\boldsymbol{v}||\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * sinh(q); + * ``` + */ + template + friend Quat sinh(const Quat &q); + + /** + * @brief return sinh value of this quaternion, sinh could be calculated as: + * \f$\sinh(p) = \sin(w)\cos(||\boldsymbol{v}||) + \cosh(w)\frac{v}{||\boldsymbol{v}||}\sin||\boldsymbol{v}||\f$ + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.sinh(); + * ``` + */ + Quat<_Tp> sinh() const; + + /** + * @brief return cosh value of quaternion q, cosh could be calculated as: + * \f[\cosh(p) = \cosh(w) * \cos(||\boldsymbol{v}||) + \sinh(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sin(||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * cosh(q); + * ``` + */ + template + friend Quat cosh(const Quat &q); + + /** + * @brief return cosh value of this quaternion, cosh could be calculated as: + * \f[\cosh(p) = \cosh(w) * \cos(||\boldsymbol{v}||) + \sinh(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}sin(||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.cosh(); + * ``` + */ + Quat<_Tp> cosh() const; + + /** + * @brief return tanh value of quaternion q, tanh could be calculated as: + * \f[ \tanh(q) = \frac{\sinh(q)}{\cosh(q)}.\f] + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * tanh(q); + * ``` + * @sa sinh, cosh + */ + template + friend Quat tanh(const Quat &q); + + /** + * @brief return tanh value of this quaternion, tanh could be calculated as: + * \f[ \tanh(q) = \frac{\sinh(q)}{\cosh(q)}.\f] + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.tanh(); + * ``` + * @sa sinh, cosh + */ + Quat<_Tp> tanh() const; + + /** + * @brief return tanh value of quaternion q, sin could be calculated as: + * \f[\sin(p) = \sin(w) * \cosh(||\boldsymbol{v}||) + \cos(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sinh(||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * sin(q); + * ``` + */ + template + friend Quat sin(const Quat &q); + + /** + * @brief return sin value of this quaternion, sin could be calculated as: + * \f[\sin(p) = \sin(w) * \cosh(||\boldsymbol{v}||) + \cos(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sinh(||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.sin(); + * ``` + */ + Quat<_Tp> sin() const; + + /** + * @brief return sin value of quaternion q, cos could be calculated as: + * \f[\cos(p) = \cos(w) * \cosh(||\boldsymbol{v}||) - \sin(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sinh(||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * cos(q); + * ``` + */ + template + friend Quat cos(const Quat &q); + + /** + * @brief return cos value of this quaternion, cos could be calculated as: + * \f[\cos(p) = \cos(w) * \cosh(||\boldsymbol{v}||) - \sin(w)\frac{\boldsymbol{v}}{||\boldsymbol{v}||}\sinh(||\boldsymbol{v}||)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.cos(); + * ``` + */ + Quat<_Tp> cos() const; + + /** + * @brief return tan value of quaternion q, tan could be calculated as: + * \f[\tan(q) = \frac{\sin(q)}{\cos(q)}.\f] + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * tan(q); + * ``` + */ + template + friend Quat tan(const Quat &q); + + /** + * @brief return tan value of this quaternion, tan could be calculated as: + * \f[\tan(q) = \frac{\sin(q)}{\cos(q)}.\f] + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.tan(); + * ``` + */ + Quat<_Tp> tan() const; + + /** + * @brief return arcsin value of quaternion q, arcsin could be calculated as: + * \f[\arcsin(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arcsinh(q\frac{\boldsymbol{v}}{||\boldsymbol{v}||})\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * asin(q); + * ``` + */ + template + friend Quat asin(const Quat &q); + + /** + * @brief return arcsin value of this quaternion, arcsin could be calculated as: + * \f[\arcsin(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arcsinh(q\frac{\boldsymbol{v}}{||\boldsymbol{v}||})\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.asin(); + * ``` + */ + Quat<_Tp> asin() const; + + /** + * @brief return arccos value of quaternion q, arccos could be calculated as: + * \f[\arccos(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arccosh(q)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * acos(q); + * ``` + */ + template + friend Quat acos(const Quat &q); + + /** + * @brief return arccos value of this quaternion, arccos could be calculated as: + * \f[\arccos(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arccosh(q)\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.acos(); + * ``` + */ + Quat<_Tp> acos() const; + + /** + * @brief return arctan value of quaternion q, arctan could be calculated as: + * \f[\arctan(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arctanh(q\frac{\boldsymbol{v}}{||\boldsymbol{v}||})\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * atan(q); + * ``` + */ + template + friend Quat atan(const Quat &q); + + /** + * @brief return arctan value of this quaternion, arctan could be calculated as: + * \f[\arctan(q) = -\frac{\boldsymbol{v}}{||\boldsymbol{v}||}arctanh(q\frac{\boldsymbol{v}}{||\boldsymbol{v}||})\f] + * where \f$\boldsymbol{v} = [x, y, z].\f$ + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.atan(); + * ``` + */ + Quat<_Tp> atan() const; + + /** + * @brief return arcsinh value of quaternion q, arcsinh could be calculated as: + * \f[arcsinh(q) = \ln(q + \sqrt{q^2 + 1})\f]. + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * asinh(q); + * ``` + */ + template + friend Quat asinh(const Quat &q); + + /** + * @brief return arcsinh value of this quaternion, arcsinh could be calculated as: + * \f[arcsinh(q) = \ln(q + \sqrt{q^2 + 1})\f]. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.asinh(); + * ``` + */ + Quat<_Tp> asinh() const; + + /** + * @brief return arccosh value of quaternion q, arccosh could be calculated as: + * \f[arccosh(q) = \ln(q + \sqrt{q^2 - 1})\f]. + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * acosh(q); + * ``` + */ + template + friend Quat acosh(const Quat &q); + + /** + * @brief return arccosh value of this quaternion, arccosh could be calculated as: + * \f[arcosh(q) = \ln(q + \sqrt{q^2 - 1})\f]. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.acosh(); + * ``` + */ + Quat<_Tp> acosh() const; + + /** + * @brief return arctanh value of quaternion q, arctanh could be calculated as: + * \f[arctanh(q) = \frac{\ln(q + 1) - \ln(1 - q)}{2}\f]. + * @param q a quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * atanh(q); + * ``` + */ + template + friend Quat atanh(const Quat &q); + + /** + * @brief return arctanh value of this quaternion, arctanh could be calculated as: + * \f[arcsinh(q) = \frac{\ln(q + 1) - \ln(1 - q)}{2}\f]. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.atanh(); + * ``` + */ + Quat<_Tp> atanh() const; + + /** + * @brief return true if this quaternion is a unit quaternion. + * @param eps tolerance scope of normalization. The eps could be defined as + * + * \f[eps = |1 - dotValue|\f] where \f[dotValue = (this.w^2 + this.x^2 + this,y^2 + this.z^2).\f] + * And this function will consider it is normalized when the dotValue over a range \f$[1-eps, 1+eps]\f$. + */ + bool isNormal(_Tp eps=CV_QUAT_EPS) const; + + /** + * @brief to throw an error if this quaternion is not a unit quaternion. + * @param eps tolerance scope of normalization. + * @sa isNormal + */ + void assertNormal(_Tp eps=CV_QUAT_EPS) const; + + /** + * @brief transform a quaternion to a 3x3 rotation matrix. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and + * this function will save some computations. Otherwise, this function will normalize this + * quaternion at first then do the transformation. + * + * @note Matrix A which is to be rotated should have the form + * \f[\begin{bmatrix} + * x_0& x_1& x_2&...&x_n\\ + * y_0& y_1& y_2&...&y_n\\ + * z_0& z_1& z_2&...&z_n + * \end{bmatrix}\f] + * where the same subscript represents a point. The shape of A assume to be [3, n] + * The points matrix A can be rotated by toRotMat3x3() * A. + * The result has 3 rows and n columns too. + + * For example + * ``` + * double angle = CV_PI; + * Vec3d axis{0,0,1}; + * Quatd q_unit = Quatd::createFromAngleAxis(angle, axis); //quaternion could also be get by interpolation by two or more quaternions. + * + * //assume there is two points (1,0,0) and (1,0,1) to be rotated + * Mat pointsA = (Mat_(2, 3) << 1,0,0,1,0,1); + * //change the shape + * pointsA = pointsA.t(); + * // rotate 180 degrees around the z axis + * Mat new_point = q_unit.toRotMat3x3() * pointsA; + * // print two points + * cout << new_point << endl; + * ``` + */ + Matx<_Tp, 3, 3> toRotMat3x3(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief transform a quaternion to a 4x4 rotation matrix. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and + * this function will save some computations. Otherwise, this function will normalize this + * quaternion at first then do the transformation. + * + * The operations is similar as toRotMat3x3 + * except that the points matrix should have the form + * \f[\begin{bmatrix} + * x_0& x_1& x_2&...&x_n\\ + * y_0& y_1& y_2&...&y_n\\ + * z_0& z_1& z_2&...&z_n\\ + * 0&0&0&...&0 + * \end{bmatrix}\f] + * + * @sa toRotMat3x3 + */ + + Matx<_Tp, 4, 4> toRotMat4x4(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief transform the this quaternion to a Vec. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.toVec(); + * ``` + */ + Vec<_Tp, 4> toVec() const; + + /** + * @brief transform this quaternion to a Rotation vector. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and + * this function will save some computations. + * Rotation vector rVec is defined as: + * \f[ rVec = [\theta v_x, \theta v_y, \theta v_z]\f] + * where \f$\theta\f$ represents rotation angle, and \f$\boldsymbol{v}\f$ represents the normalized rotation axis. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.toRotVec(); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q.normalize().toRotVec(assumeUnit); //answer is same as q.toRotVec(). + * ``` + */ + Vec<_Tp, 3> toRotVec(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief get the angle of quaternion, it returns the rotation angle. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and + * this function will save some computations. + * \f[\psi = 2 *arccos(\frac{w}{||q||})\f] + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.getAngle(); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q.normalize().getAngle(assumeUnit);//same as q.getAngle(). + * ``` + * @note It always return the value between \f$[0, 2\pi]\f$. + */ + _Tp getAngle(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief get the axis of quaternion, it returns a vector of length 3. + * @param assumeUnit if QUAT_ASSUME_UNIT, this quaternion assume to be a unit quaternion and + * this function will save some computations. + * + * the unit axis \f$\boldsymbol{u}\f$ is defined by + * \f[\begin{equation} + * \begin{split} + * \boldsymbol{v} + * &= \boldsymbol{u} ||\boldsymbol{v}||\\ + * &= \boldsymbol{u}||q||sin(\frac{\theta}{2}) + * \end{split} + * \end{equation}\f] + * where \f$v=[x, y ,z]\f$ and \f$\theta\f$ represents rotation angle. + * + * + * For example + * ``` + * Quatd q(1,2,3,4); + * q.getAxis(); + * + * QuatAssumeType assumeUnit = QUAT_ASSUME_UNIT; + * q.normalize().getAxis(assumeUnit);//same as q.getAxis() + * ``` + */ + Vec<_Tp, 3> getAxis(QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT) const; + + /** + * @brief return the dot between quaternion \f$q\f$ and this quaternion. + * + * dot(p, q) is a good metric of how close the quaternions are. + * Indeed, consider the unit quaternion difference \f$p^{-1} * q\f$, its real part is dot(p, q). + * At the same time its real part is equal to \f$\cos(\beta/2)\f$ where \f$\beta\f$ is + * an angle of rotation between p and q, i.e., + * Therefore, the closer dot(p, q) to 1, + * the smaller rotation between them. + * \f[p \cdot q = p.w \cdot q.w + p.x \cdot q.x + p.y \cdot q.y + p.z \cdot q.z\f] + * @param q the other quaternion. + * + * For example + * ``` + * Quatd q(1,2,3,4); + * Quatd p(5,6,7,8); + * p.dot(q); + * ``` + */ + _Tp dot(Quat<_Tp> q) const; + + /** + * @brief To calculate the interpolation from \f$q_0\f$ to \f$q_1\f$ by Linear Interpolation(Nlerp) + * For two quaternions, this interpolation curve can be displayed as: + * \f[Lerp(q_0, q_1, t) = (1 - t)q_0 + tq_1.\f] + * Obviously, the lerp will interpolate along a straight line if we think of \f$q_0\f$ and \f$q_1\f$ as a vector + * in a two-dimensional space. When \f$t = 0\f$, it returns \f$q_0\f$ and when \f$t= 1\f$, it returns \f$q_1\f$. + * \f$t\f$ should to be ranged in \f$[0, 1]\f$ normally. + * @param q0 a quaternion used in linear interpolation. + * @param q1 a quaternion used in linear interpolation. + * @param t percent of vector \f$\overrightarrow{q_0q_1}\f$ over a range [0, 1]. + * @note it returns a non-unit quaternion. + */ + static Quat<_Tp> lerp(const Quat<_Tp> &q0, const Quat &q1, const _Tp t); + + /** + * @brief To calculate the interpolation from \f$q_0\f$ to \f$q_1\f$ by Normalized Linear Interpolation(Nlerp). + * it returns a normalized quaternion of Linear Interpolation(Lerp). + * \f[ Nlerp(q_0, q_1, t) = \frac{(1 - t)q_0 + tq_1}{||(1 - t)q_0 + tq_1||}.\f] + * The interpolation will always choose the shortest path but the constant speed is not guaranteed. + * @param q0 a quaternion used in normalized linear interpolation. + * @param q1 a quaternion used in normalized linear interpolation. + * @param t percent of vector \f$\overrightarrow{q_0q_1}\f$ over a range [0, 1]. + * @param assumeUnit if QUAT_ASSUME_UNIT, all input quaternions assume to be unit quaternion. Otherwise, all inputs + quaternion will be normalized inside the function. + * @sa lerp + */ + static Quat<_Tp> nlerp(const Quat<_Tp> &q0, const Quat &q1, const _Tp t, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + + /** + @brief To calculate the interpolation between \f$q_0\f$ and \f$q_1\f$ by Spherical Linear + Interpolation(Slerp), which can be defined as: + \f[ Slerp(q_0, q_1, t) = \frac{\sin((1-t)\theta)}{\sin(\theta)}q_0 + \frac{\sin(t\theta)}{\sin(\theta)}q_1\f] + where \f$\theta\f$ can be calculated as: + \f[\theta=cos^{-1}(q_0\cdot q_1)\f] + resulting from the both of their norm is unit. + @param q0 a quaternion used in Slerp. + @param q1 a quaternion used in Slerp. + @param t percent of angle between \f$q_0\f$ and \f$q_1\f$ over a range [0, 1]. + @param assumeUnit if QUAT_ASSUME_UNIT, all input quaternions assume to be unit quaternions. Otherwise, all input + quaternions will be normalized inside the function. + @param directChange if QUAT_ASSUME_UNIT, the interpolation will choose the nearest path. + @note If the interpolation angle is small, the error between Nlerp and Slerp is not so large. To improve efficiency and + avoid zero division error, we use Nlerp instead of Slerp. + */ + static Quat<_Tp> slerp(const Quat<_Tp> &q0, const Quat &q1, const _Tp t, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT, bool directChange=true); + + /** + * @brief To calculate the interpolation between \f$q_0\f$,\f$q_1\f$,\f$q_2\f$,\f$q_3\f$ by Spherical and quadrangle(Squad). This could be defined as: + * \f[Squad(q_i, s_i, s_{i+1}, q_{i+1}, t) = Slerp(Slerp(q_i, q_{i+1}, t), Slerp(s_i, s_{i+1}, t), 2t(1-t))\f] + * where + * \f[s_i = q_i\exp(-\frac{\log(q^*_iq_{i+1}) + \log(q^*_iq_{i-1})}{4})\f] + * + * The Squad expression is analogous to the \f$B\acute{e}zier\f$ curve, but involves spherical linear + * interpolation instead of simple linear interpolation. Each \f$s_i\f$ needs to be calculated by three + * quaternions. + * + * @param q0 the first quaternion. + * @param s0 the second quaternion. + * @param s1 the third quaternion. + * @param q1 thr fourth quaternion. + * @param t interpolation parameter of quadratic and linear interpolation over a range \f$[0, 1]\f$. + * @param assumeUnit if QUAT_ASSUME_UNIT, all input quaternions assume to be unit quaternion. Otherwise, all input + * quaternions will be normalized inside the function. + * @param directChange if QUAT_ASSUME_UNIT, squad will find the nearest path to interpolate. + * @sa interPoint, spline + */ + static Quat<_Tp> squad(const Quat<_Tp> &q0, const Quat<_Tp> &s0, + const Quat<_Tp> &s1, const Quat<_Tp> &q1, + const _Tp t, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT, + bool directChange=true); + + /** + * @brief This is the part calculation of squad. + * To calculate the intermedia quaternion \f$s_i\f$ between each three quaternion + * \f[s_i = q_i\exp(-\frac{\log(q^*_iq_{i+1}) + \log(q^*_iq_{i-1})}{4}).\f] + * @param q0 the first quaternion. + * @param q1 the second quaternion. + * @param q2 the third quaternion. + * @param assumeUnit if QUAT_ASSUME_UNIT, all input quaternions assume to be unit quaternion. Otherwise, all input + * quaternions will be normalized inside the function. + * @sa squad + */ + static Quat<_Tp> interPoint(const Quat<_Tp> &q0, const Quat<_Tp> &q1, + const Quat<_Tp> &q2, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + + /** + * @brief to calculate a quaternion which is the result of a \f$C^1\f$ continuous + * spline curve constructed by squad at the ratio t. Here, the interpolation values are + * between \f$q_1\f$ and \f$q_2\f$. \f$q_0\f$ and \f$q_2\f$ are used to ensure the \f$C^1\f$ + * continuity. if t = 0, it returns \f$q_1\f$, if t = 1, it returns \f$q_2\f$. + * @param q0 the first input quaternion to ensure \f$C^1\f$ continuity. + * @param q1 the second input quaternion. + * @param q2 the third input quaternion. + * @param q3 the fourth input quaternion the same use of \f$q1\f$. + * @param t ratio over a range [0, 1]. + * @param assumeUnit if QUAT_ASSUME_UNIT, \f$q_0, q_1, q_2, q_3\f$ assume to be unit quaternion. Otherwise, all input + * quaternions will be normalized inside the function. + * + * For example: + * + * If there are three double quaternions \f$v_0, v_1, v_2\f$ waiting to be interpolated. + * + * Interpolation between \f$v_0\f$ and \f$v_1\f$ with a ratio \f$t_0\f$ could be calculated as + * ``` + * Quatd::spline(v0, v0, v1, v2, t0); + * ``` + * Interpolation between \f$v_1\f$ and \f$v_2\f$ with a ratio \f$t_0\f$ could be calculated as + * ``` + * Quatd::spline(v0, v1, v2, v2, t0); + * ``` + * @sa squad, slerp + */ + static Quat<_Tp> spline(const Quat<_Tp> &q0, const Quat<_Tp> &q1, + const Quat<_Tp> &q2, const Quat<_Tp> &q3, + const _Tp t, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + + /** + * @brief Return opposite quaternion \f$-p\f$ + * which satisfies \f$p + (-p) = 0.\f$ + * + * For example + * ``` + * Quatd q{1, 2, 3, 4}; + * std::cout << -q << std::endl; // [-1, -2, -3, -4] + * ``` + */ + Quat<_Tp> operator-() const; + + /** + * @brief return true if two quaternions p and q are nearly equal, i.e. when the absolute + * value of each \f$p_i\f$ and \f$q_i\f$ is less than CV_QUAT_EPS. + */ + bool operator==(const Quat<_Tp>&) const; + + /** + * @brief Addition operator of two quaternions p and q. + * It returns a new quaternion that each value is the sum of \f$p_i\f$ and \f$q_i\f$. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * std::cout << p + q << std::endl; //[6, 8, 10, 12] + * ``` + */ + Quat<_Tp> operator+(const Quat<_Tp>&) const; + + /** + * @brief Addition assignment operator of two quaternions p and q. + * It adds right operand to the left operand and assign the result to left operand. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * p += q; // equivalent to p = p + q + * std::cout << p << std::endl; //[6, 8, 10, 12] + * + * ``` + */ + Quat<_Tp>& operator+=(const Quat<_Tp>&); + + /** + * @brief Subtraction operator of two quaternions p and q. + * It returns a new quaternion that each value is the sum of \f$p_i\f$ and \f$-q_i\f$. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * std::cout << p - q << std::endl; //[-4, -4, -4, -4] + * ``` + */ + Quat<_Tp> operator-(const Quat<_Tp>&) const; + + /** + * @brief Subtraction assignment operator of two quaternions p and q. + * It subtracts right operand from the left operand and assign the result to left operand. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * p -= q; // equivalent to p = p - q + * std::cout << p << std::endl; //[-4, -4, -4, -4] + * + * ``` + */ + Quat<_Tp>& operator-=(const Quat<_Tp>&); + + /** + * @brief Multiplication assignment operator of two quaternions q and p. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of quaternion multiplication: + * \f[ + * \begin{equation} + * \begin{split} + * p * q &= [p_0, \boldsymbol{u}]*[q_0, \boldsymbol{v}]\\ + * &=[p_0q_0 - \boldsymbol{u}\cdot \boldsymbol{v}, p_0\boldsymbol{v} + q_0\boldsymbol{u}+ \boldsymbol{u}\times \boldsymbol{v}]. + * \end{split} + * \end{equation} + * \f] + * where \f$\cdot\f$ means dot product and \f$\times \f$ means cross product. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * p *= q; // equivalent to p = p * q + * std::cout << p << std::endl; //[-60, 12, 30, 24] + * ``` + */ + Quat<_Tp>& operator*=(const Quat<_Tp>&); + + /** + * @brief Multiplication assignment operator of a quaternions and a scalar. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of quaternion multiplication with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p * s &= [w, x, y, z] * s\\ + * &=[w * s, x * s, y * s, z * s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double s = 2.0; + * p *= s; // equivalent to p = p * s + * std::cout << p << std::endl; //[2.0, 4.0, 6.0, 8.0] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + Quat<_Tp>& operator*=(const _Tp s); + + /** + * @brief Multiplication operator of two quaternions q and p. + * Multiplies values on either side of the operator. + * + * Rule of quaternion multiplication: + * \f[ + * \begin{equation} + * \begin{split} + * p * q &= [p_0, \boldsymbol{u}]*[q_0, \boldsymbol{v}]\\ + * &=[p_0q_0 - \boldsymbol{u}\cdot \boldsymbol{v}, p_0\boldsymbol{v} + q_0\boldsymbol{u}+ \boldsymbol{u}\times \boldsymbol{v}]. + * \end{split} + * \end{equation} + * \f] + * where \f$\cdot\f$ means dot product and \f$\times \f$ means cross product. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * std::cout << p * q << std::endl; //[-60, 12, 30, 24] + * ``` + */ + Quat<_Tp> operator*(const Quat<_Tp>&) const; + + /** + * @brief Division operator of a quaternions and a scalar. + * It divides left operand with the right operand and assign the result to left operand. + * + * Rule of quaternion division with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p / s &= [w, x, y, z] / s\\ + * &=[w/s, x/s, y/s, z/s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double s = 2.0; + * p /= s; // equivalent to p = p / s + * std::cout << p << std::endl; //[0.5, 1, 1.5, 2] + * ``` + * @note the type of scalar should be equal to this quaternion. + */ + Quat<_Tp> operator/(const _Tp s) const; + + /** + * @brief Division operator of two quaternions p and q. + * Divides left hand operand by right hand operand. + * + * Rule of quaternion division with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p / q &= p * q.inv()\\ + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * std::cout << p / q << std::endl; // equivalent to p * q.inv() + * ``` + */ + Quat<_Tp> operator/(const Quat<_Tp>&) const; + + /** + * @brief Division assignment operator of a quaternions and a scalar. + * It divides left operand with the right operand and assign the result to left operand. + * + * Rule of quaternion division with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p / s &= [w, x, y, z] / s\\ + * &=[w / s, x / s, y / s, z / s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double s = 2.0;; + * p /= s; // equivalent to p = p / s + * std::cout << p << std::endl; //[0.5, 1.0, 1.5, 2.0] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + Quat<_Tp>& operator/=(const _Tp s); + + /** + * @brief Division assignment operator of two quaternions p and q; + * It divides left operand with the right operand and assign the result to left operand. + * + * Rule of quaternion division with a quaternion: + * \f[ + * \begin{equation} + * \begin{split} + * p / q&= p * q.inv()\\ + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * Quatd q{5, 6, 7, 8}; + * p /= q; // equivalent to p = p * q.inv() + * std::cout << p << std::endl; + * ``` + */ + Quat<_Tp>& operator/=(const Quat<_Tp>&); + + _Tp& operator[](std::size_t n); + + const _Tp& operator[](std::size_t n) const; + + /** + * @brief Subtraction operator of a scalar and a quaternions. + * Subtracts right hand operand from left hand operand. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double scalar = 2.0; + * std::cout << scalar - p << std::endl; //[1.0, -2, -3, -4] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + template + friend Quat cv::operator-(const T s, const Quat&); + + /** + * @brief Subtraction operator of a quaternions and a scalar. + * Subtracts right hand operand from left hand operand. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double scalar = 2.0; + * std::cout << p - scalar << std::endl; //[-1.0, 2, 3, 4] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + template + friend Quat cv::operator-(const Quat&, const T s); + + /** + * @brief Addition operator of a quaternions and a scalar. + * Adds right hand operand from left hand operand. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double scalar = 2.0; + * std::cout << scalar + p << std::endl; //[3.0, 2, 3, 4] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + template + friend Quat cv::operator+(const T s, const Quat&); + + /** + * @brief Addition operator of a quaternions and a scalar. + * Adds right hand operand from left hand operand. + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double scalar = 2.0; + * std::cout << p + scalar << std::endl; //[3.0, 2, 3, 4] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + template + friend Quat cv::operator+(const Quat&, const T s); + + /** + * @brief Multiplication operator of a scalar and a quaternions. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of quaternion multiplication with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p * s &= [w, x, y, z] * s\\ + * &=[w * s, x * s, y * s, z * s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double s = 2.0; + * std::cout << s * p << std::endl; //[2.0, 4.0, 6.0, 8.0] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + template + friend Quat cv::operator*(const T s, const Quat&); + + /** + * @brief Multiplication operator of a quaternion and a scalar. + * It multiplies right operand with the left operand and assign the result to left operand. + * + * Rule of quaternion multiplication with a scalar: + * \f[ + * \begin{equation} + * \begin{split} + * p * s &= [w, x, y, z] * s\\ + * &=[w * s, x * s, y * s, z * s]. + * \end{split} + * \end{equation} + * \f] + * + * For example + * ``` + * Quatd p{1, 2, 3, 4}; + * double s = 2.0; + * std::cout << p * s << std::endl; //[2.0, 4.0, 6.0, 8.0] + * ``` + * @note the type of scalar should be equal to the quaternion. + */ + template + friend Quat cv::operator*(const Quat&, const T s); + + template + friend std::ostream& cv::operator<<(std::ostream&, const Quat&); + + /** + * @brief Transform a quaternion q to Euler angles. + * + * + * When transforming a quaternion \f$q = w + x\boldsymbol{i} + y\boldsymbol{j} + z\boldsymbol{k}\f$ to Euler angles, rotation matrix M can be calculated by: + * \f[ \begin{aligned} {M} &={\begin{bmatrix}1-2(y^{2}+z^{2})&2(xy-zx)&2(xz+yw)\\2(xy+zw)&1-2(x^{2}+z^{2})&2(yz-xw)\\2(xz-yw)&2(yz+xw)&1-2(x^{2}+y^{2})\end{bmatrix}}\end{aligned}.\f] + * On the other hand, the rotation matrix can be obtained from Euler angles. + * Using intrinsic rotations with Euler angles type XYZ as an example, + * \f$\theta_1 \f$, \f$\theta_2 \f$, \f$\theta_3 \f$ are three angles for Euler angles, the rotation matrix R can be calculated by:\f[R =X(\theta_1)Y(\theta_2)Z(\theta_3) + * ={\begin{bmatrix}\cos\theta_{2}\cos\theta_{3}&-\cos\theta_{2}\sin\theta_{3}&\sin\theta_{2}\\\cos\theta_{1}\sin\theta_{3}+\cos\theta_{3}\sin\theta_{1}\sin\theta_{2}&\cos\theta_{1}\cos\theta_{3}-\sin\theta_{1}\sin\theta_{2}\sin\theta_{3}&-\cos\theta_{2}\sin\theta_{1}\\\sin\theta_{1}\sin\theta_{3}-\cos\theta_{1}\cos\theta_{3}\sin\theta_{2}&\cos\theta_{3}\sin\theta_{1}+\cos\theta_{1}\sin\theta_{2}\sin\theta_{3}&\cos\theta_{1}\cos_{2}\end{bmatrix}}\f] + * Rotation matrix M and R are equal. As long as \f$ s_{2} \neq 1 \f$, by comparing each element of two matrices ,the solution is\f$\begin{cases} \theta_1 = \arctan2(-m_{23},m_{33})\\\theta_2 = arcsin(m_{13}) \\\theta_3 = \arctan2(-m_{12},m_{11}) \end{cases}\f$. + * + * When \f$ s_{2}=1\f$ or \f$ s_{2}=-1\f$, the gimbal lock occurs. The function will prompt "WARNING: Gimbal Lock will occur. Euler angles is non-unique. For intrinsic rotations, we set the third angle to 0, and for external rotation, we set the first angle to 0.". + * + * When \f$ s_{2}=1\f$ , + * The rotation matrix R is \f$R = {\begin{bmatrix}0&0&1\\\sin(\theta_1+\theta_3)&\cos(\theta_1+\theta_3)&0\\-\cos(\theta_1+\theta_3)&\sin(\theta_1+\theta_3)&0\end{bmatrix}}\f$. + * + * The number of solutions is infinite with the condition \f$\begin{cases} \theta_1+\theta_3 = \arctan2(m_{21},m_{22})\\ \theta_2=\pi/2 \end{cases}\ \f$. + * + * We set \f$ \theta_3 = 0\f$, the solution is \f$\begin{cases} \theta_1=\arctan2(m_{21},m_{22})\\ \theta_2=\pi/2\\ \theta_3=0 \end{cases}\f$. + * + * When \f$ s_{2}=-1\f$, + * The rotation matrix R is \f$X_{1}Y_{2}Z_{3}={\begin{bmatrix}0&0&-1\\-\sin(\theta_1-\theta_3)&\cos(\theta_1-\theta_3)&0\\\cos(\theta_1-\theta_3)&\sin(\theta_1-\theta_3)&0\end{bmatrix}}\f$. + * + * The number of solutions is infinite with the condition \f$\begin{cases} \theta_1+\theta_3 = \arctan2(m_{32},m_{22})\\ \theta_2=\pi/2 \end{cases}\ \f$. + * + * We set \f$ \theta_3 = 0\f$, the solution is \f$ \begin{cases}\theta_1=\arctan2(m_{32},m_{22}) \\ \theta_2=-\pi/2\\ \theta_3=0\end{cases}\f$. + * + * Since \f$ sin \theta\in [-1,1] \f$ and \f$ cos \theta \in [-1,1] \f$, the unnormalized quaternion will cause computational troubles. For this reason, this function will normalize the quaternion at first and @ref QuatAssumeType is not needed. + * + * When the gimbal lock occurs, we set \f$\theta_3 = 0\f$ for intrinsic rotations or \f$\theta_1 = 0\f$ for extrinsic rotations. + * + * As a result, for every Euler angles type, we can get solution as shown in the following table. + * EulerAnglesType | Ordinary | \f$\theta_2 = π/2\f$ | \f$\theta_2 = -π/2\f$ + * ------------- | -------------| -------------| ------------- + * INT_XYZ|\f$ \theta_1 = \arctan2(-m_{23},m_{33})\\\theta_2 = \arcsin(m_{13}) \\\theta_3= \arctan2(-m_{12},m_{11}) \f$|\f$ \theta_1=\arctan2(m_{21},m_{22})\\ \theta_2=\pi/2\\ \theta_3=0 \f$|\f$ \theta_1=\arctan2(m_{32},m_{22})\\ \theta_2=-\pi/2\\ \theta_3=0 \f$ + * INT_XZY|\f$ \theta_1 = \arctan2(m_{32},m_{22})\\\theta_2 = -\arcsin(m_{12}) \\\theta_3= \arctan2(m_{13},m_{11}) \f$|\f$ \theta_1=\arctan2(m_{31},m_{33})\\ \theta_2=\pi/2\\ \theta_3=0 \f$|\f$ \theta_1=\arctan2(-m_{23},m_{33})\\ \theta_2=-\pi/2\\ \theta_3=0 \f$ + * INT_YXZ|\f$ \theta_1 = \arctan2(m_{13},m_{33})\\\theta_2 = -\arcsin(m_{23}) \\\theta_3= \arctan2(m_{21},m_{22}) \f$|\f$ \theta_1=\arctan2(m_{12},m_{11})\\ \theta_2=\pi/2\\ \theta_3=0 \f$|\f$ \theta_1=\arctan2(-m_{12},m_{11})\\ \theta_2=-\pi/2\\ \theta_3=0 \f$ + * INT_YZX|\f$ \theta_1 = \arctan2(-m_{31},m_{11})\\\theta_2 = \arcsin(m_{21}) \\\theta_3= \arctan2(-m_{23},m_{22}) \f$|\f$ \theta_1=\arctan2(m_{13},m_{33})\\ \theta_2=\pi/2\\ \theta_3=0 \f$|\f$ \theta_1=\arctan2(m_{13},m_{12})\\ \theta_2=-\pi/2\\ \theta_3=0 \f$ + * INT_ZXY|\f$ \theta_1 = \arctan2(-m_{12},m_{22})\\\theta_2 = \arcsin(m_{32}) \\\theta_3= \arctan2(-m_{31},m_{33}) \f$|\f$ \theta_1=\arctan2(m_{21},m_{11})\\ \theta_2=\pi/2\\ \theta_3=0 \f$|\f$ \theta_1=\arctan2(m_{21},m_{11})\\ \theta_2=-\pi/2\\ \theta_3=0 \f$ + * INT_ZYX|\f$ \theta_1 = \arctan2(m_{21},m_{11})\\\theta_2 = \arcsin(-m_{31}) \\\theta_3= \arctan2(m_{32},m_{33}) \f$|\f$ \theta_1=\arctan2(m_{23},m_{22})\\ \theta_2=\pi/2\\ \theta_3=0 \f$|\f$ \theta_1=\arctan2(-m_{12},m_{22})\\ \theta_2=-\pi/2\\ \theta_3=0 \f$ + * EXT_XYZ|\f$ \theta_1 = \arctan2(m_{32},m_{33})\\\theta_2 = \arcsin(-m_{31}) \\\ \theta_3 = \arctan2(m_{21},m_{11})\f$|\f$ \theta_1= 0\\ \theta_2=\pi/2\\ \theta_3=\arctan2(m_{23},m_{22}) \f$|\f$ \theta_1=0\\ \theta_2=-\pi/2\\ \theta_3=\arctan2(-m_{12},m_{22}) \f$ + * EXT_XZY|\f$ \theta_1 = \arctan2(-m_{23},m_{22})\\\theta_2 = \arcsin(m_{21}) \\\theta_3= \arctan2(-m_{31},m_{11})\f$|\f$ \theta_1= 0\\ \theta_2=\pi/2\\ \theta_3=\arctan2(m_{13},m_{33}) \f$|\f$ \theta_1=0\\ \theta_2=-\pi/2\\ \theta_3=\arctan2(m_{13},m_{12}) \f$ + * EXT_YXZ|\f$ \theta_1 = \arctan2(-m_{31},m_{33}) \\\theta_2 = \arcsin(m_{32}) \\\theta_3= \arctan2(-m_{12},m_{22})\f$|\f$ \theta_1= 0\\ \theta_2=\pi/2\\ \theta_3=\arctan2(m_{21},m_{11}) \f$|\f$ \theta_1=0\\ \theta_2=-\pi/2\\ \theta_3=\arctan2(m_{21},m_{11}) \f$ + * EXT_YZX|\f$ \theta_1 = \arctan2(m_{13},m_{11})\\\theta_2 = -\arcsin(m_{12}) \\\theta_3= \arctan2(m_{32},m_{22})\f$|\f$ \theta_1= 0\\ \theta_2=\pi/2\\ \theta_3=\arctan2(m_{31},m_{33}) \f$|\f$ \theta_1=0\\ \theta_2=-\pi/2\\ \theta_3=\arctan2(-m_{23},m_{33}) \f$ + * EXT_ZXY|\f$ \theta_1 = \arctan2(m_{21},m_{22})\\\theta_2 = -\arcsin(m_{23}) \\\theta_3= \arctan2(m_{13},m_{33})\f$|\f$ \theta_1= 0\\ \theta_2=\pi/2\\ \theta_3=\arctan2(m_{12},m_{11}) \f$|\f$ \theta_1= 0\\ \theta_2=-\pi/2\\ \theta_3=\arctan2(-m_{12},m_{11}) \f$ + * EXT_ZYX|\f$ \theta_1 = \arctan2(-m_{12},m_{11})\\\theta_2 = \arcsin(m_{13}) \\\theta_3= \arctan2(-m_{23},m_{33})\f$|\f$ \theta_1=0\\ \theta_2=\pi/2\\ \theta_3=\arctan2(m_{21},m_{22}) \f$|\f$ \theta_1=0\\ \theta_2=-\pi/2\\ \theta_3=\arctan2(m_{32},m_{22}) \f$ + * + * EulerAnglesType | Ordinary | \f$\theta_2 = 0\f$ | \f$\theta_2 = π\f$ + * ------------- | -------------| -------------| ------------- + * INT_XYX| \f$ \theta_1 = \arctan2(m_{21},-m_{31})\\\theta_2 =\arccos(m_{11}) \\\theta_3 = \arctan2(m_{12},m_{13}) \f$| \f$ \theta_1=\arctan2(m_{32},m_{33})\\ \theta_2=0\\ \theta_3=0 \f$| \f$ \theta_1=\arctan2(m_{23},m_{22})\\ \theta_2=\pi\\ \theta_3=0 \f$ + * INT_XZX| \f$ \theta_1 = \arctan2(m_{31},m_{21})\\\theta_2 = \arccos(m_{11}) \\\theta_3 = \arctan2(m_{13},-m_{12}) \f$| \f$ \theta_1=\arctan2(m_{32},m_{33})\\ \theta_2=0\\ \theta_3=0 \f$| \f$ \theta_1=\arctan2(-m_{32},m_{33})\\ \theta_2=\pi\\ \theta_3=0 \f$ + * INT_YXY| \f$ \theta_1 = \arctan2(m_{12},m_{32})\\\theta_2 = \arccos(m_{22}) \\\theta_3 = \arctan2(m_{21},-m_{23}) \f$| \f$ \theta_1=\arctan2(m_{13},m_{11})\\ \theta_2=0\\ \theta_3=0 \f$| \f$ \theta_1=\arctan2(-m_{31},m_{11})\\ \theta_2=\pi\\ \theta_3=0 \f$ + * INT_YZY| \f$ \theta_1 = \arctan2(m_{32},-m_{12})\\\theta_2 = \arccos(m_{22}) \\\theta_3 =\arctan2(m_{23},m_{21}) \f$| \f$ \theta_1=\arctan2(m_{13},m_{11})\\ \theta_2=0\\ \theta_3=0 \f$| \f$ \theta_1=\arctan2(m_{13},-m_{11})\\ \theta_2=\pi\\ \theta_3=0 \f$ + * INT_ZXZ| \f$ \theta_1 = \arctan2(-m_{13},m_{23})\\\theta_2 = \arccos(m_{33}) \\\theta_3 =\arctan2(m_{31},m_{32}) \f$| \f$ \theta_1=\arctan2(m_{21},m_{22})\\ \theta_2=0\\ \theta_3=0 \f$| \f$ \theta_1=\arctan2(m_{21},m_{11})\\ \theta_2=\pi\\ \theta_3=0 \f$ + * INT_ZYZ| \f$ \theta_1 = \arctan2(m_{23},m_{13})\\\theta_2 = \arccos(m_{33}) \\\theta_3 = \arctan2(m_{32},-m_{31}) \f$| \f$ \theta_1=\arctan2(m_{21},m_{11})\\ \theta_2=0\\ \theta_3=0 \f$| \f$ \theta_1=\arctan2(m_{21},m_{11})\\ \theta_2=\pi\\ \theta_3=0 \f$ + * EXT_XYX| \f$ \theta_1 = \arctan2(m_{12},m_{13}) \\\theta_2 = \arccos(m_{11}) \\\theta_3 = \arctan2(m_{21},-m_{31})\f$| \f$ \theta_1=0\\ \theta_2=0\\ \theta_3=\arctan2(m_{32},m_{33}) \f$| \f$ \theta_1= 0\\ \theta_2=\pi\\ \theta_3= \arctan2(m_{23},m_{22}) \f$ + * EXT_XZX| \f$ \theta_1 = \arctan2(m_{13},-m_{12})\\\theta_2 = \arccos(m_{11}) \\\theta_3 = \arctan2(m_{31},m_{21})\f$| \f$ \theta_1= 0\\ \theta_2=0\\ \theta_3=\arctan2(m_{32},m_{33}) \f$| \f$ \theta_1= 0\\ \theta_2=\pi\\ \theta_3=\arctan2(-m_{32},m_{33}) \f$ + * EXT_YXY| \f$ \theta_1 = \arctan2(m_{21},-m_{23})\\\theta_2 = \arccos(m_{22}) \\\theta_3 = \arctan2(m_{12},m_{32}) \f$| \f$ \theta_1= 0\\ \theta_2=0\\ \theta_3=\arctan2(m_{13},m_{11}) \f$| \f$ \theta_1= 0\\ \theta_2=\pi\\ \theta_3=\arctan2(-m_{31},m_{11}) \f$ + * EXT_YZY| \f$ \theta_1 = \arctan2(m_{23},m_{21}) \\\theta_2 = \arccos(m_{22}) \\\theta_3 = \arctan2(m_{32},-m_{12}) \f$| \f$ \theta_1= 0\\ \theta_2=0\\ \theta_3=\arctan2(m_{13},m_{11}) \f$| \f$ \theta_1=0\\ \theta_2=\pi\\ \theta_3=\arctan2(m_{13},-m_{11}) \f$ + * EXT_ZXZ| \f$ \theta_1 = \arctan2(m_{31},m_{32}) \\\theta_2 = \arccos(m_{33}) \\\theta_3 = \arctan2(-m_{13},m_{23})\f$| \f$ \theta_1=0\\ \theta_2=0\\ \theta_3=\arctan2(m_{21},m_{22}) \f$| \f$ \theta_1= 0\\ \theta_2=\pi\\ \theta_3=\arctan2(m_{21},m_{11}) \f$ + * EXT_ZYZ| \f$ \theta_1 = \arctan2(m_{32},-m_{31})\\\theta_2 = \arccos(m_{33}) \\\theta_3 = \arctan2(m_{23},m_{13}) \f$| \f$ \theta_1=0\\ \theta_2=0\\ \theta_3=\arctan2(m_{21},m_{11}) \f$| \f$ \theta_1= 0\\ \theta_2=\pi\\ \theta_3=\arctan2(m_{21},m_{11}) \f$ + * + * @param eulerAnglesType the convertion Euler angles type + */ + + Vec<_Tp, 3> toEulerAngles(QuatEnum::EulerAnglesType eulerAnglesType); + + _Tp w, x, y, z; + +}; + +template +Quat inv(const Quat &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + +template +Quat sinh(const Quat &q); + +template +Quat cosh(const Quat &q); + +template +Quat tanh(const Quat &q); + +template +Quat sin(const Quat &q); + +template +Quat cos(const Quat &q); + +template +Quat tan(const Quat &q); + +template +Quat asinh(const Quat &q); + +template +Quat acosh(const Quat &q); + +template +Quat atanh(const Quat &q); + +template +Quat asin(const Quat &q); + +template +Quat acos(const Quat &q); + +template +Quat atan(const Quat &q); + +template +Quat power(const Quat &q, const Quat &p, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + +template +Quat exp(const Quat &q); + +template +Quat log(const Quat &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + +template +Quat power(const Quat& q, const T x, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + +template +Quat crossProduct(const Quat &p, const Quat &q); + +template +Quat sqrt(const Quat &q, QuatAssumeType assumeUnit=QUAT_ASSUME_NOT_UNIT); + +template +Quat operator*(const T, const Quat&); + +template +Quat operator*(const Quat&, const T); + +template +std::ostream& operator<<(std::ostream&, const Quat&); + +using Quatd = Quat; +using Quatf = Quat; + +//! @} core +} + +#include "opencv2/core/quaternion.inl.hpp" + +#endif /* OPENCV_CORE_QUATERNION_HPP */ diff --git a/camera_lib/include/opencv2/core/quaternion.inl.hpp b/camera_lib/include/opencv2/core/quaternion.inl.hpp new file mode 100644 index 0000000..b901ecb --- /dev/null +++ b/camera_lib/include/opencv2/core/quaternion.inl.hpp @@ -0,0 +1,1063 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2020, Huawei Technologies Co., Ltd. All rights reserved. +// Third party copyrights are property of their respective owners. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Author: Liangqian Kong +// Longbu Wang + +#ifndef OPENCV_CORE_QUATERNION_INL_HPP +#define OPENCV_CORE_QUATERNION_INL_HPP + +#ifndef OPENCV_CORE_QUATERNION_HPP +#erorr This is not a standalone header. Include quaternion.hpp instead. +#endif + +//@cond IGNORE +/////////////////////////////////////////////////////////////////////////////////////// +//Implementation +namespace cv { + +template +Quat::Quat() : w(0), x(0), y(0), z(0) {} + +template +Quat::Quat(const Vec &coeff):w(coeff[0]), x(coeff[1]), y(coeff[2]), z(coeff[3]){} + +template +Quat::Quat(const T qw, const T qx, const T qy, const T qz):w(qw), x(qx), y(qy), z(qz){} + +template +Quat Quat::createFromAngleAxis(const T angle, const Vec &axis) +{ + T w, x, y, z; + T vNorm = std::sqrt(axis.dot(axis)); + if (vNorm < CV_QUAT_EPS) + { + CV_Error(Error::StsBadArg, "this quaternion does not represent a rotation"); + } + const T angle_half = angle * T(0.5); + w = std::cos(angle_half); + const T sin_v = std::sin(angle_half); + const T sin_norm = sin_v / vNorm; + x = sin_norm * axis[0]; + y = sin_norm * axis[1]; + z = sin_norm * axis[2]; + return Quat(w, x, y, z); +} + +template +Quat Quat::createFromRotMat(InputArray _R) +{ + CV_CheckTypeEQ(_R.type(), cv::traits::Type::value, ""); + if (_R.rows() != 3 || _R.cols() != 3) + { + CV_Error(Error::StsBadArg, "Cannot convert matrix to quaternion: rotation matrix should be a 3x3 matrix"); + } + Matx R; + _R.copyTo(R); + + T S, w, x, y, z; + T trace = R(0, 0) + R(1, 1) + R(2, 2); + if (trace > 0) + { + S = std::sqrt(trace + 1) * T(2); + x = (R(1, 2) - R(2, 1)) / S; + y = (R(2, 0) - R(0, 2)) / S; + z = (R(0, 1) - R(1, 0)) / S; + w = -T(0.25) * S; + } + else if (R(0, 0) > R(1, 1) && R(0, 0) > R(2, 2)) + { + + S = std::sqrt(T(1.0) + R(0, 0) - R(1, 1) - R(2, 2)) * T(2); + x = -T(0.25) * S; + y = -(R(1, 0) + R(0, 1)) / S; + z = -(R(0, 2) + R(2, 0)) / S; + w = (R(1, 2) - R(2, 1)) / S; + } + else if (R(1, 1) > R(2, 2)) + { + S = std::sqrt(T(1.0) - R(0, 0) + R(1, 1) - R(2, 2)) * T(2); + x = (R(0, 1) + R(1, 0)) / S; + y = T(0.25) * S; + z = (R(1, 2) + R(2, 1)) / S; + w = (R(0, 2) - R(2, 0)) / S; + } + else + { + S = std::sqrt(T(1.0) - R(0, 0) - R(1, 1) + R(2, 2)) * T(2); + x = (R(0, 2) + R(2, 0)) / S; + y = (R(1, 2) + R(2, 1)) / S; + z = T(0.25) * S; + w = -(R(0, 1) - R(1, 0)) / S; + } + return Quat (w, x, y, z); +} + +template +Quat Quat::createFromRvec(InputArray _rvec) +{ + if (!((_rvec.cols() == 1 && _rvec.rows() == 3) || (_rvec.cols() == 3 && _rvec.rows() == 1))) { + CV_Error(Error::StsBadArg, "Cannot convert rotation vector to quaternion: The length of rotation vector should be 3"); + } + Vec rvec; + _rvec.copyTo(rvec); + T psi = std::sqrt(rvec.dot(rvec)); + if (abs(psi) < CV_QUAT_EPS) { + return Quat (1, 0, 0, 0); + } + Vec axis = rvec / psi; + return createFromAngleAxis(psi, axis); +} + +template +inline Quat Quat::operator-() const +{ + return Quat(-w, -x, -y, -z); +} + + +template +inline bool Quat::operator==(const Quat &q) const +{ + return (abs(w - q.w) < CV_QUAT_EPS && abs(x - q.x) < CV_QUAT_EPS && abs(y - q.y) < CV_QUAT_EPS && abs(z - q.z) < CV_QUAT_EPS); +} + +template +inline Quat Quat::operator+(const Quat &q1) const +{ + return Quat(w + q1.w, x + q1.x, y + q1.y, z + q1.z); +} + +template +inline Quat operator+(const T a, const Quat& q) +{ + return Quat(q.w + a, q.x, q.y, q.z); +} + +template +inline Quat operator+(const Quat& q, const T a) +{ + return Quat(q.w + a, q.x, q.y, q.z); +} + +template +inline Quat operator-(const T a, const Quat& q) +{ + return Quat(a - q.w, -q.x, -q.y, -q.z); +} + +template +inline Quat operator-(const Quat& q, const T a) +{ + return Quat(q.w - a, q.x, q.y, q.z); +} + +template +inline Quat Quat::operator-(const Quat &q1) const +{ + return Quat(w - q1.w, x - q1.x, y - q1.y, z - q1.z); +} + +template +inline Quat& Quat::operator+=(const Quat &q1) +{ + w += q1.w; + x += q1.x; + y += q1.y; + z += q1.z; + return *this; +} + +template +inline Quat& Quat::operator-=(const Quat &q1) +{ + w -= q1.w; + x -= q1.x; + y -= q1.y; + z -= q1.z; + return *this; +} + +template +inline Quat Quat::operator*(const Quat &q1) const +{ + Vec q{w, x, y, z}; + Vec q2{q1.w, q1.x, q1.y, q1.z}; + return Quat(q * q2); +} + + +template +Quat operator*(const Quat &q1, const T a) +{ + return Quat(a * q1.w, a * q1.x, a * q1.y, a * q1.z); +} + +template +Quat operator*(const T a, const Quat &q1) +{ + return Quat(a * q1.w, a * q1.x, a * q1.y, a * q1.z); +} + +template +inline Quat& Quat::operator*=(const Quat &q1) +{ + T qw, qx, qy, qz; + qw = w * q1.w - x * q1.x - y * q1.y - z * q1.z; + qx = x * q1.w + w * q1.x + y * q1.z - z * q1.y; + qy = y * q1.w + w * q1.y + z * q1.x - x * q1.z; + qz = z * q1.w + w * q1.z + x * q1.y - y * q1.x; + w = qw; + x = qx; + y = qy; + z = qz; + return *this; +} + +template +inline Quat& Quat::operator/=(const Quat &q1) +{ + Quat q(*this * q1.inv()); + w = q.w; + x = q.x; + y = q.y; + z = q.z; + return *this; +} +template +Quat& Quat::operator*=(const T q1) +{ + w *= q1; + x *= q1; + y *= q1; + z *= q1; + return *this; +} + +template +inline Quat& Quat::operator/=(const T a) +{ + const T a_inv = 1.0 / a; + w *= a_inv; + x *= a_inv; + y *= a_inv; + z *= a_inv; + return *this; +} + +template +inline Quat Quat::operator/(const T a) const +{ + const T a_inv = T(1.0) / a; + return Quat(w * a_inv, x * a_inv, y * a_inv, z * a_inv); +} + +template +inline Quat Quat::operator/(const Quat &q) const +{ + return *this * q.inv(); +} + +template +inline const T& Quat::operator[](std::size_t n) const +{ + switch (n) { + case 0: + return w; + case 1: + return x; + case 2: + return y; + case 3: + return z; + default: + CV_Error(Error::StsOutOfRange, "subscript exceeds the index range"); + } +} + +template +inline T& Quat::operator[](std::size_t n) +{ + switch (n) { + case 0: + return w; + case 1: + return x; + case 2: + return y; + case 3: + return z; + default: + CV_Error(Error::StsOutOfRange, "subscript exceeds the index range"); + } +} + +template +std::ostream & operator<<(std::ostream &os, const Quat &q) +{ + os << "Quat " << Vec{q.w, q.x, q.y, q.z}; + return os; +} + +template +inline T Quat::at(size_t index) const +{ + return (*this)[index]; +} + +template +inline Quat Quat::conjugate() const +{ + return Quat(w, -x, -y, -z); +} + +template +inline T Quat::norm() const +{ + return std::sqrt(dot(*this)); +} + +template +Quat exp(const Quat &q) +{ + return q.exp(); +} + +template +Quat Quat::exp() const +{ + Vec v{x, y, z}; + T normV = std::sqrt(v.dot(v)); + T k = normV < CV_QUAT_EPS ? 1 : std::sin(normV) / normV; + return std::exp(w) * Quat(std::cos(normV), v[0] * k, v[1] * k, v[2] * k); +} + +template +Quat log(const Quat &q, QuatAssumeType assumeUnit) +{ + return q.log(assumeUnit); +} + +template +Quat Quat::log(QuatAssumeType assumeUnit) const +{ + Vec v{x, y, z}; + T vNorm = std::sqrt(v.dot(v)); + if (assumeUnit) + { + T k = vNorm < CV_QUAT_EPS ? 1 : std::acos(w) / vNorm; + return Quat(0, v[0] * k, v[1] * k, v[2] * k); + } + T qNorm = norm(); + if (qNorm < CV_QUAT_EPS) + { + CV_Error(Error::StsBadArg, "Cannot apply this quaternion to log function: undefined"); + } + T k = vNorm < CV_QUAT_EPS ? 1 : std::acos(w / qNorm) / vNorm; + return Quat(std::log(qNorm), v[0] * k, v[1] * k, v[2] *k); +} + +template +inline Quat power(const Quat &q1, const T alpha, QuatAssumeType assumeUnit) +{ + return q1.power(alpha, assumeUnit); +} + +template +inline Quat Quat::power(const T alpha, QuatAssumeType assumeUnit) const +{ + if (x * x + y * y + z * z > CV_QUAT_EPS) + { + T angle = getAngle(assumeUnit); + Vec axis = getAxis(assumeUnit); + if (assumeUnit) + { + return createFromAngleAxis(alpha * angle, axis); + } + return std::pow(norm(), alpha) * createFromAngleAxis(alpha * angle, axis); + } + else + { + return std::pow(norm(), alpha) * Quat(w, x, y, z); + } +} + + +template +inline Quat sqrt(const Quat &q, QuatAssumeType assumeUnit) +{ + return q.sqrt(assumeUnit); +} + +template +inline Quat Quat::sqrt(QuatAssumeType assumeUnit) const +{ + return power(0.5, assumeUnit); +} + + +template +inline Quat power(const Quat &p, const Quat &q, QuatAssumeType assumeUnit) +{ + return p.power(q, assumeUnit); +} + + +template +inline Quat Quat::power(const Quat &q, QuatAssumeType assumeUnit) const +{ + return cv::exp(q * log(assumeUnit)); +} + +template +inline T Quat::dot(Quat q1) const +{ + return w * q1.w + x * q1.x + y * q1.y + z * q1.z; +} + + +template +inline Quat crossProduct(const Quat &p, const Quat &q) +{ + return p.crossProduct(q); +} + + +template +inline Quat Quat::crossProduct(const Quat &q) const +{ + return Quat (0, y * q.z - z * q.y, z * q.x - x * q.z, x * q.y - q.x * y); +} + +template +inline Quat Quat::normalize() const +{ + T normVal = norm(); + if (normVal < CV_QUAT_EPS) + { + CV_Error(Error::StsBadArg, "Cannot normalize this quaternion: the norm is too small."); + } + return Quat(w / normVal, x / normVal, y / normVal, z / normVal) ; +} + +template +inline Quat inv(const Quat &q, QuatAssumeType assumeUnit) +{ + return q.inv(assumeUnit); +} + + +template +inline Quat Quat::inv(QuatAssumeType assumeUnit) const +{ + if (assumeUnit) + { + return conjugate(); + } + T norm2 = dot(*this); + if (norm2 < CV_QUAT_EPS) + { + CV_Error(Error::StsBadArg, "This quaternion do not have inverse quaternion"); + } + return conjugate() / norm2; +} + +template +inline Quat sinh(const Quat &q) +{ + return q.sinh(); +} + + +template +inline Quat Quat::sinh() const +{ + Vec v{x, y ,z}; + T vNorm = std::sqrt(v.dot(v)); + T k = vNorm < CV_QUAT_EPS ? 1 : std::cosh(w) * std::sin(vNorm) / vNorm; + return Quat(std::sinh(w) * std::cos(vNorm), v[0] * k, v[1] * k, v[2] * k); +} + + +template +inline Quat cosh(const Quat &q) +{ + return q.cosh(); +} + + +template +inline Quat Quat::cosh() const +{ + Vec v{x, y ,z}; + T vNorm = std::sqrt(v.dot(v)); + T k = vNorm < CV_QUAT_EPS ? 1 : std::sinh(w) * std::sin(vNorm) / vNorm; + return Quat(std::cosh(w) * std::cos(vNorm), v[0] * k, v[1] * k, v[2] * k); +} + +template +inline Quat tanh(const Quat &q) +{ + return q.tanh(); +} + +template +inline Quat Quat::tanh() const +{ + return sinh() * cosh().inv(); +} + + +template +inline Quat sin(const Quat &q) +{ + return q.sin(); +} + + +template +inline Quat Quat::sin() const +{ + Vec v{x, y ,z}; + T vNorm = std::sqrt(v.dot(v)); + T k = vNorm < CV_QUAT_EPS ? 1 : std::cos(w) * std::sinh(vNorm) / vNorm; + return Quat(std::sin(w) * std::cosh(vNorm), v[0] * k, v[1] * k, v[2] * k); +} + +template +inline Quat cos(const Quat &q) +{ + return q.cos(); +} + +template +inline Quat Quat::cos() const +{ + Vec v{x, y ,z}; + T vNorm = std::sqrt(v.dot(v)); + T k = vNorm < CV_QUAT_EPS ? 1 : std::sin(w) * std::sinh(vNorm) / vNorm; + return Quat(std::cos(w) * std::cosh(vNorm), -v[0] * k, -v[1] * k, -v[2] * k); +} + +template +inline Quat tan(const Quat &q) +{ + return q.tan(); +} + +template +inline Quat Quat::tan() const +{ + return sin() * cos().inv(); +} + +template +inline Quat asinh(const Quat &q) +{ + return q.asinh(); +} + +template +inline Quat Quat::asinh() const +{ + return cv::log(*this + cv::power(*this * *this + Quat(1, 0, 0, 0), 0.5)); +} + +template +inline Quat acosh(const Quat &q) +{ + return q.acosh(); +} + +template +inline Quat Quat::acosh() const +{ + return cv::log(*this + cv::power(*this * *this - Quat(1,0,0,0), 0.5)); +} + +template +inline Quat atanh(const Quat &q) +{ + return q.atanh(); +} + +template +inline Quat Quat::atanh() const +{ + Quat ident(1, 0, 0, 0); + Quat c1 = (ident + *this).log(); + Quat c2 = (ident - *this).log(); + return 0.5 * (c1 - c2); +} + +template +inline Quat asin(const Quat &q) +{ + return q.asin(); +} + +template +inline Quat Quat::asin() const +{ + Quat v(0, x, y, z); + T vNorm = v.norm(); + T k = vNorm < CV_QUAT_EPS ? 1 : vNorm; + return -v / k * (*this * v / k).asinh(); +} + +template +inline Quat acos(const Quat &q) +{ + return q.acos(); +} + +template +inline Quat Quat::acos() const +{ + Quat v(0, x, y, z); + T vNorm = v.norm(); + T k = vNorm < CV_QUAT_EPS ? 1 : vNorm; + return -v / k * acosh(); +} + +template +inline Quat atan(const Quat &q) +{ + return q.atan(); +} + +template +inline Quat Quat::atan() const +{ + Quat v(0, x, y, z); + T vNorm = v.norm(); + T k = vNorm < CV_QUAT_EPS ? 1 : vNorm; + return -v / k * (*this * v / k).atanh(); +} + +template +inline T Quat::getAngle(QuatAssumeType assumeUnit) const +{ + if (assumeUnit) + { + return 2 * std::acos(w); + } + if (norm() < CV_QUAT_EPS) + { + CV_Error(Error::StsBadArg, "This quaternion does not represent a rotation"); + } + return 2 * std::acos(w / norm()); +} + +template +inline Vec Quat::getAxis(QuatAssumeType assumeUnit) const +{ + T angle = getAngle(assumeUnit); + const T sin_v = std::sin(angle * 0.5); + if (assumeUnit) + { + return Vec{x, y, z} / sin_v; + } + return Vec {x, y, z} / (norm() * sin_v); +} + +template +Matx Quat::toRotMat4x4(QuatAssumeType assumeUnit) const +{ + T a = w, b = x, c = y, d = z; + if (!assumeUnit) + { + Quat qTemp = normalize(); + a = qTemp.w; + b = qTemp.x; + c = qTemp.y; + d = qTemp.z; + } + Matx R{ + 1 - 2 * (c * c + d * d), 2 * (b * c - a * d) , 2 * (b * d + a * c) , 0, + 2 * (b * c + a * d) , 1 - 2 * (b * b + d * d), 2 * (c * d - a * b) , 0, + 2 * (b * d - a * c) , 2 * (c * d + a * b) , 1 - 2 * (b * b + c * c), 0, + 0 , 0 , 0 , 1, + }; + return R; +} + +template +Matx Quat::toRotMat3x3(QuatAssumeType assumeUnit) const +{ + T a = w, b = x, c = y, d = z; + if (!assumeUnit) + { + Quat qTemp = normalize(); + a = qTemp.w; + b = qTemp.x; + c = qTemp.y; + d = qTemp.z; + } + Matx R{ + 1 - 2 * (c * c + d * d), 2 * (b * c - a * d) , 2 * (b * d + a * c), + 2 * (b * c + a * d) , 1 - 2 * (b * b + d * d), 2 * (c * d - a * b), + 2 * (b * d - a * c) , 2 * (c * d + a * b) , 1 - 2 * (b * b + c * c) + }; + return R; +} + +template +Vec Quat::toRotVec(QuatAssumeType assumeUnit) const +{ + T angle = getAngle(assumeUnit); + Vec axis = getAxis(assumeUnit); + return angle * axis; +} + +template +Vec Quat::toVec() const +{ + return Vec{w, x, y, z}; +} + +template +Quat Quat::lerp(const Quat &q0, const Quat &q1, const T t) +{ + return (1 - t) * q0 + t * q1; +} + +template +Quat Quat::slerp(const Quat &q0, const Quat &q1, const T t, QuatAssumeType assumeUnit, bool directChange) +{ + Quat v0(q0); + Quat v1(q1); + if (!assumeUnit) + { + v0 = v0.normalize(); + v1 = v1.normalize(); + } + T cosTheta = v0.dot(v1); + constexpr T DOT_THRESHOLD = 0.995; + if (std::abs(cosTheta) > DOT_THRESHOLD) + { + return nlerp(v0, v1, t, QUAT_ASSUME_UNIT); + } + + if (directChange && cosTheta < 0) + { + v0 = -v0; + cosTheta = -cosTheta; + } + T sinTheta = std::sqrt(1 - cosTheta * cosTheta); + T angle = atan2(sinTheta, cosTheta); + return (std::sin((1 - t) * angle) / (sinTheta) * v0 + std::sin(t * angle) / (sinTheta) * v1).normalize(); +} + + +template +inline Quat Quat::nlerp(const Quat &q0, const Quat &q1, const T t, QuatAssumeType assumeUnit) +{ + Quat v0(q0), v1(q1); + if (v1.dot(v0) < 0) + { + v0 = -v0; + } + if (assumeUnit) + { + return ((1 - t) * v0 + t * v1).normalize(); + } + v0 = v0.normalize(); + v1 = v1.normalize(); + return ((1 - t) * v0 + t * v1).normalize(); +} + + +template +inline bool Quat::isNormal(T eps) const +{ + + double normVar = norm(); + if ((normVar > 1 - eps) && (normVar < 1 + eps)) + return true; + return false; +} + +template +inline void Quat::assertNormal(T eps) const +{ + if (!isNormal(eps)) + CV_Error(Error::StsBadArg, "Quaternion should be normalized"); +} + + +template +inline Quat Quat::squad(const Quat &q0, const Quat &q1, + const Quat &q2, const Quat &q3, + const T t, QuatAssumeType assumeUnit, + bool directChange) +{ + Quat v0(q0), v1(q1), v2(q2), v3(q3); + if (!assumeUnit) + { + v0 = v0.normalize(); + v1 = v1.normalize(); + v2 = v2.normalize(); + v3 = v3.normalize(); + } + + Quat c0 = slerp(v0, v3, t, assumeUnit, directChange); + Quat c1 = slerp(v1, v2, t, assumeUnit, directChange); + return slerp(c0, c1, 2 * t * (1 - t), assumeUnit, directChange); +} + +template +Quat Quat::interPoint(const Quat &q0, const Quat &q1, + const Quat &q2, QuatAssumeType assumeUnit) +{ + Quat v0(q0), v1(q1), v2(q2); + if (!assumeUnit) + { + v0 = v0.normalize(); + v1 = v1.normalize(); + v2 = v2.normalize(); + } + return v1 * cv::exp(-(cv::log(v1.conjugate() * v0, assumeUnit) + (cv::log(v1.conjugate() * v2, assumeUnit))) / 4); +} + +template +Quat Quat::spline(const Quat &q0, const Quat &q1, const Quat &q2, const Quat &q3, const T t, QuatAssumeType assumeUnit) +{ + Quat v0(q0), v1(q1), v2(q2), v3(q3); + if (!assumeUnit) + { + v0 = v0.normalize(); + v1 = v1.normalize(); + v2 = v2.normalize(); + v3 = v3.normalize(); + } + T cosTheta; + std::vector> vec{v0, v1, v2, v3}; + for (size_t i = 0; i < 3; ++i) + { + cosTheta = vec[i].dot(vec[i + 1]); + if (cosTheta < 0) + { + vec[i + 1] = -vec[i + 1]; + } + } + Quat s1 = interPoint(vec[0], vec[1], vec[2], QUAT_ASSUME_UNIT); + Quat s2 = interPoint(vec[1], vec[2], vec[3], QUAT_ASSUME_UNIT); + return squad(vec[1], s1, s2, vec[2], t, assumeUnit, QUAT_ASSUME_NOT_UNIT); +} + +namespace detail { + +template static +Quat createFromAxisRot(int axis, const T theta) +{ + if (axis == 0) + return Quat::createFromXRot(theta); + if (axis == 1) + return Quat::createFromYRot(theta); + if (axis == 2) + return Quat::createFromZRot(theta); + CV_Assert(0); +} + +inline bool isIntAngleType(QuatEnum::EulerAnglesType eulerAnglesType) +{ + return eulerAnglesType < QuatEnum::EXT_XYZ; +} + +inline bool isTaitBryan(QuatEnum::EulerAnglesType eulerAnglesType) +{ + return eulerAnglesType/6 == 1 || eulerAnglesType/6 == 3; +} +} // namespace detail + +template +Quat Quat::createFromYRot(const T theta) +{ + return Quat{std::cos(theta * 0.5f), 0, std::sin(theta * 0.5f), 0}; +} + +template +Quat Quat::createFromXRot(const T theta){ + return Quat{std::cos(theta * 0.5f), std::sin(theta * 0.5f), 0, 0}; +} + +template +Quat Quat::createFromZRot(const T theta){ + return Quat{std::cos(theta * 0.5f), 0, 0, std::sin(theta * 0.5f)}; +} + + +template +Quat Quat::createFromEulerAngles(const Vec &angles, QuatEnum::EulerAnglesType eulerAnglesType) { + CV_Assert(eulerAnglesType < QuatEnum::EulerAnglesType::EULER_ANGLES_MAX_VALUE); + static const int rotationAxis[24][3] = { + {0, 1, 2}, ///< Intrinsic rotations with the Euler angles type X-Y-Z + {0, 2, 1}, ///< Intrinsic rotations with the Euler angles type X-Z-Y + {1, 0, 2}, ///< Intrinsic rotations with the Euler angles type Y-X-Z + {1, 2, 0}, ///< Intrinsic rotations with the Euler angles type Y-Z-X + {2, 0, 1}, ///< Intrinsic rotations with the Euler angles type Z-X-Y + {2, 1, 0}, ///< Intrinsic rotations with the Euler angles type Z-Y-X + {0, 1, 0}, ///< Intrinsic rotations with the Euler angles type X-Y-X + {0, 2, 0}, ///< Intrinsic rotations with the Euler angles type X-Z-X + {1, 0, 1}, ///< Intrinsic rotations with the Euler angles type Y-X-Y + {1, 2, 1}, ///< Intrinsic rotations with the Euler angles type Y-Z-Y + {2, 0, 2}, ///< Intrinsic rotations with the Euler angles type Z-X-Z + {2, 1, 2}, ///< Intrinsic rotations with the Euler angles type Z-Y-Z + {0, 1, 2}, ///< Extrinsic rotations with the Euler angles type X-Y-Z + {0, 2, 1}, ///< Extrinsic rotations with the Euler angles type X-Z-Y + {1, 0, 2}, ///< Extrinsic rotations with the Euler angles type Y-X-Z + {1, 2, 0}, ///< Extrinsic rotations with the Euler angles type Y-Z-X + {2, 0, 1}, ///< Extrinsic rotations with the Euler angles type Z-X-Y + {2, 1, 0}, ///< Extrinsic rotations with the Euler angles type Z-Y-X + {0, 1, 0}, ///< Extrinsic rotations with the Euler angles type X-Y-X + {0, 2, 0}, ///< Extrinsic rotations with the Euler angles type X-Z-X + {1, 0, 1}, ///< Extrinsic rotations with the Euler angles type Y-X-Y + {1, 2, 1}, ///< Extrinsic rotations with the Euler angles type Y-Z-Y + {2, 0, 2}, ///< Extrinsic rotations with the Euler angles type Z-X-Z + {2, 1, 2} ///< Extrinsic rotations with the Euler angles type Z-Y-Z + }; + Quat q1 = detail::createFromAxisRot(rotationAxis[eulerAnglesType][0], angles(0)); + Quat q2 = detail::createFromAxisRot(rotationAxis[eulerAnglesType][1], angles(1)); + Quat q3 = detail::createFromAxisRot(rotationAxis[eulerAnglesType][2], angles(2)); + if (detail::isIntAngleType(eulerAnglesType)) + { + return q1 * q2 * q3; + } + else // (!detail::isIntAngleType(eulerAnglesType)) + { + return q3 * q2 * q1; + } +} + +template +Vec Quat::toEulerAngles(QuatEnum::EulerAnglesType eulerAnglesType){ + CV_Assert(eulerAnglesType < QuatEnum::EulerAnglesType::EULER_ANGLES_MAX_VALUE); + Matx33d R = toRotMat3x3(); + enum { + C_ZERO, + C_PI, + C_PI_2, + N_CONSTANTS, + R_0_0 = N_CONSTANTS, R_0_1, R_0_2, + R_1_0, R_1_1, R_1_2, + R_2_0, R_2_1, R_2_2 + }; + static const T constants_[N_CONSTANTS] = { + 0, // C_ZERO + (T)CV_PI, // C_PI + (T)(CV_PI * 0.5) // C_PI_2, -C_PI_2 + }; + static const int rotationR_[24][12] = { + {+R_0_2, +R_1_0, +R_1_1, C_PI_2, +R_2_1, +R_1_1, -C_PI_2, -R_1_2, +R_2_2, +R_0_2, -R_0_1, +R_0_0}, // INT_XYZ + {+R_0_1, -R_1_2, +R_2_2, -C_PI_2, +R_2_0, +R_2_2, C_PI_2, +R_2_1, +R_1_1, -R_0_1, +R_0_2, +R_0_0}, // INT_XZY + {+R_1_2, -R_0_1, +R_0_0, -C_PI_2, +R_0_1, +R_0_0, C_PI_2, +R_0_2, +R_2_2, -R_1_2, +R_1_0, +R_1_1}, // INT_YXZ + {+R_1_0, +R_0_2, +R_2_2, C_PI_2, +R_0_2, +R_0_1, -C_PI_2, -R_2_0, +R_0_0, +R_1_0, -R_1_2, +R_1_1}, // INT_YZX + {+R_2_1, +R_1_0, +R_0_0, C_PI_2, +R_1_0, +R_0_0, -C_PI_2, -R_0_1, +R_1_1, +R_2_1, -R_2_0, +R_2_2}, // INT_ZXY + {+R_2_0, -R_0_1, +R_1_1, -C_PI_2, +R_1_2, +R_1_1, C_PI_2, +R_1_0, +R_0_0, -R_2_0, +R_2_1, +R_2_2}, // INT_ZYX + {+R_0_0, +R_2_1, +R_2_2, C_ZERO, +R_1_2, +R_1_1, C_PI, +R_1_0, -R_2_0, +R_0_0, +R_0_1, +R_0_2}, // INT_XYX + {+R_0_0, +R_2_1, +R_2_2, C_ZERO, -R_2_1, +R_2_2, C_PI, +R_2_0, +R_1_0, +R_0_0, +R_0_2, -R_0_1}, // INT_XZX + {+R_1_1, +R_0_2, +R_0_0, C_ZERO, -R_2_0, +R_0_0, C_PI, +R_0_1, +R_2_1, +R_1_1, +R_1_0, -R_1_2}, // INT_YXY + {+R_1_1, +R_0_2, +R_0_0, C_ZERO, +R_0_2, -R_0_0, C_PI, +R_2_1, -R_0_1, +R_1_1, +R_1_2, +R_1_0}, // INT_YZY + {+R_2_2, +R_1_0, +R_1_1, C_ZERO, +R_1_0, +R_0_0, C_PI, +R_0_2, -R_1_2, +R_2_2, +R_2_0, +R_2_1}, // INT_ZXZ + {+R_2_2, +R_1_0, +R_0_0, C_ZERO, +R_1_0, +R_0_0, C_PI, +R_1_2, +R_0_2, +R_2_2, +R_2_1, -R_2_0}, // INT_ZYZ + + {+R_2_0, -C_PI_2, -R_0_1, +R_1_1, C_PI_2, +R_1_2, +R_1_1, +R_2_1, +R_2_2, -R_2_0, +R_1_0, +R_0_0}, // EXT_XYZ + {+R_1_0, C_PI_2, +R_0_2, +R_2_2, -C_PI_2, +R_0_2, +R_0_1, -R_1_2, +R_1_1, +R_1_0, -R_2_0, +R_0_0}, // EXT_XZY + {+R_2_1, C_PI_2, +R_1_0, +R_0_0, -C_PI_2, +R_1_0, +R_0_0, -R_2_0, +R_2_2, +R_2_1, -R_0_1, +R_1_1}, // EXT_YXZ + {+R_0_2, -C_PI_2, -R_1_2, +R_2_2, C_PI_2, +R_2_0, +R_2_2, +R_0_2, +R_0_0, -R_0_1, +R_2_1, +R_1_1}, // EXT_YZX + {+R_1_2, -C_PI_2, -R_0_1, +R_0_0, C_PI_2, +R_0_1, +R_0_0, +R_1_0, +R_1_1, -R_1_2, +R_0_2, +R_2_2}, // EXT_ZXY + {+R_0_2, C_PI_2, +R_1_0, +R_1_1, -C_PI_2, +R_2_1, +R_1_1, -R_0_1, +R_0_0, +R_0_2, -R_1_2, +R_2_2}, // EXT_ZYX + {+R_0_0, C_ZERO, +R_2_1, +R_2_2, C_PI, +R_1_2, +R_1_1, +R_0_1, +R_0_2, +R_0_0, +R_1_0, -R_2_0}, // EXT_XYX + {+R_0_0, C_ZERO, +R_2_1, +R_2_2, C_PI, +R_2_1, +R_2_2, +R_0_2, -R_0_1, +R_0_0, +R_2_0, +R_1_0}, // EXT_XZX + {+R_1_1, C_ZERO, +R_0_2, +R_0_0, C_PI, -R_2_0, +R_0_0, +R_1_0, -R_1_2, +R_1_1, +R_0_1, +R_2_1}, // EXT_YXY + {+R_1_1, C_ZERO, +R_0_2, +R_0_0, C_PI, +R_0_2, -R_0_0, +R_1_2, +R_1_0, +R_1_1, +R_2_1, -R_0_1}, // EXT_YZY + {+R_2_2, C_ZERO, +R_1_0, +R_1_1, C_PI, +R_1_0, +R_0_0, +R_2_0, +R_2_1, +R_2_2, +R_0_2, -R_1_2}, // EXT_ZXZ + {+R_2_2, C_ZERO, +R_1_0, +R_0_0, C_PI, +R_1_0, +R_0_0, +R_2_1, -R_2_0, +R_2_2, +R_1_2, +R_0_2}, // EXT_ZYZ + }; + T rotationR[12]; + for (int i = 0; i < 12; i++) + { + int id = rotationR_[eulerAnglesType][i]; + unsigned idx = std::abs(id); + T value = 0.0f; + if (idx < N_CONSTANTS) + { + value = constants_[idx]; + } + else + { + unsigned r_idx = idx - N_CONSTANTS; + CV_DbgAssert(r_idx < 9); + value = R.val[r_idx]; + } + bool isNegative = id < 0; + if (isNegative) + value = -value; + rotationR[i] = value; + } + Vec angles; + if (detail::isIntAngleType(eulerAnglesType)) + { + if (abs(rotationR[0] - 1) < CV_QUAT_CONVERT_THRESHOLD) + { + CV_LOG_WARNING(NULL,"Gimbal Lock occurs. Euler angles are non-unique, we set the third angle to 0"); + angles = {std::atan2(rotationR[1], rotationR[2]), rotationR[3], 0}; + return angles; + } + else if(abs(rotationR[0] + 1) < CV_QUAT_CONVERT_THRESHOLD) + { + CV_LOG_WARNING(NULL,"Gimbal Lock occurs. Euler angles are non-unique, we set the third angle to 0"); + angles = {std::atan2(rotationR[4], rotationR[5]), rotationR[6], 0}; + return angles; + } + } + else // (!detail::isIntAngleType(eulerAnglesType)) + { + if (abs(rotationR[0] - 1) < CV_QUAT_CONVERT_THRESHOLD) + { + CV_LOG_WARNING(NULL,"Gimbal Lock occurs. Euler angles are non-unique, we set the first angle to 0"); + angles = {0, rotationR[1], std::atan2(rotationR[2], rotationR[3])}; + return angles; + } + else if (abs(rotationR[0] + 1) < CV_QUAT_CONVERT_THRESHOLD) + { + CV_LOG_WARNING(NULL,"Gimbal Lock occurs. Euler angles are non-unique, we set the first angle to 0"); + angles = {0, rotationR[4], std::atan2(rotationR[5], rotationR[6])}; + return angles; + } + } + + angles(0) = std::atan2(rotationR[7], rotationR[8]); + if (detail::isTaitBryan(eulerAnglesType)) + angles(1) = std::acos(rotationR[9]); + else + angles(1) = std::asin(rotationR[9]); + angles(2) = std::atan2(rotationR[10], rotationR[11]); + return angles; +} + +} // namepsace +//! @endcond + +#endif /*OPENCV_CORE_QUATERNION_INL_HPP*/ diff --git a/camera_lib/include/opencv2/core/saturate.hpp b/camera_lib/include/opencv2/core/saturate.hpp new file mode 100644 index 0000000..e0cc965 --- /dev/null +++ b/camera_lib/include/opencv2/core/saturate.hpp @@ -0,0 +1,180 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2014, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_SATURATE_HPP +#define OPENCV_CORE_SATURATE_HPP + +#include "opencv2/core/cvdef.h" +#include +#include "opencv2/core/fast_math.hpp" + +namespace cv +{ + +//! @addtogroup core_utils +//! @{ + +/////////////// saturate_cast (used in image & signal processing) /////////////////// + +/** @brief Template function for accurate conversion from one primitive type to another. + + The function saturate_cast resembles the standard C++ cast operations, such as static_cast\() + and others. It perform an efficient and accurate conversion from one primitive type to another + (see the introduction chapter). saturate in the name means that when the input value v is out of the + range of the target type, the result is not formed just by taking low bits of the input, but instead + the value is clipped. For example: + @code + uchar a = saturate_cast(-100); // a = 0 (UCHAR_MIN) + short b = saturate_cast(33333.33333); // b = 32767 (SHRT_MAX) + @endcode + Such clipping is done when the target type is unsigned char , signed char , unsigned short or + signed short . For 32-bit integers, no clipping is done. + + When the parameter is a floating-point value and the target type is an integer (8-, 16- or 32-bit), + the floating-point value is first rounded to the nearest integer and then clipped if needed (when + the target type is 8- or 16-bit). + + @param v Function parameter. + @sa add, subtract, multiply, divide, Mat::convertTo + */ +template static inline _Tp saturate_cast(uchar v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(schar v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(ushort v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(short v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(unsigned v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(int v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(float v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(double v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(int64 v) { return _Tp(v); } +/** @overload */ +template static inline _Tp saturate_cast(uint64 v) { return _Tp(v); } + +template<> inline uchar saturate_cast(schar v) { return (uchar)std::max((int)v, 0); } +template<> inline uchar saturate_cast(ushort v) { return (uchar)std::min((unsigned)v, (unsigned)UCHAR_MAX); } +template<> inline uchar saturate_cast(int v) { return (uchar)((unsigned)v <= UCHAR_MAX ? v : v > 0 ? UCHAR_MAX : 0); } +template<> inline uchar saturate_cast(short v) { return saturate_cast((int)v); } +template<> inline uchar saturate_cast(unsigned v) { return (uchar)std::min(v, (unsigned)UCHAR_MAX); } +template<> inline uchar saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline uchar saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline uchar saturate_cast(int64 v) { return (uchar)((uint64)v <= (uint64)UCHAR_MAX ? v : v > 0 ? UCHAR_MAX : 0); } +template<> inline uchar saturate_cast(uint64 v) { return (uchar)std::min(v, (uint64)UCHAR_MAX); } + +template<> inline schar saturate_cast(uchar v) { return (schar)std::min((int)v, SCHAR_MAX); } +template<> inline schar saturate_cast(ushort v) { return (schar)std::min((unsigned)v, (unsigned)SCHAR_MAX); } +template<> inline schar saturate_cast(int v) { return (schar)((unsigned)(v-SCHAR_MIN) <= (unsigned)UCHAR_MAX ? v : v > 0 ? SCHAR_MAX : SCHAR_MIN); } +template<> inline schar saturate_cast(short v) { return saturate_cast((int)v); } +template<> inline schar saturate_cast(unsigned v) { return (schar)std::min(v, (unsigned)SCHAR_MAX); } +template<> inline schar saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline schar saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline schar saturate_cast(int64 v) { return (schar)((uint64)((int64)v-SCHAR_MIN) <= (uint64)UCHAR_MAX ? v : v > 0 ? SCHAR_MAX : SCHAR_MIN); } +template<> inline schar saturate_cast(uint64 v) { return (schar)std::min(v, (uint64)SCHAR_MAX); } + +template<> inline ushort saturate_cast(schar v) { return (ushort)std::max((int)v, 0); } +template<> inline ushort saturate_cast(short v) { return (ushort)std::max((int)v, 0); } +template<> inline ushort saturate_cast(int v) { return (ushort)((unsigned)v <= (unsigned)USHRT_MAX ? v : v > 0 ? USHRT_MAX : 0); } +template<> inline ushort saturate_cast(unsigned v) { return (ushort)std::min(v, (unsigned)USHRT_MAX); } +template<> inline ushort saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline ushort saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline ushort saturate_cast(int64 v) { return (ushort)((uint64)v <= (uint64)USHRT_MAX ? v : v > 0 ? USHRT_MAX : 0); } +template<> inline ushort saturate_cast(uint64 v) { return (ushort)std::min(v, (uint64)USHRT_MAX); } + +template<> inline short saturate_cast(ushort v) { return (short)std::min((int)v, SHRT_MAX); } +template<> inline short saturate_cast(int v) { return (short)((unsigned)(v - SHRT_MIN) <= (unsigned)USHRT_MAX ? v : v > 0 ? SHRT_MAX : SHRT_MIN); } +template<> inline short saturate_cast(unsigned v) { return (short)std::min(v, (unsigned)SHRT_MAX); } +template<> inline short saturate_cast(float v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline short saturate_cast(double v) { int iv = cvRound(v); return saturate_cast(iv); } +template<> inline short saturate_cast(int64 v) { return (short)((uint64)((int64)v - SHRT_MIN) <= (uint64)USHRT_MAX ? v : v > 0 ? SHRT_MAX : SHRT_MIN); } +template<> inline short saturate_cast(uint64 v) { return (short)std::min(v, (uint64)SHRT_MAX); } + +template<> inline int saturate_cast(unsigned v) { return (int)std::min(v, (unsigned)INT_MAX); } +template<> inline int saturate_cast(int64 v) { return (int)((uint64)(v - INT_MIN) <= (uint64)UINT_MAX ? v : v > 0 ? INT_MAX : INT_MIN); } +template<> inline int saturate_cast(uint64 v) { return (int)std::min(v, (uint64)INT_MAX); } +template<> inline int saturate_cast(float v) { return cvRound(v); } +template<> inline int saturate_cast(double v) { return cvRound(v); } + +template<> inline unsigned saturate_cast(schar v) { return (unsigned)std::max(v, (schar)0); } +template<> inline unsigned saturate_cast(short v) { return (unsigned)std::max(v, (short)0); } +template<> inline unsigned saturate_cast(int v) { return (unsigned)std::max(v, (int)0); } +template<> inline unsigned saturate_cast(int64 v) { return (unsigned)((uint64)v <= (uint64)UINT_MAX ? v : v > 0 ? UINT_MAX : 0); } +template<> inline unsigned saturate_cast(uint64 v) { return (unsigned)std::min(v, (uint64)UINT_MAX); } +// we intentionally do not clip negative numbers, to make -1 become 0xffffffff etc. +template<> inline unsigned saturate_cast(float v) { return static_cast(cvRound(v)); } +template<> inline unsigned saturate_cast(double v) { return static_cast(cvRound(v)); } + +template<> inline uint64 saturate_cast(schar v) { return (uint64)std::max(v, (schar)0); } +template<> inline uint64 saturate_cast(short v) { return (uint64)std::max(v, (short)0); } +template<> inline uint64 saturate_cast(int v) { return (uint64)std::max(v, (int)0); } +template<> inline uint64 saturate_cast(int64 v) { return (uint64)std::max(v, (int64)0); } + +template<> inline int64 saturate_cast(uint64 v) { return (int64)std::min(v, (uint64)LLONG_MAX); } + +/** @overload */ +template static inline _Tp saturate_cast(float16_t v) { return saturate_cast<_Tp>((float)v); } + +// in theory, we could use a LUT for 8u/8s->16f conversion, +// but with hardware support for FP32->FP16 conversion the current approach is preferable +template<> inline float16_t saturate_cast(uchar v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(schar v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(ushort v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(short v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(unsigned v){ return float16_t((float)v); } +template<> inline float16_t saturate_cast(int v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(uint64 v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(int64 v) { return float16_t((float)v); } +template<> inline float16_t saturate_cast(float v) { return float16_t(v); } +template<> inline float16_t saturate_cast(double v) { return float16_t((float)v); } + +//! @} + +} // cv + +#endif // OPENCV_CORE_SATURATE_HPP diff --git a/camera_lib/include/opencv2/core/simd_intrinsics.hpp b/camera_lib/include/opencv2/core/simd_intrinsics.hpp new file mode 100644 index 0000000..2658d92 --- /dev/null +++ b/camera_lib/include/opencv2/core/simd_intrinsics.hpp @@ -0,0 +1,87 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_CORE_SIMD_INTRINSICS_HPP +#define OPENCV_CORE_SIMD_INTRINSICS_HPP + +/** +Helper header to support SIMD intrinsics (universal intrinsics) in user code. +Intrinsics documentation: https://docs.opencv.org/4.x/df/d91/group__core__hal__intrin.html + + +Checks of target CPU instruction set based on compiler definitions don't work well enough. +More reliable solutions require utilization of configuration systems (like CMake). + +So, probably you need to specify your own configuration. + +You can do that via CMake in this way: + add_definitions(/DOPENCV_SIMD_CONFIG_HEADER=opencv_simd_config_custom.hpp) +or + add_definitions(/DOPENCV_SIMD_CONFIG_INCLUDE_DIR=1) + +Additionally you may need to add include directory to your files: + include_directories("${CMAKE_CURRENT_LIST_DIR}/opencv_config_${MYTARGET}") + +These files can be pre-generated for target configurations of your application +or generated by CMake on the fly (use CMAKE_BINARY_DIR for that). + +Notes: +- H/W capability checks are still responsibility of your application +- runtime dispatching is not covered by this helper header +*/ + +#ifdef __OPENCV_BUILD +#error "Use core/hal/intrin.hpp during OpenCV build" +#endif + +#ifdef OPENCV_HAL_INTRIN_HPP +#error "core/simd_intrinsics.hpp must be included before core/hal/intrin.hpp" +#endif + +#include "opencv2/core/cvdef.h" + +#ifdef OPENCV_SIMD_CONFIG_HEADER +#include CVAUX_STR(OPENCV_SIMD_CONFIG_HEADER) +#elif defined(OPENCV_SIMD_CONFIG_INCLUDE_DIR) +#include "opencv_simd_config.hpp" // corresponding directory should be added via -I compiler parameter +#else // custom config headers + +#if (!defined(CV_AVX_512F) || !CV_AVX_512F) && (defined(__AVX512__) || defined(__AVX512F__)) +# include +# undef CV_AVX_512F +# define CV_AVX_512F 1 +# ifndef OPENCV_SIMD_DONT_ASSUME_SKX // Skylake-X with AVX-512F/CD/BW/DQ/VL +# undef CV_AVX512_SKX +# define CV_AVX512_SKX 1 +# undef CV_AVX_512CD +# define CV_AVX_512CD 1 +# undef CV_AVX_512BW +# define CV_AVX_512BW 1 +# undef CV_AVX_512DQ +# define CV_AVX_512DQ 1 +# undef CV_AVX_512VL +# define CV_AVX_512VL 1 +# endif +#endif // AVX512 + +// GCC/Clang: -mavx2 +// MSVC: /arch:AVX2 +#if defined __AVX2__ +# include +# undef CV_AVX2 +# define CV_AVX2 1 +# if defined __F16C__ +# undef CV_FP16 +# define CV_FP16 1 +# endif +#endif + +#endif + +// SSE / NEON / VSX is handled by cv_cpu_dispatch.h compatibility block +#include "cv_cpu_dispatch.h" + +#include "hal/intrin.hpp" + +#endif // OPENCV_CORE_SIMD_INTRINSICS_HPP diff --git a/camera_lib/include/opencv2/core/softfloat.hpp b/camera_lib/include/opencv2/core/softfloat.hpp new file mode 100644 index 0000000..485e15c --- /dev/null +++ b/camera_lib/include/opencv2/core/softfloat.hpp @@ -0,0 +1,514 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html + +// This file is based on files from package issued with the following license: + +/*============================================================================ + +This C header file is part of the SoftFloat IEEE Floating-Point Arithmetic +Package, Release 3c, by John R. Hauser. + +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017 The Regents of the +University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions, and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions, and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the University nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=============================================================================*/ + +#pragma once +#ifndef softfloat_h +#define softfloat_h 1 + +#include "cvdef.h" + +namespace cv +{ + +/** @addtogroup core_utils_softfloat + + [SoftFloat](http://www.jhauser.us/arithmetic/SoftFloat.html) is a software implementation + of floating-point calculations according to IEEE 754 standard. + All calculations are done in integers, that's why they are machine-independent and bit-exact. + This library can be useful in accuracy-critical parts like look-up tables generation, tests, etc. + OpenCV contains a subset of SoftFloat partially rewritten to C++. + + ### Types + + There are two basic types: @ref softfloat and @ref softdouble. + These types are binary compatible with float and double types respectively + and support conversions to/from them. + Other types from original SoftFloat library like fp16 or fp128 were thrown away + as well as quiet/signaling NaN support, on-the-fly rounding mode switch + and exception flags (though exceptions can be implemented in the future). + + ### Operations + + Both types support the following: + - Construction from signed and unsigned 32-bit and 64 integers, + float/double or raw binary representation + - Conversions between each other, to float or double and to int + using @ref cvRound, @ref cvTrunc, @ref cvFloor, @ref cvCeil or a bunch of + saturate_cast functions + - Add, subtract, multiply, divide, remainder, square root, FMA with absolute precision + - Comparison operations + - Explicit sign, exponent and significand manipulation through get/set methods, + number state indicators (isInf, isNan, isSubnormal) + - Type-specific constants like eps, minimum/maximum value, best pi approximation, etc. + - min(), max(), abs(), exp(), log() and pow() functions + +*/ +//! @{ + +struct softfloat; +struct softdouble; + +struct CV_EXPORTS softfloat +{ +public: + /** @brief Default constructor */ + softfloat() { v = 0; } + /** @brief Copy constructor */ + softfloat( const softfloat& c) { v = c.v; } + /** @brief Assign constructor */ + softfloat& operator=( const softfloat& c ) + { + if(&c != this) v = c.v; + return *this; + } + /** @brief Construct from raw + + Builds new value from raw binary representation + */ + static const softfloat fromRaw( const uint32_t a ) { softfloat x; x.v = a; return x; } + + /** @brief Construct from integer */ + explicit softfloat( const uint32_t ); + explicit softfloat( const uint64_t ); + explicit softfloat( const int32_t ); + explicit softfloat( const int64_t ); + +#ifdef CV_INT32_T_IS_LONG_INT + // for platforms with int32_t = long int + explicit softfloat( const int a ) { *this = softfloat(static_cast(a)); } +#endif + + /** @brief Construct from float */ + explicit softfloat( const float a ) { Cv32suf s; s.f = a; v = s.u; } + + /** @brief Type casts */ + operator softdouble() const; + operator float() const { Cv32suf s; s.u = v; return s.f; } + + /** @brief Basic arithmetics */ + softfloat operator + (const softfloat&) const; + softfloat operator - (const softfloat&) const; + softfloat operator * (const softfloat&) const; + softfloat operator / (const softfloat&) const; + softfloat operator - () const { softfloat x; x.v = v ^ (1U << 31); return x; } + + /** @brief Remainder operator + + A quote from original SoftFloat manual: + + > The IEEE Standard remainder operation computes the value + > a - n * b, where n is the integer closest to a / b. + > If a / b is exactly halfway between two integers, n is the even integer + > closest to a / b. The IEEE Standard’s remainder operation is always exact and so requires no rounding. + > Depending on the relative magnitudes of the operands, the remainder functions + > can take considerably longer to execute than the other SoftFloat functions. + > This is an inherent characteristic of the remainder operation itself and is not a flaw + > in the SoftFloat implementation. + */ + softfloat operator % (const softfloat&) const; + + softfloat& operator += (const softfloat& a) { *this = *this + a; return *this; } + softfloat& operator -= (const softfloat& a) { *this = *this - a; return *this; } + softfloat& operator *= (const softfloat& a) { *this = *this * a; return *this; } + softfloat& operator /= (const softfloat& a) { *this = *this / a; return *this; } + softfloat& operator %= (const softfloat& a) { *this = *this % a; return *this; } + + /** @brief Comparison operations + + - Any operation with NaN produces false + + The only exception is when x is NaN: x != y for any y. + - Positive and negative zeros are equal + */ + bool operator == ( const softfloat& ) const; + bool operator != ( const softfloat& ) const; + bool operator > ( const softfloat& ) const; + bool operator >= ( const softfloat& ) const; + bool operator < ( const softfloat& ) const; + bool operator <= ( const softfloat& ) const; + + /** @brief NaN state indicator */ + inline bool isNaN() const { return (v & 0x7fffffff) > 0x7f800000; } + /** @brief Inf state indicator */ + inline bool isInf() const { return (v & 0x7fffffff) == 0x7f800000; } + /** @brief Subnormal number indicator */ + inline bool isSubnormal() const { return ((v >> 23) & 0xFF) == 0; } + + /** @brief Get sign bit */ + inline bool getSign() const { return (v >> 31) != 0; } + /** @brief Construct a copy with new sign bit */ + inline softfloat setSign(bool sign) const { softfloat x; x.v = (v & ((1U << 31) - 1)) | ((uint32_t)sign << 31); return x; } + /** @brief Get 0-based exponent */ + inline int getExp() const { return ((v >> 23) & 0xFF) - 127; } + /** @brief Construct a copy with new 0-based exponent */ + inline softfloat setExp(int e) const { softfloat x; x.v = (v & 0x807fffff) | (((e + 127) & 0xFF) << 23 ); return x; } + + /** @brief Get a fraction part + + Returns a number 1 <= x < 2 with the same significand + */ + inline softfloat getFrac() const + { + uint_fast32_t vv = (v & 0x007fffff) | (127 << 23); + return softfloat::fromRaw(vv); + } + /** @brief Construct a copy with provided significand + + Constructs a copy of a number with significand taken from parameter + */ + inline softfloat setFrac(const softfloat& s) const + { + softfloat x; + x.v = (v & 0xff800000) | (s.v & 0x007fffff); + return x; + } + + /** @brief Zero constant */ + static softfloat zero() { return softfloat::fromRaw( 0 ); } + /** @brief Positive infinity constant */ + static softfloat inf() { return softfloat::fromRaw( 0xFF << 23 ); } + /** @brief Default NaN constant */ + static softfloat nan() { return softfloat::fromRaw( 0x7fffffff ); } + /** @brief One constant */ + static softfloat one() { return softfloat::fromRaw( 127 << 23 ); } + /** @brief Smallest normalized value */ + static softfloat min() { return softfloat::fromRaw( 0x01 << 23 ); } + /** @brief Difference between 1 and next representable value */ + static softfloat eps() { return softfloat::fromRaw( (127 - 23) << 23 ); } + /** @brief Biggest finite value */ + static softfloat max() { return softfloat::fromRaw( (0xFF << 23) - 1 ); } + /** @brief Correct pi approximation */ + static softfloat pi() { return softfloat::fromRaw( 0x40490fdb ); } + + uint32_t v; +}; + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ + +struct CV_EXPORTS softdouble +{ +public: + /** @brief Default constructor */ + softdouble() : v(0) { } + /** @brief Copy constructor */ + softdouble( const softdouble& c) { v = c.v; } + /** @brief Assign constructor */ + softdouble& operator=( const softdouble& c ) + { + if(&c != this) v = c.v; + return *this; + } + /** @brief Construct from raw + + Builds new value from raw binary representation + */ + static softdouble fromRaw( const uint64_t a ) { softdouble x; x.v = a; return x; } + + /** @brief Construct from integer */ + explicit softdouble( const uint32_t ); + explicit softdouble( const uint64_t ); + explicit softdouble( const int32_t ); + explicit softdouble( const int64_t ); + +#ifdef CV_INT32_T_IS_LONG_INT + // for platforms with int32_t = long int + explicit softdouble( const int a ) { *this = softdouble(static_cast(a)); } +#endif + + /** @brief Construct from double */ + explicit softdouble( const double a ) { Cv64suf s; s.f = a; v = s.u; } + + /** @brief Type casts */ + operator softfloat() const; + operator double() const { Cv64suf s; s.u = v; return s.f; } + + /** @brief Basic arithmetics */ + softdouble operator + (const softdouble&) const; + softdouble operator - (const softdouble&) const; + softdouble operator * (const softdouble&) const; + softdouble operator / (const softdouble&) const; + softdouble operator - () const { softdouble x; x.v = v ^ (1ULL << 63); return x; } + + /** @brief Remainder operator + + A quote from original SoftFloat manual: + + > The IEEE Standard remainder operation computes the value + > a - n * b, where n is the integer closest to a / b. + > If a / b is exactly halfway between two integers, n is the even integer + > closest to a / b. The IEEE Standard’s remainder operation is always exact and so requires no rounding. + > Depending on the relative magnitudes of the operands, the remainder functions + > can take considerably longer to execute than the other SoftFloat functions. + > This is an inherent characteristic of the remainder operation itself and is not a flaw + > in the SoftFloat implementation. + */ + softdouble operator % (const softdouble&) const; + + softdouble& operator += (const softdouble& a) { *this = *this + a; return *this; } + softdouble& operator -= (const softdouble& a) { *this = *this - a; return *this; } + softdouble& operator *= (const softdouble& a) { *this = *this * a; return *this; } + softdouble& operator /= (const softdouble& a) { *this = *this / a; return *this; } + softdouble& operator %= (const softdouble& a) { *this = *this % a; return *this; } + + /** @brief Comparison operations + + - Any operation with NaN produces false + + The only exception is when x is NaN: x != y for any y. + - Positive and negative zeros are equal + */ + bool operator == ( const softdouble& ) const; + bool operator != ( const softdouble& ) const; + bool operator > ( const softdouble& ) const; + bool operator >= ( const softdouble& ) const; + bool operator < ( const softdouble& ) const; + bool operator <= ( const softdouble& ) const; + + /** @brief NaN state indicator */ + inline bool isNaN() const { return (v & 0x7fffffffffffffff) > 0x7ff0000000000000; } + /** @brief Inf state indicator */ + inline bool isInf() const { return (v & 0x7fffffffffffffff) == 0x7ff0000000000000; } + /** @brief Subnormal number indicator */ + inline bool isSubnormal() const { return ((v >> 52) & 0x7FF) == 0; } + + /** @brief Get sign bit */ + inline bool getSign() const { return (v >> 63) != 0; } + /** @brief Construct a copy with new sign bit */ + softdouble setSign(bool sign) const { softdouble x; x.v = (v & ((1ULL << 63) - 1)) | ((uint_fast64_t)(sign) << 63); return x; } + /** @brief Get 0-based exponent */ + inline int getExp() const { return ((v >> 52) & 0x7FF) - 1023; } + /** @brief Construct a copy with new 0-based exponent */ + inline softdouble setExp(int e) const + { + softdouble x; + x.v = (v & 0x800FFFFFFFFFFFFF) | ((uint_fast64_t)((e + 1023) & 0x7FF) << 52); + return x; + } + + /** @brief Get a fraction part + + Returns a number 1 <= x < 2 with the same significand + */ + inline softdouble getFrac() const + { + uint_fast64_t vv = (v & 0x000FFFFFFFFFFFFF) | ((uint_fast64_t)(1023) << 52); + return softdouble::fromRaw(vv); + } + /** @brief Construct a copy with provided significand + + Constructs a copy of a number with significand taken from parameter + */ + inline softdouble setFrac(const softdouble& s) const + { + softdouble x; + x.v = (v & 0xFFF0000000000000) | (s.v & 0x000FFFFFFFFFFFFF); + return x; + } + + /** @brief Zero constant */ + static softdouble zero() { return softdouble::fromRaw( 0 ); } + /** @brief Positive infinity constant */ + static softdouble inf() { return softdouble::fromRaw( (uint_fast64_t)(0x7FF) << 52 ); } + /** @brief Default NaN constant */ + static softdouble nan() { return softdouble::fromRaw( CV_BIG_INT(0x7FFFFFFFFFFFFFFF) ); } + /** @brief One constant */ + static softdouble one() { return softdouble::fromRaw( (uint_fast64_t)( 1023) << 52 ); } + /** @brief Smallest normalized value */ + static softdouble min() { return softdouble::fromRaw( (uint_fast64_t)( 0x01) << 52 ); } + /** @brief Difference between 1 and next representable value */ + static softdouble eps() { return softdouble::fromRaw( (uint_fast64_t)( 1023 - 52 ) << 52 ); } + /** @brief Biggest finite value */ + static softdouble max() { return softdouble::fromRaw( ((uint_fast64_t)(0x7FF) << 52) - 1 ); } + /** @brief Correct pi approximation */ + static softdouble pi() { return softdouble::fromRaw( CV_BIG_INT(0x400921FB54442D18) ); } + + uint64_t v; +}; + +/*---------------------------------------------------------------------------- +*----------------------------------------------------------------------------*/ + +/** @brief Fused Multiplication and Addition + +Computes (a*b)+c with single rounding +*/ +CV_EXPORTS softfloat mulAdd( const softfloat& a, const softfloat& b, const softfloat & c); +CV_EXPORTS softdouble mulAdd( const softdouble& a, const softdouble& b, const softdouble& c); + +/** @brief Square root */ +CV_EXPORTS softfloat sqrt( const softfloat& a ); +CV_EXPORTS softdouble sqrt( const softdouble& a ); +} + +/*---------------------------------------------------------------------------- +| Ported from OpenCV and added for usability +*----------------------------------------------------------------------------*/ + +/** @brief Truncates number to integer with minimum magnitude */ +CV_EXPORTS int cvTrunc(const cv::softfloat& a); +CV_EXPORTS int cvTrunc(const cv::softdouble& a); + +/** @brief Rounds a number to nearest even integer */ +CV_EXPORTS int cvRound(const cv::softfloat& a); +CV_EXPORTS int cvRound(const cv::softdouble& a); + +/** @brief Rounds a number to nearest even long long integer */ +CV_EXPORTS int64_t cvRound64(const cv::softdouble& a); + +/** @brief Rounds a number down to integer */ +CV_EXPORTS int cvFloor(const cv::softfloat& a); +CV_EXPORTS int cvFloor(const cv::softdouble& a); + +/** @brief Rounds number up to integer */ +CV_EXPORTS int cvCeil(const cv::softfloat& a); +CV_EXPORTS int cvCeil(const cv::softdouble& a); + +namespace cv +{ +/** @brief Saturate casts */ +template static inline _Tp saturate_cast(softfloat a) { return _Tp(a); } +template static inline _Tp saturate_cast(softdouble a) { return _Tp(a); } + +template<> inline uchar saturate_cast(softfloat a) { return (uchar)std::max(std::min(cvRound(a), (int)UCHAR_MAX), 0); } +template<> inline uchar saturate_cast(softdouble a) { return (uchar)std::max(std::min(cvRound(a), (int)UCHAR_MAX), 0); } + +template<> inline schar saturate_cast(softfloat a) { return (schar)std::min(std::max(cvRound(a), (int)SCHAR_MIN), (int)SCHAR_MAX); } +template<> inline schar saturate_cast(softdouble a) { return (schar)std::min(std::max(cvRound(a), (int)SCHAR_MIN), (int)SCHAR_MAX); } + +template<> inline ushort saturate_cast(softfloat a) { return (ushort)std::max(std::min(cvRound(a), (int)USHRT_MAX), 0); } +template<> inline ushort saturate_cast(softdouble a) { return (ushort)std::max(std::min(cvRound(a), (int)USHRT_MAX), 0); } + +template<> inline short saturate_cast(softfloat a) { return (short)std::min(std::max(cvRound(a), (int)SHRT_MIN), (int)SHRT_MAX); } +template<> inline short saturate_cast(softdouble a) { return (short)std::min(std::max(cvRound(a), (int)SHRT_MIN), (int)SHRT_MAX); } + +template<> inline int saturate_cast(softfloat a) { return cvRound(a); } +template<> inline int saturate_cast(softdouble a) { return cvRound(a); } + +template<> inline int64_t saturate_cast(softfloat a) { return cvRound(a); } +template<> inline int64_t saturate_cast(softdouble a) { return cvRound64(a); } + +/** @brief Saturate cast to unsigned integer and unsigned long long integer +We intentionally do not clip negative numbers, to make -1 become 0xffffffff etc. +*/ +template<> inline unsigned saturate_cast(softfloat a) { return cvRound(a); } +template<> inline unsigned saturate_cast(softdouble a) { return cvRound(a); } + +template<> inline uint64_t saturate_cast(softfloat a) { return cvRound(a); } +template<> inline uint64_t saturate_cast(softdouble a) { return cvRound64(a); } + +/** @brief Min and Max functions */ +inline softfloat min(const softfloat& a, const softfloat& b) { return (a > b) ? b : a; } +inline softdouble min(const softdouble& a, const softdouble& b) { return (a > b) ? b : a; } + +inline softfloat max(const softfloat& a, const softfloat& b) { return (a > b) ? a : b; } +inline softdouble max(const softdouble& a, const softdouble& b) { return (a > b) ? a : b; } + +/** @brief Absolute value */ +inline softfloat abs( softfloat a) { softfloat x; x.v = a.v & ((1U << 31) - 1); return x; } +inline softdouble abs( softdouble a) { softdouble x; x.v = a.v & ((1ULL << 63) - 1); return x; } + +/** @brief Exponent + +Special cases: +- exp(NaN) is NaN +- exp(-Inf) == 0 +- exp(+Inf) == +Inf +*/ +CV_EXPORTS softfloat exp( const softfloat& a); +CV_EXPORTS softdouble exp( const softdouble& a); + +/** @brief Natural logarithm + +Special cases: +- log(NaN), log(x < 0) are NaN +- log(0) == -Inf +*/ +CV_EXPORTS softfloat log( const softfloat& a ); +CV_EXPORTS softdouble log( const softdouble& a ); + +/** @brief Raising to the power + +Special cases: +- x**NaN is NaN for any x +- ( |x| == 1 )**Inf is NaN +- ( |x| > 1 )**+Inf or ( |x| < 1 )**-Inf is +Inf +- ( |x| > 1 )**-Inf or ( |x| < 1 )**+Inf is 0 +- x ** 0 == 1 for any x +- x ** 1 == 1 for any x +- NaN ** y is NaN for any other y +- Inf**(y < 0) == 0 +- Inf ** y is +Inf for any other y +- (x < 0)**y is NaN for any other y if x can't be correctly rounded to integer +- 0 ** 0 == 1 +- 0 ** (y < 0) is +Inf +- 0 ** (y > 0) is 0 +*/ +CV_EXPORTS softfloat pow( const softfloat& a, const softfloat& b); +CV_EXPORTS softdouble pow( const softdouble& a, const softdouble& b); + +/** @brief Cube root + +Special cases: +- cbrt(NaN) is NaN +- cbrt(+/-Inf) is +/-Inf +*/ +CV_EXPORTS softfloat cbrt( const softfloat& a ); + +/** @brief Sine + +Special cases: +- sin(Inf) or sin(NaN) is NaN +- sin(x) == x when sin(x) is close to zero +*/ +CV_EXPORTS softdouble sin( const softdouble& a ); + +/** @brief Cosine + * +Special cases: +- cos(Inf) or cos(NaN) is NaN +- cos(x) == +/- 1 when cos(x) is close to +/- 1 +*/ +CV_EXPORTS softdouble cos( const softdouble& a ); + +//! @} core_utils_softfloat + +} // cv:: + +#endif diff --git a/camera_lib/include/opencv2/core/sse_utils.hpp b/camera_lib/include/opencv2/core/sse_utils.hpp new file mode 100644 index 0000000..0906583 --- /dev/null +++ b/camera_lib/include/opencv2/core/sse_utils.hpp @@ -0,0 +1,652 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_SSE_UTILS_HPP +#define OPENCV_CORE_SSE_UTILS_HPP + +#ifndef __cplusplus +# error sse_utils.hpp header must be compiled as C++ +#endif + +#include "opencv2/core/cvdef.h" + +//! @addtogroup core_utils_sse +//! @{ + +#if CV_SSE2 + +inline void _mm_deinterleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi8(v_r0, v_g0); + __m128i layer1_chunk1 = _mm_unpackhi_epi8(v_r0, v_g0); + __m128i layer1_chunk2 = _mm_unpacklo_epi8(v_r1, v_g1); + __m128i layer1_chunk3 = _mm_unpackhi_epi8(v_r1, v_g1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi8(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk1 = _mm_unpackhi_epi8(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk2 = _mm_unpacklo_epi8(layer1_chunk1, layer1_chunk3); + __m128i layer2_chunk3 = _mm_unpackhi_epi8(layer1_chunk1, layer1_chunk3); + + __m128i layer3_chunk0 = _mm_unpacklo_epi8(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk1 = _mm_unpackhi_epi8(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk2 = _mm_unpacklo_epi8(layer2_chunk1, layer2_chunk3); + __m128i layer3_chunk3 = _mm_unpackhi_epi8(layer2_chunk1, layer2_chunk3); + + __m128i layer4_chunk0 = _mm_unpacklo_epi8(layer3_chunk0, layer3_chunk2); + __m128i layer4_chunk1 = _mm_unpackhi_epi8(layer3_chunk0, layer3_chunk2); + __m128i layer4_chunk2 = _mm_unpacklo_epi8(layer3_chunk1, layer3_chunk3); + __m128i layer4_chunk3 = _mm_unpackhi_epi8(layer3_chunk1, layer3_chunk3); + + v_r0 = _mm_unpacklo_epi8(layer4_chunk0, layer4_chunk2); + v_r1 = _mm_unpackhi_epi8(layer4_chunk0, layer4_chunk2); + v_g0 = _mm_unpacklo_epi8(layer4_chunk1, layer4_chunk3); + v_g1 = _mm_unpackhi_epi8(layer4_chunk1, layer4_chunk3); +} + +inline void _mm_deinterleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi8(v_r0, v_g1); + __m128i layer1_chunk1 = _mm_unpackhi_epi8(v_r0, v_g1); + __m128i layer1_chunk2 = _mm_unpacklo_epi8(v_r1, v_b0); + __m128i layer1_chunk3 = _mm_unpackhi_epi8(v_r1, v_b0); + __m128i layer1_chunk4 = _mm_unpacklo_epi8(v_g0, v_b1); + __m128i layer1_chunk5 = _mm_unpackhi_epi8(v_g0, v_b1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi8(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk1 = _mm_unpackhi_epi8(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk2 = _mm_unpacklo_epi8(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk3 = _mm_unpackhi_epi8(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk4 = _mm_unpacklo_epi8(layer1_chunk2, layer1_chunk5); + __m128i layer2_chunk5 = _mm_unpackhi_epi8(layer1_chunk2, layer1_chunk5); + + __m128i layer3_chunk0 = _mm_unpacklo_epi8(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk1 = _mm_unpackhi_epi8(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk2 = _mm_unpacklo_epi8(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk3 = _mm_unpackhi_epi8(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk4 = _mm_unpacklo_epi8(layer2_chunk2, layer2_chunk5); + __m128i layer3_chunk5 = _mm_unpackhi_epi8(layer2_chunk2, layer2_chunk5); + + __m128i layer4_chunk0 = _mm_unpacklo_epi8(layer3_chunk0, layer3_chunk3); + __m128i layer4_chunk1 = _mm_unpackhi_epi8(layer3_chunk0, layer3_chunk3); + __m128i layer4_chunk2 = _mm_unpacklo_epi8(layer3_chunk1, layer3_chunk4); + __m128i layer4_chunk3 = _mm_unpackhi_epi8(layer3_chunk1, layer3_chunk4); + __m128i layer4_chunk4 = _mm_unpacklo_epi8(layer3_chunk2, layer3_chunk5); + __m128i layer4_chunk5 = _mm_unpackhi_epi8(layer3_chunk2, layer3_chunk5); + + v_r0 = _mm_unpacklo_epi8(layer4_chunk0, layer4_chunk3); + v_r1 = _mm_unpackhi_epi8(layer4_chunk0, layer4_chunk3); + v_g0 = _mm_unpacklo_epi8(layer4_chunk1, layer4_chunk4); + v_g1 = _mm_unpackhi_epi8(layer4_chunk1, layer4_chunk4); + v_b0 = _mm_unpacklo_epi8(layer4_chunk2, layer4_chunk5); + v_b1 = _mm_unpackhi_epi8(layer4_chunk2, layer4_chunk5); +} + +inline void _mm_deinterleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi8(v_r0, v_b0); + __m128i layer1_chunk1 = _mm_unpackhi_epi8(v_r0, v_b0); + __m128i layer1_chunk2 = _mm_unpacklo_epi8(v_r1, v_b1); + __m128i layer1_chunk3 = _mm_unpackhi_epi8(v_r1, v_b1); + __m128i layer1_chunk4 = _mm_unpacklo_epi8(v_g0, v_a0); + __m128i layer1_chunk5 = _mm_unpackhi_epi8(v_g0, v_a0); + __m128i layer1_chunk6 = _mm_unpacklo_epi8(v_g1, v_a1); + __m128i layer1_chunk7 = _mm_unpackhi_epi8(v_g1, v_a1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi8(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk1 = _mm_unpackhi_epi8(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk2 = _mm_unpacklo_epi8(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk3 = _mm_unpackhi_epi8(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk4 = _mm_unpacklo_epi8(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk5 = _mm_unpackhi_epi8(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk6 = _mm_unpacklo_epi8(layer1_chunk3, layer1_chunk7); + __m128i layer2_chunk7 = _mm_unpackhi_epi8(layer1_chunk3, layer1_chunk7); + + __m128i layer3_chunk0 = _mm_unpacklo_epi8(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk1 = _mm_unpackhi_epi8(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk2 = _mm_unpacklo_epi8(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk3 = _mm_unpackhi_epi8(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk4 = _mm_unpacklo_epi8(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk5 = _mm_unpackhi_epi8(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk6 = _mm_unpacklo_epi8(layer2_chunk3, layer2_chunk7); + __m128i layer3_chunk7 = _mm_unpackhi_epi8(layer2_chunk3, layer2_chunk7); + + __m128i layer4_chunk0 = _mm_unpacklo_epi8(layer3_chunk0, layer3_chunk4); + __m128i layer4_chunk1 = _mm_unpackhi_epi8(layer3_chunk0, layer3_chunk4); + __m128i layer4_chunk2 = _mm_unpacklo_epi8(layer3_chunk1, layer3_chunk5); + __m128i layer4_chunk3 = _mm_unpackhi_epi8(layer3_chunk1, layer3_chunk5); + __m128i layer4_chunk4 = _mm_unpacklo_epi8(layer3_chunk2, layer3_chunk6); + __m128i layer4_chunk5 = _mm_unpackhi_epi8(layer3_chunk2, layer3_chunk6); + __m128i layer4_chunk6 = _mm_unpacklo_epi8(layer3_chunk3, layer3_chunk7); + __m128i layer4_chunk7 = _mm_unpackhi_epi8(layer3_chunk3, layer3_chunk7); + + v_r0 = _mm_unpacklo_epi8(layer4_chunk0, layer4_chunk4); + v_r1 = _mm_unpackhi_epi8(layer4_chunk0, layer4_chunk4); + v_g0 = _mm_unpacklo_epi8(layer4_chunk1, layer4_chunk5); + v_g1 = _mm_unpackhi_epi8(layer4_chunk1, layer4_chunk5); + v_b0 = _mm_unpacklo_epi8(layer4_chunk2, layer4_chunk6); + v_b1 = _mm_unpackhi_epi8(layer4_chunk2, layer4_chunk6); + v_a0 = _mm_unpacklo_epi8(layer4_chunk3, layer4_chunk7); + v_a1 = _mm_unpackhi_epi8(layer4_chunk3, layer4_chunk7); +} + +inline void _mm_interleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i v_mask = _mm_set1_epi16(0x00ff); + + __m128i layer4_chunk0 = _mm_packus_epi16(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer4_chunk2 = _mm_packus_epi16(_mm_srli_epi16(v_r0, 8), _mm_srli_epi16(v_r1, 8)); + __m128i layer4_chunk1 = _mm_packus_epi16(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer4_chunk3 = _mm_packus_epi16(_mm_srli_epi16(v_g0, 8), _mm_srli_epi16(v_g1, 8)); + + __m128i layer3_chunk0 = _mm_packus_epi16(_mm_and_si128(layer4_chunk0, v_mask), _mm_and_si128(layer4_chunk1, v_mask)); + __m128i layer3_chunk2 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk0, 8), _mm_srli_epi16(layer4_chunk1, 8)); + __m128i layer3_chunk1 = _mm_packus_epi16(_mm_and_si128(layer4_chunk2, v_mask), _mm_and_si128(layer4_chunk3, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk2, 8), _mm_srli_epi16(layer4_chunk3, 8)); + + __m128i layer2_chunk0 = _mm_packus_epi16(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk2 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk0, 8), _mm_srli_epi16(layer3_chunk1, 8)); + __m128i layer2_chunk1 = _mm_packus_epi16(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk2, 8), _mm_srli_epi16(layer3_chunk3, 8)); + + __m128i layer1_chunk0 = _mm_packus_epi16(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk2 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk0, 8), _mm_srli_epi16(layer2_chunk1, 8)); + __m128i layer1_chunk1 = _mm_packus_epi16(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk2, 8), _mm_srli_epi16(layer2_chunk3, 8)); + + v_r0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk0, 8), _mm_srli_epi16(layer1_chunk1, 8)); + v_r1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_g1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk2, 8), _mm_srli_epi16(layer1_chunk3, 8)); +} + +inline void _mm_interleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i v_mask = _mm_set1_epi16(0x00ff); + + __m128i layer4_chunk0 = _mm_packus_epi16(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer4_chunk3 = _mm_packus_epi16(_mm_srli_epi16(v_r0, 8), _mm_srli_epi16(v_r1, 8)); + __m128i layer4_chunk1 = _mm_packus_epi16(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer4_chunk4 = _mm_packus_epi16(_mm_srli_epi16(v_g0, 8), _mm_srli_epi16(v_g1, 8)); + __m128i layer4_chunk2 = _mm_packus_epi16(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer4_chunk5 = _mm_packus_epi16(_mm_srli_epi16(v_b0, 8), _mm_srli_epi16(v_b1, 8)); + + __m128i layer3_chunk0 = _mm_packus_epi16(_mm_and_si128(layer4_chunk0, v_mask), _mm_and_si128(layer4_chunk1, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk0, 8), _mm_srli_epi16(layer4_chunk1, 8)); + __m128i layer3_chunk1 = _mm_packus_epi16(_mm_and_si128(layer4_chunk2, v_mask), _mm_and_si128(layer4_chunk3, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk2, 8), _mm_srli_epi16(layer4_chunk3, 8)); + __m128i layer3_chunk2 = _mm_packus_epi16(_mm_and_si128(layer4_chunk4, v_mask), _mm_and_si128(layer4_chunk5, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk4, 8), _mm_srli_epi16(layer4_chunk5, 8)); + + __m128i layer2_chunk0 = _mm_packus_epi16(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk0, 8), _mm_srli_epi16(layer3_chunk1, 8)); + __m128i layer2_chunk1 = _mm_packus_epi16(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk2, 8), _mm_srli_epi16(layer3_chunk3, 8)); + __m128i layer2_chunk2 = _mm_packus_epi16(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk4, 8), _mm_srli_epi16(layer3_chunk5, 8)); + + __m128i layer1_chunk0 = _mm_packus_epi16(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk0, 8), _mm_srli_epi16(layer2_chunk1, 8)); + __m128i layer1_chunk1 = _mm_packus_epi16(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk2, 8), _mm_srli_epi16(layer2_chunk3, 8)); + __m128i layer1_chunk2 = _mm_packus_epi16(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk4, 8), _mm_srli_epi16(layer2_chunk5, 8)); + + v_r0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk0, 8), _mm_srli_epi16(layer1_chunk1, 8)); + v_r1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk2, 8), _mm_srli_epi16(layer1_chunk3, 8)); + v_g0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_b1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk4, 8), _mm_srli_epi16(layer1_chunk5, 8)); +} + +inline void _mm_interleave_epi8(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i v_mask = _mm_set1_epi16(0x00ff); + + __m128i layer4_chunk0 = _mm_packus_epi16(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer4_chunk4 = _mm_packus_epi16(_mm_srli_epi16(v_r0, 8), _mm_srli_epi16(v_r1, 8)); + __m128i layer4_chunk1 = _mm_packus_epi16(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer4_chunk5 = _mm_packus_epi16(_mm_srli_epi16(v_g0, 8), _mm_srli_epi16(v_g1, 8)); + __m128i layer4_chunk2 = _mm_packus_epi16(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer4_chunk6 = _mm_packus_epi16(_mm_srli_epi16(v_b0, 8), _mm_srli_epi16(v_b1, 8)); + __m128i layer4_chunk3 = _mm_packus_epi16(_mm_and_si128(v_a0, v_mask), _mm_and_si128(v_a1, v_mask)); + __m128i layer4_chunk7 = _mm_packus_epi16(_mm_srli_epi16(v_a0, 8), _mm_srli_epi16(v_a1, 8)); + + __m128i layer3_chunk0 = _mm_packus_epi16(_mm_and_si128(layer4_chunk0, v_mask), _mm_and_si128(layer4_chunk1, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk0, 8), _mm_srli_epi16(layer4_chunk1, 8)); + __m128i layer3_chunk1 = _mm_packus_epi16(_mm_and_si128(layer4_chunk2, v_mask), _mm_and_si128(layer4_chunk3, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk2, 8), _mm_srli_epi16(layer4_chunk3, 8)); + __m128i layer3_chunk2 = _mm_packus_epi16(_mm_and_si128(layer4_chunk4, v_mask), _mm_and_si128(layer4_chunk5, v_mask)); + __m128i layer3_chunk6 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk4, 8), _mm_srli_epi16(layer4_chunk5, 8)); + __m128i layer3_chunk3 = _mm_packus_epi16(_mm_and_si128(layer4_chunk6, v_mask), _mm_and_si128(layer4_chunk7, v_mask)); + __m128i layer3_chunk7 = _mm_packus_epi16(_mm_srli_epi16(layer4_chunk6, 8), _mm_srli_epi16(layer4_chunk7, 8)); + + __m128i layer2_chunk0 = _mm_packus_epi16(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk0, 8), _mm_srli_epi16(layer3_chunk1, 8)); + __m128i layer2_chunk1 = _mm_packus_epi16(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk2, 8), _mm_srli_epi16(layer3_chunk3, 8)); + __m128i layer2_chunk2 = _mm_packus_epi16(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk6 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk4, 8), _mm_srli_epi16(layer3_chunk5, 8)); + __m128i layer2_chunk3 = _mm_packus_epi16(_mm_and_si128(layer3_chunk6, v_mask), _mm_and_si128(layer3_chunk7, v_mask)); + __m128i layer2_chunk7 = _mm_packus_epi16(_mm_srli_epi16(layer3_chunk6, 8), _mm_srli_epi16(layer3_chunk7, 8)); + + __m128i layer1_chunk0 = _mm_packus_epi16(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk0, 8), _mm_srli_epi16(layer2_chunk1, 8)); + __m128i layer1_chunk1 = _mm_packus_epi16(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk2, 8), _mm_srli_epi16(layer2_chunk3, 8)); + __m128i layer1_chunk2 = _mm_packus_epi16(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk6 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk4, 8), _mm_srli_epi16(layer2_chunk5, 8)); + __m128i layer1_chunk3 = _mm_packus_epi16(_mm_and_si128(layer2_chunk6, v_mask), _mm_and_si128(layer2_chunk7, v_mask)); + __m128i layer1_chunk7 = _mm_packus_epi16(_mm_srli_epi16(layer2_chunk6, 8), _mm_srli_epi16(layer2_chunk7, 8)); + + v_r0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_b0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk0, 8), _mm_srli_epi16(layer1_chunk1, 8)); + v_r1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk2, 8), _mm_srli_epi16(layer1_chunk3, 8)); + v_g0 = _mm_packus_epi16(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_a0 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk4, 8), _mm_srli_epi16(layer1_chunk5, 8)); + v_g1 = _mm_packus_epi16(_mm_and_si128(layer1_chunk6, v_mask), _mm_and_si128(layer1_chunk7, v_mask)); + v_a1 = _mm_packus_epi16(_mm_srli_epi16(layer1_chunk6, 8), _mm_srli_epi16(layer1_chunk7, 8)); +} + +inline void _mm_deinterleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi16(v_r0, v_g0); + __m128i layer1_chunk1 = _mm_unpackhi_epi16(v_r0, v_g0); + __m128i layer1_chunk2 = _mm_unpacklo_epi16(v_r1, v_g1); + __m128i layer1_chunk3 = _mm_unpackhi_epi16(v_r1, v_g1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi16(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk1 = _mm_unpackhi_epi16(layer1_chunk0, layer1_chunk2); + __m128i layer2_chunk2 = _mm_unpacklo_epi16(layer1_chunk1, layer1_chunk3); + __m128i layer2_chunk3 = _mm_unpackhi_epi16(layer1_chunk1, layer1_chunk3); + + __m128i layer3_chunk0 = _mm_unpacklo_epi16(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk1 = _mm_unpackhi_epi16(layer2_chunk0, layer2_chunk2); + __m128i layer3_chunk2 = _mm_unpacklo_epi16(layer2_chunk1, layer2_chunk3); + __m128i layer3_chunk3 = _mm_unpackhi_epi16(layer2_chunk1, layer2_chunk3); + + v_r0 = _mm_unpacklo_epi16(layer3_chunk0, layer3_chunk2); + v_r1 = _mm_unpackhi_epi16(layer3_chunk0, layer3_chunk2); + v_g0 = _mm_unpacklo_epi16(layer3_chunk1, layer3_chunk3); + v_g1 = _mm_unpackhi_epi16(layer3_chunk1, layer3_chunk3); +} + +inline void _mm_deinterleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi16(v_r0, v_g1); + __m128i layer1_chunk1 = _mm_unpackhi_epi16(v_r0, v_g1); + __m128i layer1_chunk2 = _mm_unpacklo_epi16(v_r1, v_b0); + __m128i layer1_chunk3 = _mm_unpackhi_epi16(v_r1, v_b0); + __m128i layer1_chunk4 = _mm_unpacklo_epi16(v_g0, v_b1); + __m128i layer1_chunk5 = _mm_unpackhi_epi16(v_g0, v_b1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi16(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk1 = _mm_unpackhi_epi16(layer1_chunk0, layer1_chunk3); + __m128i layer2_chunk2 = _mm_unpacklo_epi16(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk3 = _mm_unpackhi_epi16(layer1_chunk1, layer1_chunk4); + __m128i layer2_chunk4 = _mm_unpacklo_epi16(layer1_chunk2, layer1_chunk5); + __m128i layer2_chunk5 = _mm_unpackhi_epi16(layer1_chunk2, layer1_chunk5); + + __m128i layer3_chunk0 = _mm_unpacklo_epi16(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk1 = _mm_unpackhi_epi16(layer2_chunk0, layer2_chunk3); + __m128i layer3_chunk2 = _mm_unpacklo_epi16(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk3 = _mm_unpackhi_epi16(layer2_chunk1, layer2_chunk4); + __m128i layer3_chunk4 = _mm_unpacklo_epi16(layer2_chunk2, layer2_chunk5); + __m128i layer3_chunk5 = _mm_unpackhi_epi16(layer2_chunk2, layer2_chunk5); + + v_r0 = _mm_unpacklo_epi16(layer3_chunk0, layer3_chunk3); + v_r1 = _mm_unpackhi_epi16(layer3_chunk0, layer3_chunk3); + v_g0 = _mm_unpacklo_epi16(layer3_chunk1, layer3_chunk4); + v_g1 = _mm_unpackhi_epi16(layer3_chunk1, layer3_chunk4); + v_b0 = _mm_unpacklo_epi16(layer3_chunk2, layer3_chunk5); + v_b1 = _mm_unpackhi_epi16(layer3_chunk2, layer3_chunk5); +} + +inline void _mm_deinterleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i layer1_chunk0 = _mm_unpacklo_epi16(v_r0, v_b0); + __m128i layer1_chunk1 = _mm_unpackhi_epi16(v_r0, v_b0); + __m128i layer1_chunk2 = _mm_unpacklo_epi16(v_r1, v_b1); + __m128i layer1_chunk3 = _mm_unpackhi_epi16(v_r1, v_b1); + __m128i layer1_chunk4 = _mm_unpacklo_epi16(v_g0, v_a0); + __m128i layer1_chunk5 = _mm_unpackhi_epi16(v_g0, v_a0); + __m128i layer1_chunk6 = _mm_unpacklo_epi16(v_g1, v_a1); + __m128i layer1_chunk7 = _mm_unpackhi_epi16(v_g1, v_a1); + + __m128i layer2_chunk0 = _mm_unpacklo_epi16(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk1 = _mm_unpackhi_epi16(layer1_chunk0, layer1_chunk4); + __m128i layer2_chunk2 = _mm_unpacklo_epi16(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk3 = _mm_unpackhi_epi16(layer1_chunk1, layer1_chunk5); + __m128i layer2_chunk4 = _mm_unpacklo_epi16(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk5 = _mm_unpackhi_epi16(layer1_chunk2, layer1_chunk6); + __m128i layer2_chunk6 = _mm_unpacklo_epi16(layer1_chunk3, layer1_chunk7); + __m128i layer2_chunk7 = _mm_unpackhi_epi16(layer1_chunk3, layer1_chunk7); + + __m128i layer3_chunk0 = _mm_unpacklo_epi16(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk1 = _mm_unpackhi_epi16(layer2_chunk0, layer2_chunk4); + __m128i layer3_chunk2 = _mm_unpacklo_epi16(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk3 = _mm_unpackhi_epi16(layer2_chunk1, layer2_chunk5); + __m128i layer3_chunk4 = _mm_unpacklo_epi16(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk5 = _mm_unpackhi_epi16(layer2_chunk2, layer2_chunk6); + __m128i layer3_chunk6 = _mm_unpacklo_epi16(layer2_chunk3, layer2_chunk7); + __m128i layer3_chunk7 = _mm_unpackhi_epi16(layer2_chunk3, layer2_chunk7); + + v_r0 = _mm_unpacklo_epi16(layer3_chunk0, layer3_chunk4); + v_r1 = _mm_unpackhi_epi16(layer3_chunk0, layer3_chunk4); + v_g0 = _mm_unpacklo_epi16(layer3_chunk1, layer3_chunk5); + v_g1 = _mm_unpackhi_epi16(layer3_chunk1, layer3_chunk5); + v_b0 = _mm_unpacklo_epi16(layer3_chunk2, layer3_chunk6); + v_b1 = _mm_unpackhi_epi16(layer3_chunk2, layer3_chunk6); + v_a0 = _mm_unpacklo_epi16(layer3_chunk3, layer3_chunk7); + v_a1 = _mm_unpackhi_epi16(layer3_chunk3, layer3_chunk7); +} + +#if CV_SSE4_1 + +inline void _mm_interleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1) +{ + __m128i v_mask = _mm_set1_epi32(0x0000ffff); + + __m128i layer3_chunk0 = _mm_packus_epi32(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer3_chunk2 = _mm_packus_epi32(_mm_srli_epi32(v_r0, 16), _mm_srli_epi32(v_r1, 16)); + __m128i layer3_chunk1 = _mm_packus_epi32(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi32(_mm_srli_epi32(v_g0, 16), _mm_srli_epi32(v_g1, 16)); + + __m128i layer2_chunk0 = _mm_packus_epi32(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk2 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk0, 16), _mm_srli_epi32(layer3_chunk1, 16)); + __m128i layer2_chunk1 = _mm_packus_epi32(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk2, 16), _mm_srli_epi32(layer3_chunk3, 16)); + + __m128i layer1_chunk0 = _mm_packus_epi32(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk2 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk0, 16), _mm_srli_epi32(layer2_chunk1, 16)); + __m128i layer1_chunk1 = _mm_packus_epi32(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk2, 16), _mm_srli_epi32(layer2_chunk3, 16)); + + v_r0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk0, 16), _mm_srli_epi32(layer1_chunk1, 16)); + v_r1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_g1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk2, 16), _mm_srli_epi32(layer1_chunk3, 16)); +} + +inline void _mm_interleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, + __m128i & v_g1, __m128i & v_b0, __m128i & v_b1) +{ + __m128i v_mask = _mm_set1_epi32(0x0000ffff); + + __m128i layer3_chunk0 = _mm_packus_epi32(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer3_chunk3 = _mm_packus_epi32(_mm_srli_epi32(v_r0, 16), _mm_srli_epi32(v_r1, 16)); + __m128i layer3_chunk1 = _mm_packus_epi32(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi32(_mm_srli_epi32(v_g0, 16), _mm_srli_epi32(v_g1, 16)); + __m128i layer3_chunk2 = _mm_packus_epi32(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi32(_mm_srli_epi32(v_b0, 16), _mm_srli_epi32(v_b1, 16)); + + __m128i layer2_chunk0 = _mm_packus_epi32(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk0, 16), _mm_srli_epi32(layer3_chunk1, 16)); + __m128i layer2_chunk1 = _mm_packus_epi32(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk2, 16), _mm_srli_epi32(layer3_chunk3, 16)); + __m128i layer2_chunk2 = _mm_packus_epi32(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk4, 16), _mm_srli_epi32(layer3_chunk5, 16)); + + __m128i layer1_chunk0 = _mm_packus_epi32(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk3 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk0, 16), _mm_srli_epi32(layer2_chunk1, 16)); + __m128i layer1_chunk1 = _mm_packus_epi32(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk2, 16), _mm_srli_epi32(layer2_chunk3, 16)); + __m128i layer1_chunk2 = _mm_packus_epi32(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk4, 16), _mm_srli_epi32(layer2_chunk5, 16)); + + v_r0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_g1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk0, 16), _mm_srli_epi32(layer1_chunk1, 16)); + v_r1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk2, 16), _mm_srli_epi32(layer1_chunk3, 16)); + v_g0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_b1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk4, 16), _mm_srli_epi32(layer1_chunk5, 16)); +} + +inline void _mm_interleave_epi16(__m128i & v_r0, __m128i & v_r1, __m128i & v_g0, __m128i & v_g1, + __m128i & v_b0, __m128i & v_b1, __m128i & v_a0, __m128i & v_a1) +{ + __m128i v_mask = _mm_set1_epi32(0x0000ffff); + + __m128i layer3_chunk0 = _mm_packus_epi32(_mm_and_si128(v_r0, v_mask), _mm_and_si128(v_r1, v_mask)); + __m128i layer3_chunk4 = _mm_packus_epi32(_mm_srli_epi32(v_r0, 16), _mm_srli_epi32(v_r1, 16)); + __m128i layer3_chunk1 = _mm_packus_epi32(_mm_and_si128(v_g0, v_mask), _mm_and_si128(v_g1, v_mask)); + __m128i layer3_chunk5 = _mm_packus_epi32(_mm_srli_epi32(v_g0, 16), _mm_srli_epi32(v_g1, 16)); + __m128i layer3_chunk2 = _mm_packus_epi32(_mm_and_si128(v_b0, v_mask), _mm_and_si128(v_b1, v_mask)); + __m128i layer3_chunk6 = _mm_packus_epi32(_mm_srli_epi32(v_b0, 16), _mm_srli_epi32(v_b1, 16)); + __m128i layer3_chunk3 = _mm_packus_epi32(_mm_and_si128(v_a0, v_mask), _mm_and_si128(v_a1, v_mask)); + __m128i layer3_chunk7 = _mm_packus_epi32(_mm_srli_epi32(v_a0, 16), _mm_srli_epi32(v_a1, 16)); + + __m128i layer2_chunk0 = _mm_packus_epi32(_mm_and_si128(layer3_chunk0, v_mask), _mm_and_si128(layer3_chunk1, v_mask)); + __m128i layer2_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk0, 16), _mm_srli_epi32(layer3_chunk1, 16)); + __m128i layer2_chunk1 = _mm_packus_epi32(_mm_and_si128(layer3_chunk2, v_mask), _mm_and_si128(layer3_chunk3, v_mask)); + __m128i layer2_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk2, 16), _mm_srli_epi32(layer3_chunk3, 16)); + __m128i layer2_chunk2 = _mm_packus_epi32(_mm_and_si128(layer3_chunk4, v_mask), _mm_and_si128(layer3_chunk5, v_mask)); + __m128i layer2_chunk6 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk4, 16), _mm_srli_epi32(layer3_chunk5, 16)); + __m128i layer2_chunk3 = _mm_packus_epi32(_mm_and_si128(layer3_chunk6, v_mask), _mm_and_si128(layer3_chunk7, v_mask)); + __m128i layer2_chunk7 = _mm_packus_epi32(_mm_srli_epi32(layer3_chunk6, 16), _mm_srli_epi32(layer3_chunk7, 16)); + + __m128i layer1_chunk0 = _mm_packus_epi32(_mm_and_si128(layer2_chunk0, v_mask), _mm_and_si128(layer2_chunk1, v_mask)); + __m128i layer1_chunk4 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk0, 16), _mm_srli_epi32(layer2_chunk1, 16)); + __m128i layer1_chunk1 = _mm_packus_epi32(_mm_and_si128(layer2_chunk2, v_mask), _mm_and_si128(layer2_chunk3, v_mask)); + __m128i layer1_chunk5 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk2, 16), _mm_srli_epi32(layer2_chunk3, 16)); + __m128i layer1_chunk2 = _mm_packus_epi32(_mm_and_si128(layer2_chunk4, v_mask), _mm_and_si128(layer2_chunk5, v_mask)); + __m128i layer1_chunk6 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk4, 16), _mm_srli_epi32(layer2_chunk5, 16)); + __m128i layer1_chunk3 = _mm_packus_epi32(_mm_and_si128(layer2_chunk6, v_mask), _mm_and_si128(layer2_chunk7, v_mask)); + __m128i layer1_chunk7 = _mm_packus_epi32(_mm_srli_epi32(layer2_chunk6, 16), _mm_srli_epi32(layer2_chunk7, 16)); + + v_r0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk0, v_mask), _mm_and_si128(layer1_chunk1, v_mask)); + v_b0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk0, 16), _mm_srli_epi32(layer1_chunk1, 16)); + v_r1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk2, v_mask), _mm_and_si128(layer1_chunk3, v_mask)); + v_b1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk2, 16), _mm_srli_epi32(layer1_chunk3, 16)); + v_g0 = _mm_packus_epi32(_mm_and_si128(layer1_chunk4, v_mask), _mm_and_si128(layer1_chunk5, v_mask)); + v_a0 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk4, 16), _mm_srli_epi32(layer1_chunk5, 16)); + v_g1 = _mm_packus_epi32(_mm_and_si128(layer1_chunk6, v_mask), _mm_and_si128(layer1_chunk7, v_mask)); + v_a1 = _mm_packus_epi32(_mm_srli_epi32(layer1_chunk6, 16), _mm_srli_epi32(layer1_chunk7, 16)); +} + +#endif // CV_SSE4_1 + +inline void _mm_deinterleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1) +{ + __m128 layer1_chunk0 = _mm_unpacklo_ps(v_r0, v_g0); + __m128 layer1_chunk1 = _mm_unpackhi_ps(v_r0, v_g0); + __m128 layer1_chunk2 = _mm_unpacklo_ps(v_r1, v_g1); + __m128 layer1_chunk3 = _mm_unpackhi_ps(v_r1, v_g1); + + __m128 layer2_chunk0 = _mm_unpacklo_ps(layer1_chunk0, layer1_chunk2); + __m128 layer2_chunk1 = _mm_unpackhi_ps(layer1_chunk0, layer1_chunk2); + __m128 layer2_chunk2 = _mm_unpacklo_ps(layer1_chunk1, layer1_chunk3); + __m128 layer2_chunk3 = _mm_unpackhi_ps(layer1_chunk1, layer1_chunk3); + + v_r0 = _mm_unpacklo_ps(layer2_chunk0, layer2_chunk2); + v_r1 = _mm_unpackhi_ps(layer2_chunk0, layer2_chunk2); + v_g0 = _mm_unpacklo_ps(layer2_chunk1, layer2_chunk3); + v_g1 = _mm_unpackhi_ps(layer2_chunk1, layer2_chunk3); +} + +inline void _mm_deinterleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, + __m128 & v_g1, __m128 & v_b0, __m128 & v_b1) +{ + __m128 layer1_chunk0 = _mm_unpacklo_ps(v_r0, v_g1); + __m128 layer1_chunk1 = _mm_unpackhi_ps(v_r0, v_g1); + __m128 layer1_chunk2 = _mm_unpacklo_ps(v_r1, v_b0); + __m128 layer1_chunk3 = _mm_unpackhi_ps(v_r1, v_b0); + __m128 layer1_chunk4 = _mm_unpacklo_ps(v_g0, v_b1); + __m128 layer1_chunk5 = _mm_unpackhi_ps(v_g0, v_b1); + + __m128 layer2_chunk0 = _mm_unpacklo_ps(layer1_chunk0, layer1_chunk3); + __m128 layer2_chunk1 = _mm_unpackhi_ps(layer1_chunk0, layer1_chunk3); + __m128 layer2_chunk2 = _mm_unpacklo_ps(layer1_chunk1, layer1_chunk4); + __m128 layer2_chunk3 = _mm_unpackhi_ps(layer1_chunk1, layer1_chunk4); + __m128 layer2_chunk4 = _mm_unpacklo_ps(layer1_chunk2, layer1_chunk5); + __m128 layer2_chunk5 = _mm_unpackhi_ps(layer1_chunk2, layer1_chunk5); + + v_r0 = _mm_unpacklo_ps(layer2_chunk0, layer2_chunk3); + v_r1 = _mm_unpackhi_ps(layer2_chunk0, layer2_chunk3); + v_g0 = _mm_unpacklo_ps(layer2_chunk1, layer2_chunk4); + v_g1 = _mm_unpackhi_ps(layer2_chunk1, layer2_chunk4); + v_b0 = _mm_unpacklo_ps(layer2_chunk2, layer2_chunk5); + v_b1 = _mm_unpackhi_ps(layer2_chunk2, layer2_chunk5); +} + +inline void _mm_deinterleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1, + __m128 & v_b0, __m128 & v_b1, __m128 & v_a0, __m128 & v_a1) +{ + __m128 layer1_chunk0 = _mm_unpacklo_ps(v_r0, v_b0); + __m128 layer1_chunk1 = _mm_unpackhi_ps(v_r0, v_b0); + __m128 layer1_chunk2 = _mm_unpacklo_ps(v_r1, v_b1); + __m128 layer1_chunk3 = _mm_unpackhi_ps(v_r1, v_b1); + __m128 layer1_chunk4 = _mm_unpacklo_ps(v_g0, v_a0); + __m128 layer1_chunk5 = _mm_unpackhi_ps(v_g0, v_a0); + __m128 layer1_chunk6 = _mm_unpacklo_ps(v_g1, v_a1); + __m128 layer1_chunk7 = _mm_unpackhi_ps(v_g1, v_a1); + + __m128 layer2_chunk0 = _mm_unpacklo_ps(layer1_chunk0, layer1_chunk4); + __m128 layer2_chunk1 = _mm_unpackhi_ps(layer1_chunk0, layer1_chunk4); + __m128 layer2_chunk2 = _mm_unpacklo_ps(layer1_chunk1, layer1_chunk5); + __m128 layer2_chunk3 = _mm_unpackhi_ps(layer1_chunk1, layer1_chunk5); + __m128 layer2_chunk4 = _mm_unpacklo_ps(layer1_chunk2, layer1_chunk6); + __m128 layer2_chunk5 = _mm_unpackhi_ps(layer1_chunk2, layer1_chunk6); + __m128 layer2_chunk6 = _mm_unpacklo_ps(layer1_chunk3, layer1_chunk7); + __m128 layer2_chunk7 = _mm_unpackhi_ps(layer1_chunk3, layer1_chunk7); + + v_r0 = _mm_unpacklo_ps(layer2_chunk0, layer2_chunk4); + v_r1 = _mm_unpackhi_ps(layer2_chunk0, layer2_chunk4); + v_g0 = _mm_unpacklo_ps(layer2_chunk1, layer2_chunk5); + v_g1 = _mm_unpackhi_ps(layer2_chunk1, layer2_chunk5); + v_b0 = _mm_unpacklo_ps(layer2_chunk2, layer2_chunk6); + v_b1 = _mm_unpackhi_ps(layer2_chunk2, layer2_chunk6); + v_a0 = _mm_unpacklo_ps(layer2_chunk3, layer2_chunk7); + v_a1 = _mm_unpackhi_ps(layer2_chunk3, layer2_chunk7); +} + +inline void _mm_interleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1) +{ + enum { mask_lo = _MM_SHUFFLE(2, 0, 2, 0), mask_hi = _MM_SHUFFLE(3, 1, 3, 1) }; + + __m128 layer2_chunk0 = _mm_shuffle_ps(v_r0, v_r1, mask_lo); + __m128 layer2_chunk2 = _mm_shuffle_ps(v_r0, v_r1, mask_hi); + __m128 layer2_chunk1 = _mm_shuffle_ps(v_g0, v_g1, mask_lo); + __m128 layer2_chunk3 = _mm_shuffle_ps(v_g0, v_g1, mask_hi); + + __m128 layer1_chunk0 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_lo); + __m128 layer1_chunk2 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_hi); + __m128 layer1_chunk1 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_lo); + __m128 layer1_chunk3 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_hi); + + v_r0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_lo); + v_g0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_hi); + v_r1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_lo); + v_g1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_hi); +} + +inline void _mm_interleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, + __m128 & v_g1, __m128 & v_b0, __m128 & v_b1) +{ + enum { mask_lo = _MM_SHUFFLE(2, 0, 2, 0), mask_hi = _MM_SHUFFLE(3, 1, 3, 1) }; + + __m128 layer2_chunk0 = _mm_shuffle_ps(v_r0, v_r1, mask_lo); + __m128 layer2_chunk3 = _mm_shuffle_ps(v_r0, v_r1, mask_hi); + __m128 layer2_chunk1 = _mm_shuffle_ps(v_g0, v_g1, mask_lo); + __m128 layer2_chunk4 = _mm_shuffle_ps(v_g0, v_g1, mask_hi); + __m128 layer2_chunk2 = _mm_shuffle_ps(v_b0, v_b1, mask_lo); + __m128 layer2_chunk5 = _mm_shuffle_ps(v_b0, v_b1, mask_hi); + + __m128 layer1_chunk0 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_lo); + __m128 layer1_chunk3 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_hi); + __m128 layer1_chunk1 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_lo); + __m128 layer1_chunk4 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_hi); + __m128 layer1_chunk2 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_lo); + __m128 layer1_chunk5 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_hi); + + v_r0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_lo); + v_g1 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_hi); + v_r1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_lo); + v_b0 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_hi); + v_g0 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_lo); + v_b1 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_hi); +} + +inline void _mm_interleave_ps(__m128 & v_r0, __m128 & v_r1, __m128 & v_g0, __m128 & v_g1, + __m128 & v_b0, __m128 & v_b1, __m128 & v_a0, __m128 & v_a1) +{ + enum { mask_lo = _MM_SHUFFLE(2, 0, 2, 0), mask_hi = _MM_SHUFFLE(3, 1, 3, 1) }; + + __m128 layer2_chunk0 = _mm_shuffle_ps(v_r0, v_r1, mask_lo); + __m128 layer2_chunk4 = _mm_shuffle_ps(v_r0, v_r1, mask_hi); + __m128 layer2_chunk1 = _mm_shuffle_ps(v_g0, v_g1, mask_lo); + __m128 layer2_chunk5 = _mm_shuffle_ps(v_g0, v_g1, mask_hi); + __m128 layer2_chunk2 = _mm_shuffle_ps(v_b0, v_b1, mask_lo); + __m128 layer2_chunk6 = _mm_shuffle_ps(v_b0, v_b1, mask_hi); + __m128 layer2_chunk3 = _mm_shuffle_ps(v_a0, v_a1, mask_lo); + __m128 layer2_chunk7 = _mm_shuffle_ps(v_a0, v_a1, mask_hi); + + __m128 layer1_chunk0 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_lo); + __m128 layer1_chunk4 = _mm_shuffle_ps(layer2_chunk0, layer2_chunk1, mask_hi); + __m128 layer1_chunk1 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_lo); + __m128 layer1_chunk5 = _mm_shuffle_ps(layer2_chunk2, layer2_chunk3, mask_hi); + __m128 layer1_chunk2 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_lo); + __m128 layer1_chunk6 = _mm_shuffle_ps(layer2_chunk4, layer2_chunk5, mask_hi); + __m128 layer1_chunk3 = _mm_shuffle_ps(layer2_chunk6, layer2_chunk7, mask_lo); + __m128 layer1_chunk7 = _mm_shuffle_ps(layer2_chunk6, layer2_chunk7, mask_hi); + + v_r0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_lo); + v_b0 = _mm_shuffle_ps(layer1_chunk0, layer1_chunk1, mask_hi); + v_r1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_lo); + v_b1 = _mm_shuffle_ps(layer1_chunk2, layer1_chunk3, mask_hi); + v_g0 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_lo); + v_a0 = _mm_shuffle_ps(layer1_chunk4, layer1_chunk5, mask_hi); + v_g1 = _mm_shuffle_ps(layer1_chunk6, layer1_chunk7, mask_lo); + v_a1 = _mm_shuffle_ps(layer1_chunk6, layer1_chunk7, mask_hi); +} + +#endif // CV_SSE2 + +//! @} + +#endif //OPENCV_CORE_SSE_UTILS_HPP diff --git a/camera_lib/include/opencv2/core/traits.hpp b/camera_lib/include/opencv2/core/traits.hpp new file mode 100644 index 0000000..52ab083 --- /dev/null +++ b/camera_lib/include/opencv2/core/traits.hpp @@ -0,0 +1,417 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_TRAITS_HPP +#define OPENCV_CORE_TRAITS_HPP + +#include "opencv2/core/cvdef.h" + +namespace cv +{ + +//#define OPENCV_TRAITS_ENABLE_DEPRECATED + +//! @addtogroup core_basic +//! @{ + +/** @brief Template "trait" class for OpenCV primitive data types. + +@note Deprecated. This is replaced by "single purpose" traits: traits::Type and traits::Depth + +A primitive OpenCV data type is one of unsigned char, bool, signed char, unsigned short, signed +short, int, float, double, or a tuple of values of one of these types, where all the values in the +tuple have the same type. Any primitive type from the list can be defined by an identifier in the +form CV_\{U|S|F}C(\), for example: uchar \~ CV_8UC1, 3-element +floating-point tuple \~ CV_32FC3, and so on. A universal OpenCV structure that is able to store a +single instance of such a primitive data type is Vec. Multiple instances of such a type can be +stored in a std::vector, Mat, Mat_, SparseMat, SparseMat_, or any other container that is able to +store Vec instances. + +The DataType class is basically used to provide a description of such primitive data types without +adding any fields or methods to the corresponding classes (and it is actually impossible to add +anything to primitive C/C++ data types). This technique is known in C++ as class traits. It is not +DataType itself that is used but its specialized versions, such as: +@code + template<> class DataType + { + typedef uchar value_type; + typedef int work_type; + typedef uchar channel_type; + enum { channel_type = CV_8U, channels = 1, fmt='u', type = CV_8U }; + }; + ... + template DataType > + { + typedef std::complex<_Tp> value_type; + typedef std::complex<_Tp> work_type; + typedef _Tp channel_type; + // DataDepth is another helper trait class + enum { depth = DataDepth<_Tp>::value, channels=2, + fmt=(channels-1)*256+DataDepth<_Tp>::fmt, + type=CV_MAKETYPE(depth, channels) }; + }; + ... +@endcode +The main purpose of this class is to convert compilation-time type information to an +OpenCV-compatible data type identifier, for example: +@code + // allocates a 30x40 floating-point matrix + Mat A(30, 40, DataType::type); + + Mat B = Mat_ >(3, 3); + // the statement below will print 6, 2 , that is depth == CV_64F, channels == 2 + cout << B.depth() << ", " << B.channels() << endl; +@endcode +So, such traits are used to tell OpenCV which data type you are working with, even if such a type is +not native to OpenCV. For example, the matrix B initialization above is compiled because OpenCV +defines the proper specialized template class DataType\ \> . This mechanism is also +useful (and used in OpenCV this way) for generic algorithms implementations. + +@note Default values were dropped to stop confusing developers about using of unsupported types (see #7599) +*/ +template class DataType +{ +public: +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + typedef _Tp value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 1, + depth = -1, + channels = 1, + fmt = 0, + type = CV_MAKETYPE(depth, channels) + }; +#endif +}; + +template<> class DataType +{ +public: + typedef bool value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8U, + channels = 1, + fmt = (int)'u', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef uchar value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8U, + channels = 1, + fmt = (int)'u', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef schar value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8S, + channels = 1, + fmt = (int)'c', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef schar value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_8S, + channels = 1, + fmt = (int)'c', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef ushort value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_16U, + channels = 1, + fmt = (int)'w', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef short value_type; + typedef int work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_16S, + channels = 1, + fmt = (int)'s', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef int value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_32S, + channels = 1, + fmt = (int)'i', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef float value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_32F, + channels = 1, + fmt = (int)'f', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef double value_type; + typedef value_type work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_64F, + channels = 1, + fmt = (int)'d', + type = CV_MAKETYPE(depth, channels) + }; +}; + +template<> class DataType +{ +public: + typedef float16_t value_type; + typedef float work_type; + typedef value_type channel_type; + typedef value_type vec_type; + enum { generic_type = 0, + depth = CV_16F, + channels = 1, + fmt = (int)'h', + type = CV_MAKETYPE(depth, channels) + }; +}; + +/** @brief A helper class for cv::DataType + +The class is specialized for each fundamental numerical data type supported by OpenCV. It provides +DataDepth::value constant. +*/ +template class DataDepth +{ +public: + enum + { + value = DataType<_Tp>::depth, + fmt = DataType<_Tp>::fmt + }; +}; + + +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + +template class TypeDepth +{ +#ifdef OPENCV_TRAITS_ENABLE_LEGACY_DEFAULTS + enum { depth = CV_USRTYPE1 }; + typedef void value_type; +#endif +}; + +template<> class TypeDepth +{ + enum { depth = CV_8U }; + typedef uchar value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_8S }; + typedef schar value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_16U }; + typedef ushort value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_16S }; + typedef short value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_32S }; + typedef int value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_32F }; + typedef float value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_64F }; + typedef double value_type; +}; + +template<> class TypeDepth +{ + enum { depth = CV_16F }; + typedef float16_t value_type; +}; + +#endif + +//! @} + +namespace traits { + +namespace internal { +#define CV_CREATE_MEMBER_CHECK(X) \ +template class CheckMember_##X { \ + struct Fallback { int X; }; \ + struct Derived : T, Fallback { }; \ + template struct Check; \ + typedef char CV_NO[1]; \ + typedef char CV_YES[2]; \ + template static CV_NO & func(Check *); \ + template static CV_YES & func(...); \ +public: \ + typedef CheckMember_##X type; \ + enum { value = sizeof(func(0)) == sizeof(CV_YES) }; \ +}; + +CV_CREATE_MEMBER_CHECK(fmt) +CV_CREATE_MEMBER_CHECK(type) + +} // namespace internal + + +template +struct Depth +{ enum { value = DataType::depth }; }; + +template +struct Type +{ enum { value = DataType::type }; }; + +/** Similar to traits::Type but has value = -1 in case of unknown type (instead of compiler error) */ +template >::value > +struct SafeType {}; + +template +struct SafeType +{ enum { value = -1 }; }; + +template +struct SafeType +{ enum { value = Type::value }; }; + + +template >::value > +struct SafeFmt {}; + +template +struct SafeFmt +{ enum { fmt = 0 }; }; + +template +struct SafeFmt +{ enum { fmt = DataType::fmt }; }; + + +} // namespace + +} // cv + +#endif // OPENCV_CORE_TRAITS_HPP diff --git a/camera_lib/include/opencv2/core/types.hpp b/camera_lib/include/opencv2/core/types.hpp new file mode 100644 index 0000000..844d8f8 --- /dev/null +++ b/camera_lib/include/opencv2/core/types.hpp @@ -0,0 +1,2463 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_TYPES_HPP +#define OPENCV_CORE_TYPES_HPP + +#ifndef __cplusplus +# error types.hpp header must be compiled as C++ +#endif + +#include +#include +#include +#include + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/cvstd.hpp" +#include "opencv2/core/matx.hpp" + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable: 4459) // declaration of '...' hides global declaration +#endif + +namespace cv +{ + +//! @addtogroup core_basic +//! @{ + +//////////////////////////////// Complex ////////////////////////////// + +/** @brief A complex number class. + + The template class is similar and compatible with std::complex, however it provides slightly + more convenient access to the real and imaginary parts using through the simple field access, as opposite + to std::complex::real() and std::complex::imag(). +*/ +template class Complex +{ +public: + + //! default constructor + Complex(); + Complex( _Tp _re, _Tp _im = 0 ); + + //! conversion to another data type + template operator Complex() const; + //! conjugation + Complex conj() const; + + _Tp re, im; //< the real and the imaginary parts +}; + +typedef Complex Complexf; +typedef Complex Complexd; + +template class DataType< Complex<_Tp> > +{ +public: + typedef Complex<_Tp> value_type; + typedef value_type work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = DataType::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Complex<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Complex<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 2) }; }; +} // namespace + + +//////////////////////////////// Point_ //////////////////////////////// + +/** @brief Template class for 2D points specified by its coordinates `x` and `y`. + +An instance of the class is interchangeable with C structures, CvPoint and CvPoint2D32f . There is +also a cast operator to convert point coordinates to the specified type. The conversion from +floating-point coordinates to integer coordinates is done by rounding. Commonly, the conversion +uses this operation for each of the coordinates. Besides the class members listed in the +declaration above, the following operations on points are implemented: +@code + pt1 = pt2 + pt3; + pt1 = pt2 - pt3; + pt1 = pt2 * a; + pt1 = a * pt2; + pt1 = pt2 / a; + pt1 += pt2; + pt1 -= pt2; + pt1 *= a; + pt1 /= a; + double value = norm(pt); // L2 norm + pt1 == pt2; + pt1 != pt2; +@endcode +For your convenience, the following type aliases are defined: +@code + typedef Point_ Point2i; + typedef Point2i Point; + typedef Point_ Point2f; + typedef Point_ Point2d; +@endcode +Example: +@code + Point2f a(0.3f, 0.f), b(0.f, 0.4f); + Point pt = (a + b)*10.f; + cout << pt.x << ", " << pt.y << endl; +@endcode +*/ +template class Point_ +{ +public: + typedef _Tp value_type; + + //! default constructor + Point_(); + Point_(_Tp _x, _Tp _y); +#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) // GCC 4.x bug. Details: https://github.com/opencv/opencv/pull/20837 + Point_(const Point_& pt); + Point_(Point_&& pt) CV_NOEXCEPT = default; +#elif OPENCV_ABI_COMPATIBILITY < 500 + Point_(const Point_& pt) = default; + Point_(Point_&& pt) CV_NOEXCEPT = default; +#endif + Point_(const Size_<_Tp>& sz); + Point_(const Vec<_Tp, 2>& v); + +#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) // GCC 4.x bug. Details: https://github.com/opencv/opencv/pull/20837 + Point_& operator = (const Point_& pt); + Point_& operator = (Point_&& pt) CV_NOEXCEPT = default; +#elif OPENCV_ABI_COMPATIBILITY < 500 + Point_& operator = (const Point_& pt) = default; + Point_& operator = (Point_&& pt) CV_NOEXCEPT = default; +#endif + //! conversion to another data type + template operator Point_<_Tp2>() const; + + //! conversion to the old-style C structures + operator Vec<_Tp, 2>() const; + + //! dot product + _Tp dot(const Point_& pt) const; + //! dot product computed in double-precision arithmetics + double ddot(const Point_& pt) const; + //! cross-product + double cross(const Point_& pt) const; + //! checks whether the point is inside the specified rectangle + bool inside(const Rect_<_Tp>& r) const; + _Tp x; //!< x coordinate of the point + _Tp y; //!< y coordinate of the point +}; + +typedef Point_ Point2i; +typedef Point_ Point2l; +typedef Point_ Point2f; +typedef Point_ Point2d; +typedef Point2i Point; + +template class DataType< Point_<_Tp> > +{ +public: + typedef Point_<_Tp> value_type; + typedef Point_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Point_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Point_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 2) }; }; +} // namespace + + +//////////////////////////////// Point3_ //////////////////////////////// + +/** @brief Template class for 3D points specified by its coordinates `x`, `y` and `z`. + +An instance of the class is interchangeable with the C structure CvPoint2D32f . Similarly to +Point_ , the coordinates of 3D points can be converted to another type. The vector arithmetic and +comparison operations are also supported. + +The following Point3_\<\> aliases are available: +@code + typedef Point3_ Point3i; + typedef Point3_ Point3f; + typedef Point3_ Point3d; +@endcode +@see cv::Point3i, cv::Point3f and cv::Point3d +*/ +template class Point3_ +{ +public: + typedef _Tp value_type; + + //! default constructor + Point3_(); + Point3_(_Tp _x, _Tp _y, _Tp _z); +#if OPENCV_ABI_COMPATIBILITY < 500 + Point3_(const Point3_& pt) = default; + Point3_(Point3_&& pt) CV_NOEXCEPT = default; +#endif + explicit Point3_(const Point_<_Tp>& pt); + Point3_(const Vec<_Tp, 3>& v); + +#if OPENCV_ABI_COMPATIBILITY < 500 + Point3_& operator = (const Point3_& pt) = default; + Point3_& operator = (Point3_&& pt) CV_NOEXCEPT = default; +#endif + //! conversion to another data type + template operator Point3_<_Tp2>() const; + //! conversion to cv::Vec<> + operator Vec<_Tp, 3>() const; + + //! dot product + _Tp dot(const Point3_& pt) const; + //! dot product computed in double-precision arithmetics + double ddot(const Point3_& pt) const; + //! cross product of the 2 3D points + Point3_ cross(const Point3_& pt) const; + _Tp x; //!< x coordinate of the 3D point + _Tp y; //!< y coordinate of the 3D point + _Tp z; //!< z coordinate of the 3D point +}; + +typedef Point3_ Point3i; +typedef Point3_ Point3f; +typedef Point3_ Point3d; + +template class DataType< Point3_<_Tp> > +{ +public: + typedef Point3_<_Tp> value_type; + typedef Point3_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 3, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Point3_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Point3_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 3) }; }; +} // namespace + +//////////////////////////////// Size_ //////////////////////////////// + +/** @brief Template class for specifying the size of an image or rectangle. + +The class includes two members called width and height. The structure can be converted to and from +the old OpenCV structures CvSize and CvSize2D32f . The same set of arithmetic and comparison +operations as for Point_ is available. + +OpenCV defines the following Size_\<\> aliases: +@code + typedef Size_ Size2i; + typedef Size2i Size; + typedef Size_ Size2f; +@endcode +*/ +template class Size_ +{ +public: + typedef _Tp value_type; + + //! default constructor + Size_(); + Size_(_Tp _width, _Tp _height); +#if OPENCV_ABI_COMPATIBILITY < 500 + Size_(const Size_& sz) = default; + Size_(Size_&& sz) CV_NOEXCEPT = default; +#endif + Size_(const Point_<_Tp>& pt); + +#if OPENCV_ABI_COMPATIBILITY < 500 + Size_& operator = (const Size_& sz) = default; + Size_& operator = (Size_&& sz) CV_NOEXCEPT = default; +#endif + //! the area (width*height) + _Tp area() const; + //! aspect ratio (width/height) + double aspectRatio() const; + //! true if empty + bool empty() const; + + //! conversion of another data type. + template operator Size_<_Tp2>() const; + + _Tp width; //!< the width + _Tp height; //!< the height +}; + +typedef Size_ Size2i; +typedef Size_ Size2l; +typedef Size_ Size2f; +typedef Size_ Size2d; +typedef Size2i Size; + +template class DataType< Size_<_Tp> > +{ +public: + typedef Size_<_Tp> value_type; + typedef Size_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = DataType::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Size_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Size_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 2) }; }; +} // namespace + +//////////////////////////////// Rect_ //////////////////////////////// + +/** @brief Template class for 2D rectangles + +described by the following parameters: +- Coordinates of the top-left corner. This is a default interpretation of Rect_::x and Rect_::y + in OpenCV. Though, in your algorithms you may count x and y from the bottom-left corner. +- Rectangle width and height. + +OpenCV typically assumes that the top and left boundary of the rectangle are inclusive, while the +right and bottom boundaries are not. For example, the method Rect_::contains returns true if + +\f[x \leq pt.x < x+width, + y \leq pt.y < y+height\f] + +Virtually every loop over an image ROI in OpenCV (where ROI is specified by Rect_\ ) is +implemented as: +@code + for(int y = roi.y; y < roi.y + roi.height; y++) + for(int x = roi.x; x < roi.x + roi.width; x++) + { + // ... + } +@endcode +In addition to the class members, the following operations on rectangles are implemented: +- \f$\texttt{rect} = \texttt{rect} \pm \texttt{point}\f$ (shifting a rectangle by a certain offset) +- \f$\texttt{rect} = \texttt{rect} \pm \texttt{size}\f$ (expanding or shrinking a rectangle by a + certain amount) +- rect += point, rect -= point, rect += size, rect -= size (augmenting operations) +- rect = rect1 & rect2 (rectangle intersection) +- rect = rect1 | rect2 (minimum area rectangle containing rect1 and rect2 ) +- rect &= rect1, rect |= rect1 (and the corresponding augmenting operations) +- rect == rect1, rect != rect1 (rectangle comparison) + +This is an example how the partial ordering on rectangles can be established (rect1 \f$\subseteq\f$ +rect2): +@code + template inline bool + operator <= (const Rect_<_Tp>& r1, const Rect_<_Tp>& r2) + { + return (r1 & r2) == r1; + } +@endcode +For your convenience, the Rect_\<\> alias is available: cv::Rect +*/ +template class Rect_ +{ +public: + typedef _Tp value_type; + + //! default constructor + Rect_(); + Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height); +#if OPENCV_ABI_COMPATIBILITY < 500 + Rect_(const Rect_& r) = default; + Rect_(Rect_&& r) CV_NOEXCEPT = default; +#endif + Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz); + Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2); + +#if OPENCV_ABI_COMPATIBILITY < 500 + Rect_& operator = (const Rect_& r) = default; + Rect_& operator = (Rect_&& r) CV_NOEXCEPT = default; +#endif + //! the top-left corner + Point_<_Tp> tl() const; + //! the bottom-right corner + Point_<_Tp> br() const; + + //! size (width, height) of the rectangle + Size_<_Tp> size() const; + //! area (width*height) of the rectangle + _Tp area() const; + //! true if empty + bool empty() const; + + //! conversion to another data type + template operator Rect_<_Tp2>() const; + + //! checks whether the rectangle contains the point + bool contains(const Point_<_Tp>& pt) const; + + _Tp x; //!< x coordinate of the top-left corner + _Tp y; //!< y coordinate of the top-left corner + _Tp width; //!< width of the rectangle + _Tp height; //!< height of the rectangle +}; + +typedef Rect_ Rect2i; +typedef Rect_ Rect2f; +typedef Rect_ Rect2d; +typedef Rect2i Rect; + +template class DataType< Rect_<_Tp> > +{ +public: + typedef Rect_<_Tp> value_type; + typedef Rect_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 4, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Rect_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Rect_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 4) }; }; +} // namespace + +///////////////////////////// RotatedRect ///////////////////////////// + +/** @brief The class represents rotated (i.e. not up-right) rectangles on a plane. + +Each rectangle is specified by the center point (mass center), length of each side (represented by +#Size2f structure) and the rotation angle in degrees. + +The sample below demonstrates how to use RotatedRect: +@snippet snippets/core_various.cpp RotatedRect_demo +![image](pics/rotatedrect.png) + +@sa CamShift, fitEllipse, minAreaRect, CvBox2D +*/ +class CV_EXPORTS_W_SIMPLE RotatedRect +{ +public: + //! default constructor + CV_WRAP RotatedRect(); + /** full constructor + @param center The rectangle mass center. + @param size Width and height of the rectangle. + @param angle The rotation angle in a clockwise direction. When the angle is 0, 90, 180, 270 etc., + the rectangle becomes an up-right rectangle. + */ + CV_WRAP RotatedRect(const Point2f& center, const Size2f& size, float angle); + /** + Any 3 end points of the RotatedRect. They must be given in order (either clockwise or + anticlockwise). + */ + CV_WRAP RotatedRect(const Point2f& point1, const Point2f& point2, const Point2f& point3); + + /** returns 4 vertices of the rotated rectangle + @param pts The points array for storing rectangle vertices. The order is _bottomLeft_, _topLeft_, topRight, bottomRight. + @note _Bottom_, _Top_, _Left_ and _Right_ sides refer to the original rectangle (angle is 0), + so after 180 degree rotation _bottomLeft_ point will be located at the top right corner of the + rectangle. + */ + void points(Point2f pts[]) const; + + CV_WRAP void points(CV_OUT std::vector& pts) const; + + //! returns the minimal up-right integer rectangle containing the rotated rectangle + CV_WRAP Rect boundingRect() const; + //! returns the minimal (exact) floating point rectangle containing the rotated rectangle, not intended for use with images + Rect_ boundingRect2f() const; + //! returns the rectangle mass center + CV_PROP_RW Point2f center; + //! returns width and height of the rectangle + CV_PROP_RW Size2f size; + //! returns the rotation angle. When the angle is 0, 90, 180, 270 etc., the rectangle becomes an up-right rectangle. + CV_PROP_RW float angle; +}; + +template<> class DataType< RotatedRect > +{ +public: + typedef RotatedRect value_type; + typedef value_type work_type; + typedef float channel_type; + + enum { generic_type = 0, + channels = (int)sizeof(value_type)/sizeof(channel_type), // 5 + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template<> +struct Depth< RotatedRect > { enum { value = Depth::value }; }; +template<> +struct Type< RotatedRect > { enum { value = CV_MAKETYPE(Depth::value, (int)sizeof(RotatedRect)/sizeof(float)) }; }; +} // namespace + + +//////////////////////////////// Range ///////////////////////////////// + +/** @brief Template class specifying a continuous subsequence (slice) of a sequence. + +The class is used to specify a row or a column span in a matrix ( Mat ) and for many other purposes. +Range(a,b) is basically the same as a:b in Matlab or a..b in Python. As in Python, start is an +inclusive left boundary of the range and end is an exclusive right boundary of the range. Such a +half-opened interval is usually denoted as \f$[start,end)\f$ . + +The static method Range::all() returns a special variable that means "the whole sequence" or "the +whole range", just like " : " in Matlab or " ... " in Python. All the methods and functions in +OpenCV that take Range support this special Range::all() value. But, of course, in case of your own +custom processing, you will probably have to check and handle it explicitly: +@code + void my_function(..., const Range& r, ....) + { + if(r == Range::all()) { + // process all the data + } + else { + // process [r.start, r.end) + } + } +@endcode +*/ +class CV_EXPORTS Range +{ +public: + Range(); + Range(int _start, int _end); + int size() const; + bool empty() const; + static Range all(); + + int start, end; +}; + +template<> class DataType +{ +public: + typedef Range value_type; + typedef value_type work_type; + typedef int channel_type; + + enum { generic_type = 0, + channels = 2, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template<> +struct Depth< Range > { enum { value = Depth::value }; }; +template<> +struct Type< Range > { enum { value = CV_MAKETYPE(Depth::value, 2) }; }; +} // namespace + + +//////////////////////////////// Scalar_ /////////////////////////////// + +/** @brief Template class for a 4-element vector derived from Vec. + +Being derived from Vec\<_Tp, 4\> , Scalar\_ and Scalar can be used just as typical 4-element +vectors. In addition, they can be converted to/from CvScalar . The type Scalar is widely used in +OpenCV to pass pixel values. +*/ +template class Scalar_ : public Vec<_Tp, 4> +{ +public: + //! default constructor + Scalar_(); + Scalar_(_Tp v0, _Tp v1, _Tp v2=0, _Tp v3=0); + Scalar_(_Tp v0); + + Scalar_(const Scalar_& s); + Scalar_(Scalar_&& s) CV_NOEXCEPT; + + Scalar_& operator=(const Scalar_& s); + Scalar_& operator=(Scalar_&& s) CV_NOEXCEPT; + + template + Scalar_(const Vec<_Tp2, cn>& v); + + //! returns a scalar with all elements set to v0 + static Scalar_<_Tp> all(_Tp v0); + + //! conversion to another data type + template operator Scalar_() const; + + //! per-element product + Scalar_<_Tp> mul(const Scalar_<_Tp>& a, double scale=1 ) const; + + //! returns (v0, -v1, -v2, -v3) + Scalar_<_Tp> conj() const; + + //! returns true iff v1 == v2 == v3 == 0 + bool isReal() const; +}; + +typedef Scalar_ Scalar; + +template class DataType< Scalar_<_Tp> > +{ +public: + typedef Scalar_<_Tp> value_type; + typedef Scalar_::work_type> work_type; + typedef _Tp channel_type; + + enum { generic_type = 0, + channels = 4, + fmt = traits::SafeFmt::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template +struct Depth< Scalar_<_Tp> > { enum { value = Depth<_Tp>::value }; }; +template +struct Type< Scalar_<_Tp> > { enum { value = CV_MAKETYPE(Depth<_Tp>::value, 4) }; }; +} // namespace + + +/////////////////////////////// KeyPoint //////////////////////////////// + +/** @brief Data structure for salient point detectors. + +The class instance stores a keypoint, i.e. a point feature found by one of many available keypoint +detectors, such as Harris corner detector, #FAST, %StarDetector, %SURF, %SIFT etc. + +The keypoint is characterized by the 2D position, scale (proportional to the diameter of the +neighborhood that needs to be taken into account), orientation and some other parameters. The +keypoint neighborhood is then analyzed by another algorithm that builds a descriptor (usually +represented as a feature vector). The keypoints representing the same object in different images +can then be matched using %KDTree or another method. +*/ +class CV_EXPORTS_W_SIMPLE KeyPoint +{ +public: + //! the default constructor + CV_WRAP KeyPoint(); + /** + @param pt x & y coordinates of the keypoint + @param size keypoint diameter + @param angle keypoint orientation + @param response keypoint detector response on the keypoint (that is, strength of the keypoint) + @param octave pyramid octave in which the keypoint has been detected + @param class_id object id + */ + KeyPoint(Point2f pt, float size, float angle=-1, float response=0, int octave=0, int class_id=-1); + /** + @param x x-coordinate of the keypoint + @param y y-coordinate of the keypoint + @param size keypoint diameter + @param angle keypoint orientation + @param response keypoint detector response on the keypoint (that is, strength of the keypoint) + @param octave pyramid octave in which the keypoint has been detected + @param class_id object id + */ + CV_WRAP KeyPoint(float x, float y, float size, float angle=-1, float response=0, int octave=0, int class_id=-1); + + size_t hash() const; + + /** + This method converts vector of keypoints to vector of points or the reverse, where each keypoint is + assigned the same size and the same orientation. + + @param keypoints Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB + @param points2f Array of (x,y) coordinates of each keypoint + @param keypointIndexes Array of indexes of keypoints to be converted to points. (Acts like a mask to + convert only specified keypoints) + */ + CV_WRAP static void convert(const std::vector& keypoints, + CV_OUT std::vector& points2f, + const std::vector& keypointIndexes=std::vector()); + /** @overload + @param points2f Array of (x,y) coordinates of each keypoint + @param keypoints Keypoints obtained from any feature detection algorithm like SIFT/SURF/ORB + @param size keypoint diameter + @param response keypoint detector response on the keypoint (that is, strength of the keypoint) + @param octave pyramid octave in which the keypoint has been detected + @param class_id object id + */ + CV_WRAP static void convert(const std::vector& points2f, + CV_OUT std::vector& keypoints, + float size=1, float response=1, int octave=0, int class_id=-1); + + /** + This method computes overlap for pair of keypoints. Overlap is the ratio between area of keypoint + regions' intersection and area of keypoint regions' union (considering keypoint region as circle). + If they don't overlap, we get zero. If they coincide at same location with same size, we get 1. + @param kp1 First keypoint + @param kp2 Second keypoint + */ + CV_WRAP static float overlap(const KeyPoint& kp1, const KeyPoint& kp2); + + CV_PROP_RW Point2f pt; //!< coordinates of the keypoints + CV_PROP_RW float size; //!< diameter of the meaningful keypoint neighborhood + CV_PROP_RW float angle; //!< computed orientation of the keypoint (-1 if not applicable); + //!< it's in [0,360) degrees and measured relative to + //!< image coordinate system, ie in clockwise. + CV_PROP_RW float response; //!< the response by which the most strong keypoints have been selected. Can be used for the further sorting or subsampling + CV_PROP_RW int octave; //!< octave (pyramid layer) from which the keypoint has been extracted + CV_PROP_RW int class_id; //!< object class (if the keypoints need to be clustered by an object they belong to) +}; + +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED +template<> class DataType +{ +public: + typedef KeyPoint value_type; + typedef float work_type; + typedef float channel_type; + + enum { generic_type = 0, + depth = DataType::depth, + channels = (int)(sizeof(value_type)/sizeof(channel_type)), // 7 + fmt = DataType::fmt + ((channels - 1) << 8), + type = CV_MAKETYPE(depth, channels) + }; + + typedef Vec vec_type; +}; +#endif + + +//////////////////////////////// DMatch ///////////////////////////////// + +/** @brief Class for matching keypoint descriptors + +query descriptor index, train descriptor index, train image index, and distance between +descriptors. +*/ +class CV_EXPORTS_W_SIMPLE DMatch +{ +public: + CV_WRAP DMatch(); + CV_WRAP DMatch(int _queryIdx, int _trainIdx, float _distance); + CV_WRAP DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance); + + CV_PROP_RW int queryIdx; //!< query descriptor index + CV_PROP_RW int trainIdx; //!< train descriptor index + CV_PROP_RW int imgIdx; //!< train image index + + CV_PROP_RW float distance; + + // less is better + bool operator<(const DMatch &m) const; +}; + +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED +template<> class DataType +{ +public: + typedef DMatch value_type; + typedef int work_type; + typedef int channel_type; + + enum { generic_type = 0, + depth = DataType::depth, + channels = (int)(sizeof(value_type)/sizeof(channel_type)), // 4 + fmt = DataType::fmt + ((channels - 1) << 8), + type = CV_MAKETYPE(depth, channels) + }; + + typedef Vec vec_type; +}; +#endif + + +///////////////////////////// TermCriteria ////////////////////////////// + +/** @brief The class defining termination criteria for iterative algorithms. + +You can initialize it by default constructor and then override any parameters, or the structure may +be fully initialized using the advanced variant of the constructor. +*/ +class CV_EXPORTS TermCriteria +{ +public: + /** + Criteria type, can be one of: COUNT, EPS or COUNT + EPS + */ + enum Type + { + COUNT=1, //!< the maximum number of iterations or elements to compute + MAX_ITER=COUNT, //!< ditto + EPS=2 //!< the desired accuracy or change in parameters at which the iterative algorithm stops + }; + + //! default constructor + TermCriteria(); + /** + @param type The type of termination criteria, one of TermCriteria::Type + @param maxCount The maximum number of iterations or elements to compute. + @param epsilon The desired accuracy or change in parameters at which the iterative algorithm stops. + */ + TermCriteria(int type, int maxCount, double epsilon); + + inline bool isValid() const + { + const bool isCount = (type & COUNT) && maxCount > 0; + const bool isEps = (type & EPS) && !cvIsNaN(epsilon); + return isCount || isEps; + } + + int type; //!< the type of termination criteria: COUNT, EPS or COUNT + EPS + int maxCount; //!< the maximum number of iterations/elements + double epsilon; //!< the desired accuracy +}; + + +//! @} core_basic + +///////////////////////// raster image moments ////////////////////////// + +//! @addtogroup imgproc_shape +//! @{ + +/** @brief struct returned by cv::moments + +The spatial moments \f$\texttt{Moments::m}_{ji}\f$ are computed as: + +\f[\texttt{m} _{ji}= \sum _{x,y} \left ( \texttt{array} (x,y) \cdot x^j \cdot y^i \right )\f] + +The central moments \f$\texttt{Moments::mu}_{ji}\f$ are computed as: + +\f[\texttt{mu} _{ji}= \sum _{x,y} \left ( \texttt{array} (x,y) \cdot (x - \bar{x} )^j \cdot (y - \bar{y} )^i \right )\f] + +where \f$(\bar{x}, \bar{y})\f$ is the mass center: + +\f[\bar{x} = \frac{\texttt{m}_{10}}{\texttt{m}_{00}} , \; \bar{y} = \frac{\texttt{m}_{01}}{\texttt{m}_{00}}\f] + +The normalized central moments \f$\texttt{Moments::nu}_{ij}\f$ are computed as: + +\f[\texttt{nu} _{ji}= \frac{\texttt{mu}_{ji}}{\texttt{m}_{00}^{(i+j)/2+1}} .\f] + +@note +\f$\texttt{mu}_{00}=\texttt{m}_{00}\f$, \f$\texttt{nu}_{00}=1\f$ +\f$\texttt{nu}_{10}=\texttt{mu}_{10}=\texttt{mu}_{01}=\texttt{mu}_{10}=0\f$ , hence the values are not +stored. + +The moments of a contour are defined in the same way but computed using the Green's formula (see +). So, due to a limited raster resolution, the moments +computed for a contour are slightly different from the moments computed for the same rasterized +contour. + +@note +Since the contour moments are computed using Green formula, you may get seemingly odd results for +contours with self-intersections, e.g. a zero area (m00) for butterfly-shaped contours. + */ +class CV_EXPORTS_W_MAP Moments +{ +public: + //! the default constructor + Moments(); + //! the full constructor + Moments(double m00, double m10, double m01, double m20, double m11, + double m02, double m30, double m21, double m12, double m03 ); + ////! the conversion from CvMoments + //Moments( const CvMoments& moments ); + ////! the conversion to CvMoments + //operator CvMoments() const; + + //! @name spatial moments + //! @{ + CV_PROP_RW double m00, m10, m01, m20, m11, m02, m30, m21, m12, m03; + //! @} + + //! @name central moments + //! @{ + CV_PROP_RW double mu20, mu11, mu02, mu30, mu21, mu12, mu03; + //! @} + + //! @name central normalized moments + //! @{ + CV_PROP_RW double nu20, nu11, nu02, nu30, nu21, nu12, nu03; + //! @} +}; + +template<> class DataType +{ +public: + typedef Moments value_type; + typedef double work_type; + typedef double channel_type; + + enum { generic_type = 0, + channels = (int)(sizeof(value_type)/sizeof(channel_type)), // 24 + fmt = DataType::fmt + ((channels - 1) << 8) +#ifdef OPENCV_TRAITS_ENABLE_DEPRECATED + ,depth = DataType::depth + ,type = CV_MAKETYPE(depth, channels) +#endif + }; + + typedef Vec vec_type; +}; + +namespace traits { +template<> +struct Depth< Moments > { enum { value = Depth::value }; }; +template<> +struct Type< Moments > { enum { value = CV_MAKETYPE(Depth::value, (int)(sizeof(Moments)/sizeof(double))) }; }; +} // namespace + +//! @} imgproc_shape + +//! @cond IGNORED + +///////////////////////////////////////////////////////////////////////// +///////////////////////////// Implementation //////////////////////////// +///////////////////////////////////////////////////////////////////////// + +//////////////////////////////// Complex //////////////////////////////// + +template inline +Complex<_Tp>::Complex() + : re(0), im(0) {} + +template inline +Complex<_Tp>::Complex( _Tp _re, _Tp _im ) + : re(_re), im(_im) {} + +template template inline +Complex<_Tp>::operator Complex() const +{ + return Complex(saturate_cast(re), saturate_cast(im)); +} + +template inline +Complex<_Tp> Complex<_Tp>::conj() const +{ + return Complex<_Tp>(re, -im); +} + + +template static inline +bool operator == (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return a.re == b.re && a.im == b.im; +} + +template static inline +bool operator != (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return a.re != b.re || a.im != b.im; +} + +template static inline +Complex<_Tp> operator + (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return Complex<_Tp>( a.re + b.re, a.im + b.im ); +} + +template static inline +Complex<_Tp>& operator += (Complex<_Tp>& a, const Complex<_Tp>& b) +{ + a.re += b.re; a.im += b.im; + return a; +} + +template static inline +Complex<_Tp> operator - (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return Complex<_Tp>( a.re - b.re, a.im - b.im ); +} + +template static inline +Complex<_Tp>& operator -= (Complex<_Tp>& a, const Complex<_Tp>& b) +{ + a.re -= b.re; a.im -= b.im; + return a; +} + +template static inline +Complex<_Tp> operator - (const Complex<_Tp>& a) +{ + return Complex<_Tp>(-a.re, -a.im); +} + +template static inline +Complex<_Tp> operator * (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + return Complex<_Tp>( a.re*b.re - a.im*b.im, a.re*b.im + a.im*b.re ); +} + +template static inline +Complex<_Tp> operator * (const Complex<_Tp>& a, _Tp b) +{ + return Complex<_Tp>( a.re*b, a.im*b ); +} + +template static inline +Complex<_Tp> operator * (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>( a.re*b, a.im*b ); +} + +template static inline +Complex<_Tp> operator + (const Complex<_Tp>& a, _Tp b) +{ + return Complex<_Tp>( a.re + b, a.im ); +} + +template static inline +Complex<_Tp> operator - (const Complex<_Tp>& a, _Tp b) +{ return Complex<_Tp>( a.re - b, a.im ); } + +template static inline +Complex<_Tp> operator + (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>( a.re + b, a.im ); +} + +template static inline +Complex<_Tp> operator - (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>( b - a.re, -a.im ); +} + +template static inline +Complex<_Tp>& operator += (Complex<_Tp>& a, _Tp b) +{ + a.re += b; return a; +} + +template static inline +Complex<_Tp>& operator -= (Complex<_Tp>& a, _Tp b) +{ + a.re -= b; return a; +} + +template static inline +Complex<_Tp>& operator *= (Complex<_Tp>& a, _Tp b) +{ + a.re *= b; a.im *= b; return a; +} + +template static inline +double abs(const Complex<_Tp>& a) +{ + return std::sqrt( (double)a.re*a.re + (double)a.im*a.im); +} + +template static inline +Complex<_Tp> operator / (const Complex<_Tp>& a, const Complex<_Tp>& b) +{ + double t = 1./((double)b.re*b.re + (double)b.im*b.im); + return Complex<_Tp>( (_Tp)((a.re*b.re + a.im*b.im)*t), + (_Tp)((-a.re*b.im + a.im*b.re)*t) ); +} + +template static inline +Complex<_Tp>& operator /= (Complex<_Tp>& a, const Complex<_Tp>& b) +{ + a = a / b; + return a; +} + +template static inline +Complex<_Tp> operator / (const Complex<_Tp>& a, _Tp b) +{ + _Tp t = (_Tp)1/b; + return Complex<_Tp>( a.re*t, a.im*t ); +} + +template static inline +Complex<_Tp> operator / (_Tp b, const Complex<_Tp>& a) +{ + return Complex<_Tp>(b)/a; +} + +template static inline +Complex<_Tp> operator /= (const Complex<_Tp>& a, _Tp b) +{ + _Tp t = (_Tp)1/b; + a.re *= t; a.im *= t; return a; +} + + + +//////////////////////////////// 2D Point /////////////////////////////// + +template inline +Point_<_Tp>::Point_() + : x(0), y(0) {} + +template inline +Point_<_Tp>::Point_(_Tp _x, _Tp _y) + : x(_x), y(_y) {} + +#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) // GCC 4.x bug. Details: https://github.com/opencv/opencv/pull/20837 +template inline +Point_<_Tp>::Point_(const Point_& pt) + : x(pt.x), y(pt.y) {} +#endif + +template inline +Point_<_Tp>::Point_(const Size_<_Tp>& sz) + : x(sz.width), y(sz.height) {} + +template inline +Point_<_Tp>::Point_(const Vec<_Tp,2>& v) + : x(v[0]), y(v[1]) {} + +#if (defined(__GNUC__) && __GNUC__ < 5) && !defined(__clang__) // GCC 4.x bug. Details: https://github.com/opencv/opencv/pull/20837 +template inline +Point_<_Tp>& Point_<_Tp>::operator = (const Point_& pt) +{ + x = pt.x; y = pt.y; + return *this; +} +#endif + +template template inline +Point_<_Tp>::operator Point_<_Tp2>() const +{ + return Point_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y)); +} + +template inline +Point_<_Tp>::operator Vec<_Tp, 2>() const +{ + return Vec<_Tp, 2>(x, y); +} + +template inline +_Tp Point_<_Tp>::dot(const Point_& pt) const +{ + return saturate_cast<_Tp>(x*pt.x + y*pt.y); +} + +template inline +double Point_<_Tp>::ddot(const Point_& pt) const +{ + return (double)x*(double)(pt.x) + (double)y*(double)(pt.y); +} + +template inline +double Point_<_Tp>::cross(const Point_& pt) const +{ + return (double)x*pt.y - (double)y*pt.x; +} + +template inline bool +Point_<_Tp>::inside( const Rect_<_Tp>& r ) const +{ + return r.contains(*this); +} + + +template static inline +Point_<_Tp>& operator += (Point_<_Tp>& a, const Point_<_Tp>& b) +{ + a.x += b.x; + a.y += b.y; + return a; +} + +template static inline +Point_<_Tp>& operator -= (Point_<_Tp>& a, const Point_<_Tp>& b) +{ + a.x -= b.x; + a.y -= b.y; + return a; +} + +template static inline +Point_<_Tp>& operator *= (Point_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + return a; +} + +template static inline +Point_<_Tp>& operator *= (Point_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + return a; +} + +template static inline +Point_<_Tp>& operator *= (Point_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + return a; +} + +template static inline +Point_<_Tp>& operator /= (Point_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + return a; +} + +template static inline +Point_<_Tp>& operator /= (Point_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + return a; +} + +template static inline +Point_<_Tp>& operator /= (Point_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + return a; +} + +template static inline +double norm(const Point_<_Tp>& pt) +{ + return std::sqrt((double)pt.x*pt.x + (double)pt.y*pt.y); +} + +template static inline +bool operator == (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return a.x == b.x && a.y == b.y; +} + +template static inline +bool operator != (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return a.x != b.x || a.y != b.y; +} + +template static inline +Point_<_Tp> operator + (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x + b.x), saturate_cast<_Tp>(a.y + b.y) ); +} + +template static inline +Point_<_Tp> operator - (const Point_<_Tp>& a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x - b.x), saturate_cast<_Tp>(a.y - b.y) ); +} + +template static inline +Point_<_Tp> operator - (const Point_<_Tp>& a) +{ + return Point_<_Tp>( saturate_cast<_Tp>(-a.x), saturate_cast<_Tp>(-a.y) ); +} + +template static inline +Point_<_Tp> operator * (const Point_<_Tp>& a, int b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b) ); +} + +template static inline +Point_<_Tp> operator * (int a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(b.x*a), saturate_cast<_Tp>(b.y*a) ); +} + +template static inline +Point_<_Tp> operator * (const Point_<_Tp>& a, float b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b) ); +} + +template static inline +Point_<_Tp> operator * (float a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(b.x*a), saturate_cast<_Tp>(b.y*a) ); +} + +template static inline +Point_<_Tp> operator * (const Point_<_Tp>& a, double b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b) ); +} + +template static inline +Point_<_Tp> operator * (double a, const Point_<_Tp>& b) +{ + return Point_<_Tp>( saturate_cast<_Tp>(b.x*a), saturate_cast<_Tp>(b.y*a) ); +} + +template static inline +Point_<_Tp> operator * (const Matx<_Tp, 2, 2>& a, const Point_<_Tp>& b) +{ + Matx<_Tp, 2, 1> tmp = a * Vec<_Tp,2>(b.x, b.y); + return Point_<_Tp>(tmp.val[0], tmp.val[1]); +} + +template static inline +Point3_<_Tp> operator * (const Matx<_Tp, 3, 3>& a, const Point_<_Tp>& b) +{ + Matx<_Tp, 3, 1> tmp = a * Vec<_Tp,3>(b.x, b.y, 1); + return Point3_<_Tp>(tmp.val[0], tmp.val[1], tmp.val[2]); +} + +template static inline +Point_<_Tp> operator / (const Point_<_Tp>& a, int b) +{ + Point_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point_<_Tp> operator / (const Point_<_Tp>& a, float b) +{ + Point_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point_<_Tp> operator / (const Point_<_Tp>& a, double b) +{ + Point_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + + +template static inline _AccTp normL2Sqr(const Point_& pt); +template static inline _AccTp normL2Sqr(const Point_& pt); +template static inline _AccTp normL2Sqr(const Point_& pt); +template static inline _AccTp normL2Sqr(const Point_& pt); + +template<> inline int normL2Sqr(const Point_& pt) { return pt.dot(pt); } +template<> inline int64 normL2Sqr(const Point_& pt) { return pt.dot(pt); } +template<> inline float normL2Sqr(const Point_& pt) { return pt.dot(pt); } +template<> inline double normL2Sqr(const Point_& pt) { return pt.dot(pt); } + +template<> inline double normL2Sqr(const Point_& pt) { return pt.ddot(pt); } +template<> inline double normL2Sqr(const Point_& pt) { return pt.ddot(pt); } + + + +//////////////////////////////// 3D Point /////////////////////////////// + +template inline +Point3_<_Tp>::Point3_() + : x(0), y(0), z(0) {} + +template inline +Point3_<_Tp>::Point3_(_Tp _x, _Tp _y, _Tp _z) + : x(_x), y(_y), z(_z) {} + +template inline +Point3_<_Tp>::Point3_(const Point_<_Tp>& pt) + : x(pt.x), y(pt.y), z(_Tp()) {} + +template inline +Point3_<_Tp>::Point3_(const Vec<_Tp, 3>& v) + : x(v[0]), y(v[1]), z(v[2]) {} + +template template inline +Point3_<_Tp>::operator Point3_<_Tp2>() const +{ + return Point3_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y), saturate_cast<_Tp2>(z)); +} + +template inline +Point3_<_Tp>::operator Vec<_Tp, 3>() const +{ + return Vec<_Tp, 3>(x, y, z); +} + +template inline +_Tp Point3_<_Tp>::dot(const Point3_& pt) const +{ + return saturate_cast<_Tp>(x*pt.x + y*pt.y + z*pt.z); +} + +template inline +double Point3_<_Tp>::ddot(const Point3_& pt) const +{ + return (double)x*pt.x + (double)y*pt.y + (double)z*pt.z; +} + +template inline +Point3_<_Tp> Point3_<_Tp>::cross(const Point3_<_Tp>& pt) const +{ + return Point3_<_Tp>(y*pt.z - z*pt.y, z*pt.x - x*pt.z, x*pt.y - y*pt.x); +} + + +template static inline +Point3_<_Tp>& operator += (Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + a.x += b.x; + a.y += b.y; + a.z += b.z; + return a; +} + +template static inline +Point3_<_Tp>& operator -= (Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + a.x -= b.x; + a.y -= b.y; + a.z -= b.z; + return a; +} + +template static inline +Point3_<_Tp>& operator *= (Point3_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + a.z = saturate_cast<_Tp>(a.z * b); + return a; +} + +template static inline +Point3_<_Tp>& operator *= (Point3_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + a.z = saturate_cast<_Tp>(a.z * b); + return a; +} + +template static inline +Point3_<_Tp>& operator *= (Point3_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x * b); + a.y = saturate_cast<_Tp>(a.y * b); + a.z = saturate_cast<_Tp>(a.z * b); + return a; +} + +template static inline +Point3_<_Tp>& operator /= (Point3_<_Tp>& a, int b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + a.z = saturate_cast<_Tp>(a.z / b); + return a; +} + +template static inline +Point3_<_Tp>& operator /= (Point3_<_Tp>& a, float b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + a.z = saturate_cast<_Tp>(a.z / b); + return a; +} + +template static inline +Point3_<_Tp>& operator /= (Point3_<_Tp>& a, double b) +{ + a.x = saturate_cast<_Tp>(a.x / b); + a.y = saturate_cast<_Tp>(a.y / b); + a.z = saturate_cast<_Tp>(a.z / b); + return a; +} + +template static inline +double norm(const Point3_<_Tp>& pt) +{ + return std::sqrt((double)pt.x*pt.x + (double)pt.y*pt.y + (double)pt.z*pt.z); +} + +template static inline +bool operator == (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return a.x == b.x && a.y == b.y && a.z == b.z; +} + +template static inline +bool operator != (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return a.x != b.x || a.y != b.y || a.z != b.z; +} + +template static inline +Point3_<_Tp> operator + (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x + b.x), saturate_cast<_Tp>(a.y + b.y), saturate_cast<_Tp>(a.z + b.z)); +} + +template static inline +Point3_<_Tp> operator - (const Point3_<_Tp>& a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x - b.x), saturate_cast<_Tp>(a.y - b.y), saturate_cast<_Tp>(a.z - b.z)); +} + +template static inline +Point3_<_Tp> operator - (const Point3_<_Tp>& a) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(-a.x), saturate_cast<_Tp>(-a.y), saturate_cast<_Tp>(-a.z) ); +} + +template static inline +Point3_<_Tp> operator * (const Point3_<_Tp>& a, int b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x*b), saturate_cast<_Tp>(a.y*b), saturate_cast<_Tp>(a.z*b) ); +} + +template static inline +Point3_<_Tp> operator * (int a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(b.x * a), saturate_cast<_Tp>(b.y * a), saturate_cast<_Tp>(b.z * a) ); +} + +template static inline +Point3_<_Tp> operator * (const Point3_<_Tp>& a, float b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x * b), saturate_cast<_Tp>(a.y * b), saturate_cast<_Tp>(a.z * b) ); +} + +template static inline +Point3_<_Tp> operator * (float a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(b.x * a), saturate_cast<_Tp>(b.y * a), saturate_cast<_Tp>(b.z * a) ); +} + +template static inline +Point3_<_Tp> operator * (const Point3_<_Tp>& a, double b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(a.x * b), saturate_cast<_Tp>(a.y * b), saturate_cast<_Tp>(a.z * b) ); +} + +template static inline +Point3_<_Tp> operator * (double a, const Point3_<_Tp>& b) +{ + return Point3_<_Tp>( saturate_cast<_Tp>(b.x * a), saturate_cast<_Tp>(b.y * a), saturate_cast<_Tp>(b.z * a) ); +} + +template static inline +Point3_<_Tp> operator * (const Matx<_Tp, 3, 3>& a, const Point3_<_Tp>& b) +{ + Matx<_Tp, 3, 1> tmp = a * Vec<_Tp,3>(b.x, b.y, b.z); + return Point3_<_Tp>(tmp.val[0], tmp.val[1], tmp.val[2]); +} + +template static inline +Matx<_Tp, 4, 1> operator * (const Matx<_Tp, 4, 4>& a, const Point3_<_Tp>& b) +{ + return a * Matx<_Tp, 4, 1>(b.x, b.y, b.z, 1); +} + +template static inline +Point3_<_Tp> operator / (const Point3_<_Tp>& a, int b) +{ + Point3_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point3_<_Tp> operator / (const Point3_<_Tp>& a, float b) +{ + Point3_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Point3_<_Tp> operator / (const Point3_<_Tp>& a, double b) +{ + Point3_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + + + +////////////////////////////////// Size ///////////////////////////////// + +template inline +Size_<_Tp>::Size_() + : width(0), height(0) {} + +template inline +Size_<_Tp>::Size_(_Tp _width, _Tp _height) + : width(_width), height(_height) {} + +template inline +Size_<_Tp>::Size_(const Point_<_Tp>& pt) + : width(pt.x), height(pt.y) {} + +template template inline +Size_<_Tp>::operator Size_<_Tp2>() const +{ + return Size_<_Tp2>(saturate_cast<_Tp2>(width), saturate_cast<_Tp2>(height)); +} + +template inline +_Tp Size_<_Tp>::area() const +{ + const _Tp result = width * height; + CV_DbgAssert(!std::numeric_limits<_Tp>::is_integer + || width == 0 || result / width == height); // make sure the result fits in the return value + return result; +} + +template inline +double Size_<_Tp>::aspectRatio() const +{ + return width / static_cast(height); +} + +template inline +bool Size_<_Tp>::empty() const +{ + return width <= 0 || height <= 0; +} + + +template static inline +Size_<_Tp>& operator *= (Size_<_Tp>& a, _Tp b) +{ + a.width *= b; + a.height *= b; + return a; +} + +template static inline +Size_<_Tp> operator * (const Size_<_Tp>& a, _Tp b) +{ + Size_<_Tp> tmp(a); + tmp *= b; + return tmp; +} + +template static inline +Size_<_Tp>& operator /= (Size_<_Tp>& a, _Tp b) +{ + a.width /= b; + a.height /= b; + return a; +} + +template static inline +Size_<_Tp> operator / (const Size_<_Tp>& a, _Tp b) +{ + Size_<_Tp> tmp(a); + tmp /= b; + return tmp; +} + +template static inline +Size_<_Tp>& operator += (Size_<_Tp>& a, const Size_<_Tp>& b) +{ + a.width += b.width; + a.height += b.height; + return a; +} + +template static inline +Size_<_Tp> operator + (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + Size_<_Tp> tmp(a); + tmp += b; + return tmp; +} + +template static inline +Size_<_Tp>& operator -= (Size_<_Tp>& a, const Size_<_Tp>& b) +{ + a.width -= b.width; + a.height -= b.height; + return a; +} + +template static inline +Size_<_Tp> operator - (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + Size_<_Tp> tmp(a); + tmp -= b; + return tmp; +} + +template static inline +bool operator == (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + return a.width == b.width && a.height == b.height; +} + +template static inline +bool operator != (const Size_<_Tp>& a, const Size_<_Tp>& b) +{ + return !(a == b); +} + + + +////////////////////////////////// Rect ///////////////////////////////// + +template inline +Rect_<_Tp>::Rect_() + : x(0), y(0), width(0), height(0) {} + +template inline +Rect_<_Tp>::Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height) + : x(_x), y(_y), width(_width), height(_height) {} + +template inline +Rect_<_Tp>::Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz) + : x(org.x), y(org.y), width(sz.width), height(sz.height) {} + +template inline +Rect_<_Tp>::Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2) +{ + x = std::min(pt1.x, pt2.x); + y = std::min(pt1.y, pt2.y); + width = std::max(pt1.x, pt2.x) - x; + height = std::max(pt1.y, pt2.y) - y; +} + +template inline +Point_<_Tp> Rect_<_Tp>::tl() const +{ + return Point_<_Tp>(x,y); +} + +template inline +Point_<_Tp> Rect_<_Tp>::br() const +{ + return Point_<_Tp>(x + width, y + height); +} + +template inline +Size_<_Tp> Rect_<_Tp>::size() const +{ + return Size_<_Tp>(width, height); +} + +template inline +_Tp Rect_<_Tp>::area() const +{ + const _Tp result = width * height; + CV_DbgAssert(!std::numeric_limits<_Tp>::is_integer + || width == 0 || result / width == height); // make sure the result fits in the return value + return result; +} + +template inline +bool Rect_<_Tp>::empty() const +{ + return width <= 0 || height <= 0; +} + +template template inline +Rect_<_Tp>::operator Rect_<_Tp2>() const +{ + return Rect_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y), saturate_cast<_Tp2>(width), saturate_cast<_Tp2>(height)); +} + +template inline +bool Rect_<_Tp>::contains(const Point_<_Tp>& pt) const +{ + return x <= pt.x && pt.x < x + width && y <= pt.y && pt.y < y + height; +} + + +template static inline +Rect_<_Tp>& operator += ( Rect_<_Tp>& a, const Point_<_Tp>& b ) +{ + a.x += b.x; + a.y += b.y; + return a; +} + +template static inline +Rect_<_Tp>& operator -= ( Rect_<_Tp>& a, const Point_<_Tp>& b ) +{ + a.x -= b.x; + a.y -= b.y; + return a; +} + +template static inline +Rect_<_Tp>& operator += ( Rect_<_Tp>& a, const Size_<_Tp>& b ) +{ + a.width += b.width; + a.height += b.height; + return a; +} + +template static inline +Rect_<_Tp>& operator -= ( Rect_<_Tp>& a, const Size_<_Tp>& b ) +{ + const _Tp width = a.width - b.width; + const _Tp height = a.height - b.height; + CV_DbgAssert(width >= 0 && height >= 0); + a.width = width; + a.height = height; + return a; +} + +template static inline +Rect_<_Tp>& operator &= ( Rect_<_Tp>& a, const Rect_<_Tp>& b ) +{ + if (a.empty() || b.empty()) { + a = Rect(); + return a; + } + const Rect_<_Tp>& Rx_min = (a.x < b.x) ? a : b; + const Rect_<_Tp>& Rx_max = (a.x < b.x) ? b : a; + const Rect_<_Tp>& Ry_min = (a.y < b.y) ? a : b; + const Rect_<_Tp>& Ry_max = (a.y < b.y) ? b : a; + // Looking at the formula below, we will compute Rx_min.width - (Rx_max.x - Rx_min.x) + // but we want to avoid overflows. Rx_min.width >= 0 and (Rx_max.x - Rx_min.x) >= 0 + // by definition so the difference does not overflow. The only thing that can overflow + // is (Rx_max.x - Rx_min.x). And it can only overflow if Rx_min.x < 0. + // Let us first deal with the following case. + if ((Rx_min.x < 0 && Rx_min.x + Rx_min.width < Rx_max.x) || + (Ry_min.y < 0 && Ry_min.y + Ry_min.height < Ry_max.y)) { + a = Rect(); + return a; + } + // We now know that either Rx_min.x >= 0, or + // Rx_min.x < 0 && Rx_min.x + Rx_min.width >= Rx_max.x and therefore + // Rx_min.width >= (Rx_max.x - Rx_min.x) which means (Rx_max.x - Rx_min.x) + // is inferior to a valid int and therefore does not overflow. + a.width = std::min(Rx_min.width - (Rx_max.x - Rx_min.x), Rx_max.width); + a.height = std::min(Ry_min.height - (Ry_max.y - Ry_min.y), Ry_max.height); + a.x = Rx_max.x; + a.y = Ry_max.y; + if (a.empty()) + a = Rect(); + return a; +} + +template static inline +Rect_<_Tp>& operator |= ( Rect_<_Tp>& a, const Rect_<_Tp>& b ) +{ + if (a.empty()) { + a = b; + } + else if (!b.empty()) { + _Tp x1 = std::min(a.x, b.x); + _Tp y1 = std::min(a.y, b.y); + a.width = std::max(a.x + a.width, b.x + b.width) - x1; + a.height = std::max(a.y + a.height, b.y + b.height) - y1; + a.x = x1; + a.y = y1; + } + return a; +} + +template static inline +bool operator == (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + return a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height; +} + +template static inline +bool operator != (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + return a.x != b.x || a.y != b.y || a.width != b.width || a.height != b.height; +} + +template static inline +Rect_<_Tp> operator + (const Rect_<_Tp>& a, const Point_<_Tp>& b) +{ + return Rect_<_Tp>( a.x + b.x, a.y + b.y, a.width, a.height ); +} + +template static inline +Rect_<_Tp> operator - (const Rect_<_Tp>& a, const Point_<_Tp>& b) +{ + return Rect_<_Tp>( a.x - b.x, a.y - b.y, a.width, a.height ); +} + +template static inline +Rect_<_Tp> operator + (const Rect_<_Tp>& a, const Size_<_Tp>& b) +{ + return Rect_<_Tp>( a.x, a.y, a.width + b.width, a.height + b.height ); +} + +template static inline +Rect_<_Tp> operator - (const Rect_<_Tp>& a, const Size_<_Tp>& b) +{ + const _Tp width = a.width - b.width; + const _Tp height = a.height - b.height; + CV_DbgAssert(width >= 0 && height >= 0); + return Rect_<_Tp>( a.x, a.y, width, height ); +} + +template static inline +Rect_<_Tp> operator & (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + Rect_<_Tp> c = a; + return c &= b; +} + +template static inline +Rect_<_Tp> operator | (const Rect_<_Tp>& a, const Rect_<_Tp>& b) +{ + Rect_<_Tp> c = a; + return c |= b; +} + +/** + * @brief measure dissimilarity between two sample sets + * + * computes the complement of the Jaccard Index as described in . + * For rectangles this reduces to computing the intersection over the union. + */ +template static inline +double jaccardDistance(const Rect_<_Tp>& a, const Rect_<_Tp>& b) { + _Tp Aa = a.area(); + _Tp Ab = b.area(); + + if ((Aa + Ab) <= std::numeric_limits<_Tp>::epsilon()) { + // jaccard_index = 1 -> distance = 0 + return 0.0; + } + + double Aab = (a & b).area(); + // distance = 1 - jaccard_index + return 1.0 - Aab / (Aa + Ab - Aab); +} + +/** @brief Finds out if there is any intersection between two rectangles + * + * mainly useful for language bindings + * @param rect1 First rectangle + * @param rect2 Second rectangle + * @return the area of the intersection + */ +CV_EXPORTS_W inline double rectangleIntersectionArea(const Rect2d& a, const Rect2d& b) { return (a & b).area(); } + +////////////////////////////// RotatedRect ////////////////////////////// + +inline +RotatedRect::RotatedRect() + : center(), size(), angle(0) {} + +inline +RotatedRect::RotatedRect(const Point2f& _center, const Size2f& _size, float _angle) + : center(_center), size(_size), angle(_angle) {} + +///////////////////////////////// Range ///////////////////////////////// + +inline +Range::Range() + : start(0), end(0) {} + +inline +Range::Range(int _start, int _end) + : start(_start), end(_end) {} + +inline +int Range::size() const +{ + return end - start; +} + +inline +bool Range::empty() const +{ + return start == end; +} + +inline +Range Range::all() +{ + return Range(INT_MIN, INT_MAX); +} + + +static inline +bool operator == (const Range& r1, const Range& r2) +{ + return r1.start == r2.start && r1.end == r2.end; +} + +static inline +bool operator != (const Range& r1, const Range& r2) +{ + return !(r1 == r2); +} + +static inline +bool operator !(const Range& r) +{ + return r.start == r.end; +} + +static inline +Range operator & (const Range& r1, const Range& r2) +{ + Range r(std::max(r1.start, r2.start), std::min(r1.end, r2.end)); + r.end = std::max(r.end, r.start); + return r; +} + +static inline +Range& operator &= (Range& r1, const Range& r2) +{ + r1 = r1 & r2; + return r1; +} + +static inline +Range operator + (const Range& r1, int delta) +{ + return Range(r1.start + delta, r1.end + delta); +} + +static inline +Range operator + (int delta, const Range& r1) +{ + return Range(r1.start + delta, r1.end + delta); +} + +static inline +Range operator - (const Range& r1, int delta) +{ + return r1 + (-delta); +} + + + +///////////////////////////////// Scalar //////////////////////////////// + +template inline +Scalar_<_Tp>::Scalar_() +{ + this->val[0] = this->val[1] = this->val[2] = this->val[3] = 0; +} + +template inline +Scalar_<_Tp>::Scalar_(_Tp v0, _Tp v1, _Tp v2, _Tp v3) +{ + this->val[0] = v0; + this->val[1] = v1; + this->val[2] = v2; + this->val[3] = v3; +} + +template inline +Scalar_<_Tp>::Scalar_(const Scalar_<_Tp>& s) : Vec<_Tp, 4>(s) { +} + +template inline +Scalar_<_Tp>::Scalar_(Scalar_<_Tp>&& s) CV_NOEXCEPT { + this->val[0] = std::move(s.val[0]); + this->val[1] = std::move(s.val[1]); + this->val[2] = std::move(s.val[2]); + this->val[3] = std::move(s.val[3]); +} + +template inline +Scalar_<_Tp>& Scalar_<_Tp>::operator=(const Scalar_<_Tp>& s) { + this->val[0] = s.val[0]; + this->val[1] = s.val[1]; + this->val[2] = s.val[2]; + this->val[3] = s.val[3]; + return *this; +} + +template inline +Scalar_<_Tp>& Scalar_<_Tp>::operator=(Scalar_<_Tp>&& s) CV_NOEXCEPT { + this->val[0] = std::move(s.val[0]); + this->val[1] = std::move(s.val[1]); + this->val[2] = std::move(s.val[2]); + this->val[3] = std::move(s.val[3]); + return *this; +} + +template template inline +Scalar_<_Tp>::Scalar_(const Vec<_Tp2, cn>& v) +{ + int i; + for( i = 0; i < (cn < 4 ? cn : 4); i++ ) + this->val[i] = cv::saturate_cast<_Tp>(v.val[i]); + for( ; i < 4; i++ ) + this->val[i] = 0; +} + +template inline +Scalar_<_Tp>::Scalar_(_Tp v0) +{ + this->val[0] = v0; + this->val[1] = this->val[2] = this->val[3] = 0; +} + +template inline +Scalar_<_Tp> Scalar_<_Tp>::all(_Tp v0) +{ + return Scalar_<_Tp>(v0, v0, v0, v0); +} + + +template inline +Scalar_<_Tp> Scalar_<_Tp>::mul(const Scalar_<_Tp>& a, double scale ) const +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(this->val[0] * a.val[0] * scale), + saturate_cast<_Tp>(this->val[1] * a.val[1] * scale), + saturate_cast<_Tp>(this->val[2] * a.val[2] * scale), + saturate_cast<_Tp>(this->val[3] * a.val[3] * scale)); +} + +template inline +Scalar_<_Tp> Scalar_<_Tp>::conj() const +{ + return Scalar_<_Tp>(saturate_cast<_Tp>( this->val[0]), + saturate_cast<_Tp>(-this->val[1]), + saturate_cast<_Tp>(-this->val[2]), + saturate_cast<_Tp>(-this->val[3])); +} + +template inline +bool Scalar_<_Tp>::isReal() const +{ + return this->val[1] == 0 && this->val[2] == 0 && this->val[3] == 0; +} + + +template template inline +Scalar_<_Tp>::operator Scalar_() const +{ + return Scalar_(saturate_cast(this->val[0]), + saturate_cast(this->val[1]), + saturate_cast(this->val[2]), + saturate_cast(this->val[3])); +} + + +template static inline +Scalar_<_Tp>& operator += (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a.val[0] += b.val[0]; + a.val[1] += b.val[1]; + a.val[2] += b.val[2]; + a.val[3] += b.val[3]; + return a; +} + +template static inline +Scalar_<_Tp>& operator -= (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a.val[0] -= b.val[0]; + a.val[1] -= b.val[1]; + a.val[2] -= b.val[2]; + a.val[3] -= b.val[3]; + return a; +} + +template static inline +Scalar_<_Tp>& operator *= ( Scalar_<_Tp>& a, _Tp v ) +{ + a.val[0] *= v; + a.val[1] *= v; + a.val[2] *= v; + a.val[3] *= v; + return a; +} + +template static inline +bool operator == ( const Scalar_<_Tp>& a, const Scalar_<_Tp>& b ) +{ + return a.val[0] == b.val[0] && a.val[1] == b.val[1] && + a.val[2] == b.val[2] && a.val[3] == b.val[3]; +} + +template static inline +bool operator != ( const Scalar_<_Tp>& a, const Scalar_<_Tp>& b ) +{ + return a.val[0] != b.val[0] || a.val[1] != b.val[1] || + a.val[2] != b.val[2] || a.val[3] != b.val[3]; +} + +template static inline +Scalar_<_Tp> operator + (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return Scalar_<_Tp>(a.val[0] + b.val[0], + a.val[1] + b.val[1], + a.val[2] + b.val[2], + a.val[3] + b.val[3]); +} + +template static inline +Scalar_<_Tp> operator - (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(a.val[0] - b.val[0]), + saturate_cast<_Tp>(a.val[1] - b.val[1]), + saturate_cast<_Tp>(a.val[2] - b.val[2]), + saturate_cast<_Tp>(a.val[3] - b.val[3])); +} + +template static inline +Scalar_<_Tp> operator * (const Scalar_<_Tp>& a, _Tp alpha) +{ + return Scalar_<_Tp>(a.val[0] * alpha, + a.val[1] * alpha, + a.val[2] * alpha, + a.val[3] * alpha); +} + +template static inline +Scalar_<_Tp> operator * (_Tp alpha, const Scalar_<_Tp>& a) +{ + return a*alpha; +} + +template static inline +Scalar_<_Tp> operator - (const Scalar_<_Tp>& a) +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(-a.val[0]), + saturate_cast<_Tp>(-a.val[1]), + saturate_cast<_Tp>(-a.val[2]), + saturate_cast<_Tp>(-a.val[3])); +} + + +template static inline +Scalar_<_Tp> operator * (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return Scalar_<_Tp>(saturate_cast<_Tp>(a[0]*b[0] - a[1]*b[1] - a[2]*b[2] - a[3]*b[3]), + saturate_cast<_Tp>(a[0]*b[1] + a[1]*b[0] + a[2]*b[3] - a[3]*b[2]), + saturate_cast<_Tp>(a[0]*b[2] - a[1]*b[3] + a[2]*b[0] + a[3]*b[1]), + saturate_cast<_Tp>(a[0]*b[3] + a[1]*b[2] - a[2]*b[1] + a[3]*b[0])); +} + +template static inline +Scalar_<_Tp>& operator *= (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a = a * b; + return a; +} + +template static inline +Scalar_<_Tp> operator / (const Scalar_<_Tp>& a, _Tp alpha) +{ + return Scalar_<_Tp>(a.val[0] / alpha, + a.val[1] / alpha, + a.val[2] / alpha, + a.val[3] / alpha); +} + +template static inline +Scalar_ operator / (const Scalar_& a, float alpha) +{ + float s = 1 / alpha; + return Scalar_(a.val[0] * s, a.val[1] * s, a.val[2] * s, a.val[3] * s); +} + +template static inline +Scalar_ operator / (const Scalar_& a, double alpha) +{ + double s = 1 / alpha; + return Scalar_(a.val[0] * s, a.val[1] * s, a.val[2] * s, a.val[3] * s); +} + +template static inline +Scalar_<_Tp>& operator /= (Scalar_<_Tp>& a, _Tp alpha) +{ + a = a / alpha; + return a; +} + +template static inline +Scalar_<_Tp> operator / (_Tp a, const Scalar_<_Tp>& b) +{ + _Tp s = a / (b[0]*b[0] + b[1]*b[1] + b[2]*b[2] + b[3]*b[3]); + return b.conj() * s; +} + +template static inline +Scalar_<_Tp> operator / (const Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + return a * ((_Tp)1 / b); +} + +template static inline +Scalar_<_Tp>& operator /= (Scalar_<_Tp>& a, const Scalar_<_Tp>& b) +{ + a = a / b; + return a; +} + +template static inline +Scalar operator * (const Matx<_Tp, 4, 4>& a, const Scalar& b) +{ + Matx c((Matx)a, b, Matx_MatMulOp()); + return reinterpret_cast(c); +} + +template<> inline +Scalar operator * (const Matx& a, const Scalar& b) +{ + Matx c(a, b, Matx_MatMulOp()); + return reinterpret_cast(c); +} + + + +//////////////////////////////// KeyPoint /////////////////////////////// + +inline +KeyPoint::KeyPoint() + : pt(0,0), size(0), angle(-1), response(0), octave(0), class_id(-1) {} + +inline +KeyPoint::KeyPoint(Point2f _pt, float _size, float _angle, float _response, int _octave, int _class_id) + : pt(_pt), size(_size), angle(_angle), response(_response), octave(_octave), class_id(_class_id) {} + +inline +KeyPoint::KeyPoint(float x, float y, float _size, float _angle, float _response, int _octave, int _class_id) + : pt(x, y), size(_size), angle(_angle), response(_response), octave(_octave), class_id(_class_id) {} + + + +///////////////////////////////// DMatch //////////////////////////////// + +inline +DMatch::DMatch() + : queryIdx(-1), trainIdx(-1), imgIdx(-1), distance(FLT_MAX) {} + +inline +DMatch::DMatch(int _queryIdx, int _trainIdx, float _distance) + : queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(-1), distance(_distance) {} + +inline +DMatch::DMatch(int _queryIdx, int _trainIdx, int _imgIdx, float _distance) + : queryIdx(_queryIdx), trainIdx(_trainIdx), imgIdx(_imgIdx), distance(_distance) {} + +inline +bool DMatch::operator < (const DMatch &m) const +{ + return distance < m.distance; +} + + + +////////////////////////////// TermCriteria ///////////////////////////// + +inline +TermCriteria::TermCriteria() + : type(0), maxCount(0), epsilon(0) {} + +inline +TermCriteria::TermCriteria(int _type, int _maxCount, double _epsilon) + : type(_type), maxCount(_maxCount), epsilon(_epsilon) {} + +//! @endcond + +} // cv + +#ifdef _MSC_VER +#pragma warning(pop) +#endif + +#endif //OPENCV_CORE_TYPES_HPP diff --git a/camera_lib/include/opencv2/core/types_c.h b/camera_lib/include/opencv2/core/types_c.h new file mode 100644 index 0000000..32f3c8c --- /dev/null +++ b/camera_lib/include/opencv2/core/types_c.h @@ -0,0 +1,2126 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_TYPES_H +#define OPENCV_CORE_TYPES_H + +#ifdef CV__ENABLE_C_API_CTORS // invalid C API ctors (must be removed) +#if defined(_WIN32) && !defined(CV__SKIP_MESSAGE_MALFORMED_C_API_CTORS) +#error "C API ctors don't work on Win32: https://github.com/opencv/opencv/issues/15990" +#endif +#endif + +//#define CV__VALIDATE_UNUNITIALIZED_VARS 1 // C++11 & GCC only + +#ifdef __cplusplus + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#define CV_STRUCT_INITIALIZER {0,} +#else +#if defined(__GNUC__) && __GNUC__ == 4 // GCC 4.x warns on "= {}" initialization, fixed in GCC 5.0 +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif +#define CV_STRUCT_INITIALIZER {} +#endif + +#else +#define CV_STRUCT_INITIALIZER {0} +#endif + + +#ifdef HAVE_IPL +# ifndef __IPL_H__ +# if defined _WIN32 +# include +# else +# include +# endif +# endif +#elif defined __IPL_H__ +# define HAVE_IPL +#endif + +#include "opencv2/core/cvdef.h" + +#ifndef SKIP_INCLUDES +#include +#include +#include +#include +#endif // SKIP_INCLUDES + +#if defined _WIN32 +# define CV_CDECL __cdecl +# define CV_STDCALL __stdcall +#else +# define CV_CDECL +# define CV_STDCALL +#endif + +#ifndef CV_DEFAULT +# ifdef __cplusplus +# define CV_DEFAULT(val) = val +# else +# define CV_DEFAULT(val) +# endif +#endif + +#ifndef CV_EXTERN_C_FUNCPTR +# ifdef __cplusplus +# define CV_EXTERN_C_FUNCPTR(x) extern "C" { typedef x; } +# else +# define CV_EXTERN_C_FUNCPTR(x) typedef x +# endif +#endif + +#ifndef CVAPI +# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL +#endif + +#ifndef CV_IMPL +# define CV_IMPL CV_EXTERN_C +#endif + +#ifdef __cplusplus +# include "opencv2/core.hpp" +#endif + +/** @addtogroup core_c + @{ +*/ + +/** @brief This is the "metatype" used *only* as a function parameter. + +It denotes that the function accepts arrays of multiple types, such as IplImage*, CvMat* or even +CvSeq* sometimes. The particular array type is determined at runtime by analyzing the first 4 +bytes of the header. In C++ interface the role of CvArr is played by InputArray and OutputArray. + */ +typedef void CvArr; + +typedef int CVStatus; + +/** @see cv::Error::Code */ +enum { + CV_StsOk= 0, /**< everything is ok */ + CV_StsBackTrace= -1, /**< pseudo error for back trace */ + CV_StsError= -2, /**< unknown /unspecified error */ + CV_StsInternal= -3, /**< internal error (bad state) */ + CV_StsNoMem= -4, /**< insufficient memory */ + CV_StsBadArg= -5, /**< function arg/param is bad */ + CV_StsBadFunc= -6, /**< unsupported function */ + CV_StsNoConv= -7, /**< iter. didn't converge */ + CV_StsAutoTrace= -8, /**< tracing */ + CV_HeaderIsNull= -9, /**< image header is NULL */ + CV_BadImageSize= -10, /**< image size is invalid */ + CV_BadOffset= -11, /**< offset is invalid */ + CV_BadDataPtr= -12, /**/ + CV_BadStep= -13, /**< image step is wrong, this may happen for a non-continuous matrix */ + CV_BadModelOrChSeq= -14, /**/ + CV_BadNumChannels= -15, /**< bad number of channels, for example, some functions accept only single channel matrices */ + CV_BadNumChannel1U= -16, /**/ + CV_BadDepth= -17, /**< input image depth is not supported by the function */ + CV_BadAlphaChannel= -18, /**/ + CV_BadOrder= -19, /**< number of dimensions is out of range */ + CV_BadOrigin= -20, /**< incorrect input origin */ + CV_BadAlign= -21, /**< incorrect input align */ + CV_BadCallBack= -22, /**/ + CV_BadTileSize= -23, /**/ + CV_BadCOI= -24, /**< input COI is not supported */ + CV_BadROISize= -25, /**< incorrect input roi */ + CV_MaskIsTiled= -26, /**/ + CV_StsNullPtr= -27, /**< null pointer */ + CV_StsVecLengthErr= -28, /**< incorrect vector length */ + CV_StsFilterStructContentErr= -29, /**< incorrect filter structure content */ + CV_StsKernelStructContentErr= -30, /**< incorrect transform kernel content */ + CV_StsFilterOffsetErr= -31, /**< incorrect filter offset value */ + CV_StsBadSize= -201, /**< the input/output structure size is incorrect */ + CV_StsDivByZero= -202, /**< division by zero */ + CV_StsInplaceNotSupported= -203, /**< in-place operation is not supported */ + CV_StsObjectNotFound= -204, /**< request can't be completed */ + CV_StsUnmatchedFormats= -205, /**< formats of input/output arrays differ */ + CV_StsBadFlag= -206, /**< flag is wrong or not supported */ + CV_StsBadPoint= -207, /**< bad CvPoint */ + CV_StsBadMask= -208, /**< bad format of mask (neither 8uC1 nor 8sC1)*/ + CV_StsUnmatchedSizes= -209, /**< sizes of input/output structures do not match */ + CV_StsUnsupportedFormat= -210, /**< the data format/type is not supported by the function*/ + CV_StsOutOfRange= -211, /**< some of parameters are out of range */ + CV_StsParseError= -212, /**< invalid syntax/structure of the parsed file */ + CV_StsNotImplemented= -213, /**< the requested function/feature is not implemented */ + CV_StsBadMemBlock= -214, /**< an allocated block has been corrupted */ + CV_StsAssert= -215, /**< assertion failed */ + CV_GpuNotSupported= -216, /**< no CUDA support */ + CV_GpuApiCallError= -217, /**< GPU API call error */ + CV_OpenGlNotSupported= -218, /**< no OpenGL support */ + CV_OpenGlApiCallError= -219, /**< OpenGL API call error */ + CV_OpenCLApiCallError= -220, /**< OpenCL API call error */ + CV_OpenCLDoubleNotSupported= -221, + CV_OpenCLInitError= -222, /**< OpenCL initialization error */ + CV_OpenCLNoAMDBlasFft= -223 +}; + +/****************************************************************************************\ +* Common macros and inline functions * +\****************************************************************************************/ + +#define CV_SWAP(a,b,t) ((t) = (a), (a) = (b), (b) = (t)) + +/** min & max without jumps */ +#define CV_IMIN(a, b) ((a) ^ (((a)^(b)) & (((a) < (b)) - 1))) + +#define CV_IMAX(a, b) ((a) ^ (((a)^(b)) & (((a) > (b)) - 1))) + +/** absolute value without jumps */ +#ifndef __cplusplus +# define CV_IABS(a) (((a) ^ ((a) < 0 ? -1 : 0)) - ((a) < 0 ? -1 : 0)) +#else +# define CV_IABS(a) abs(a) +#endif +#define CV_CMP(a,b) (((a) > (b)) - ((a) < (b))) +#define CV_SIGN(a) CV_CMP((a),0) + +#define cvInvSqrt(value) ((float)(1./sqrt(value))) +#define cvSqrt(value) ((float)sqrt(value)) + + +/*************** Random number generation *******************/ + +typedef uint64 CvRNG; + +#define CV_RNG_COEFF 4164903690U + +/** @brief Initializes a random number generator state. + +The function initializes a random number generator and returns the state. The pointer to the state +can be then passed to the cvRandInt, cvRandReal and cvRandArr functions. In the current +implementation a multiply-with-carry generator is used. +@param seed 64-bit value used to initiate a random sequence +@sa the C++ class RNG replaced CvRNG. + */ +CV_INLINE CvRNG cvRNG( int64 seed CV_DEFAULT(-1)) +{ + CvRNG rng = seed ? (uint64)seed : (uint64)(int64)-1; + return rng; +} + +/** @brief Returns a 32-bit unsigned integer and updates RNG. + +The function returns a uniformly-distributed random 32-bit unsigned integer and updates the RNG +state. It is similar to the rand() function from the C runtime library, except that OpenCV functions +always generates a 32-bit random number, regardless of the platform. +@param rng CvRNG state initialized by cvRNG. + */ +CV_INLINE unsigned cvRandInt( CvRNG* rng ) +{ + uint64 temp = *rng; + temp = (uint64)(unsigned)temp*CV_RNG_COEFF + (temp >> 32); + *rng = temp; + return (unsigned)temp; +} + +/** @brief Returns a floating-point random number and updates RNG. + +The function returns a uniformly-distributed random floating-point number between 0 and 1 (1 is not +included). +@param rng RNG state initialized by cvRNG + */ +CV_INLINE double cvRandReal( CvRNG* rng ) +{ + return cvRandInt(rng)*2.3283064365386962890625e-10 /* 2^-32 */; +} + +/****************************************************************************************\ +* Image type (IplImage) * +\****************************************************************************************/ + +#ifndef HAVE_IPL + +/* + * The following definitions (until #endif) + * is an extract from IPL headers. + * Copyright (c) 1995 Intel Corporation. + */ +#define IPL_DEPTH_SIGN 0x80000000 + +#define IPL_DEPTH_1U 1 +#define IPL_DEPTH_8U 8 +#define IPL_DEPTH_16U 16 +#define IPL_DEPTH_32F 32 + +#define IPL_DEPTH_8S (IPL_DEPTH_SIGN| 8) +#define IPL_DEPTH_16S (IPL_DEPTH_SIGN|16) +#define IPL_DEPTH_32S (IPL_DEPTH_SIGN|32) + +#define IPL_DATA_ORDER_PIXEL 0 +#define IPL_DATA_ORDER_PLANE 1 + +#define IPL_ORIGIN_TL 0 +#define IPL_ORIGIN_BL 1 + +#define IPL_ALIGN_4BYTES 4 +#define IPL_ALIGN_8BYTES 8 +#define IPL_ALIGN_16BYTES 16 +#define IPL_ALIGN_32BYTES 32 + +#define IPL_ALIGN_DWORD IPL_ALIGN_4BYTES +#define IPL_ALIGN_QWORD IPL_ALIGN_8BYTES + +#define IPL_BORDER_CONSTANT 0 +#define IPL_BORDER_REPLICATE 1 +#define IPL_BORDER_REFLECT 2 +#define IPL_BORDER_WRAP 3 + +#ifdef __cplusplus +typedef struct _IplImage IplImage; +CV_EXPORTS _IplImage cvIplImage(const cv::Mat& m); +#endif + +/** The IplImage is taken from the Intel Image Processing Library, in which the format is native. OpenCV +only supports a subset of possible IplImage formats, as outlined in the parameter list above. + +In addition to the above restrictions, OpenCV handles ROIs differently. OpenCV functions require +that the image size or ROI size of all source and destination images match exactly. On the other +hand, the Intel Image Processing Library processes the area of intersection between the source and +destination images (or ROIs), allowing them to vary independently. +*/ +typedef struct +_IplImage +{ + int nSize; /**< sizeof(IplImage) */ + int ID; /**< version (=0)*/ + int nChannels; /**< Most of OpenCV functions support 1,2,3 or 4 channels */ + int alphaChannel; /**< Ignored by OpenCV */ + int depth; /**< Pixel depth in bits: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16S, + IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F are supported. */ + char colorModel[4]; /**< Ignored by OpenCV */ + char channelSeq[4]; /**< ditto */ + int dataOrder; /**< 0 - interleaved color channels, 1 - separate color channels. + cvCreateImage can only create interleaved images */ + int origin; /**< 0 - top-left origin, + 1 - bottom-left origin (Windows bitmaps style). */ + int align; /**< Alignment of image rows (4 or 8). + OpenCV ignores it and uses widthStep instead. */ + int width; /**< Image width in pixels. */ + int height; /**< Image height in pixels. */ + struct _IplROI *roi; /**< Image ROI. If NULL, the whole image is selected. */ + struct _IplImage *maskROI; /**< Must be NULL. */ + void *imageId; /**< " " */ + struct _IplTileInfo *tileInfo; /**< " " */ + int imageSize; /**< Image data size in bytes + (==image->height*image->widthStep + in case of interleaved data)*/ + char *imageData; /**< Pointer to aligned image data. */ + int widthStep; /**< Size of aligned image row in bytes. */ + int BorderMode[4]; /**< Ignored by OpenCV. */ + int BorderConst[4]; /**< Ditto. */ + char *imageDataOrigin; /**< Pointer to very origin of image data + (not necessarily aligned) - + needed for correct deallocation */ + +#if defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + _IplImage() + { + memset(this, 0, sizeof(*this)); // valid for POD structure + nSize = sizeof(IplImage); + } + _IplImage(const cv::Mat& m) { *this = cvIplImage(m); } +#endif +} +IplImage; + +CV_INLINE IplImage cvIplImage() +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + IplImage self = CV_STRUCT_INITIALIZER; self.nSize = sizeof(IplImage); return self; +#else + return _IplImage(); +#endif +} + +typedef struct _IplTileInfo IplTileInfo; + +typedef struct _IplROI +{ + int coi; /**< 0 - no COI (all channels are selected), 1 - 0th channel is selected ...*/ + int xOffset; + int yOffset; + int width; + int height; +} +IplROI; + +typedef struct _IplConvKernel +{ + int nCols; + int nRows; + int anchorX; + int anchorY; + int *values; + int nShiftR; +} +IplConvKernel; + +typedef struct _IplConvKernelFP +{ + int nCols; + int nRows; + int anchorX; + int anchorY; + float *values; +} +IplConvKernelFP; + +#define IPL_IMAGE_HEADER 1 +#define IPL_IMAGE_DATA 2 +#define IPL_IMAGE_ROI 4 + +#endif/*HAVE_IPL*/ + +/** extra border mode */ +#define IPL_BORDER_REFLECT_101 4 +#define IPL_BORDER_TRANSPARENT 5 + +#define IPL_IMAGE_MAGIC_VAL ((int)sizeof(IplImage)) +#define CV_TYPE_NAME_IMAGE "opencv-image" + +#define CV_IS_IMAGE_HDR(img) \ + ((img) != NULL && ((const IplImage*)(img))->nSize == sizeof(IplImage)) + +#define CV_IS_IMAGE(img) \ + (CV_IS_IMAGE_HDR(img) && ((IplImage*)img)->imageData != NULL) + +/** for storing double-precision + floating point data in IplImage's */ +#define IPL_DEPTH_64F 64 + +/** get reference to pixel at (col,row), + for multi-channel images (col) should be multiplied by number of channels */ +#define CV_IMAGE_ELEM( image, elemtype, row, col ) \ + (((elemtype*)((image)->imageData + (image)->widthStep*(row)))[(col)]) + +/****************************************************************************************\ +* Matrix type (CvMat) * +\****************************************************************************************/ + +#define CV_AUTO_STEP 0x7fffffff +#define CV_WHOLE_ARR cvSlice( 0, 0x3fffffff ) + +#define CV_MAGIC_MASK 0xFFFF0000 +#define CV_MAT_MAGIC_VAL 0x42420000 +#define CV_TYPE_NAME_MAT "opencv-matrix" + +#ifdef __cplusplus +typedef struct CvMat CvMat; +CV_INLINE CvMat cvMat(const cv::Mat& m); +#endif + +/** Matrix elements are stored row by row. Element (i, j) (i - 0-based row index, j - 0-based column +index) of a matrix can be retrieved or modified using CV_MAT_ELEM macro: + + uchar pixval = CV_MAT_ELEM(grayimg, uchar, i, j) + CV_MAT_ELEM(cameraMatrix, float, 0, 2) = image.width*0.5f; + +To access multiple-channel matrices, you can use +CV_MAT_ELEM(matrix, type, i, j\*nchannels + channel_idx). + +@deprecated CvMat is now obsolete; consider using Mat instead. + */ +typedef struct CvMat +{ + int type; + int step; + + /* for internal use only */ + int* refcount; + int hdr_refcount; + + union + { + uchar* ptr; + short* s; + int* i; + float* fl; + double* db; + } data; + +#ifdef __cplusplus + union + { + int rows; + int height; + }; + + union + { + int cols; + int width; + }; +#else + int rows; + int cols; +#endif + +#if defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvMat() {} + CvMat(const cv::Mat& m) { *this = cvMat(m); } +#endif +} +CvMat; + + +#define CV_IS_MAT_HDR(mat) \ + ((mat) != NULL && \ + (((const CvMat*)(mat))->type & CV_MAGIC_MASK) == CV_MAT_MAGIC_VAL && \ + ((const CvMat*)(mat))->cols > 0 && ((const CvMat*)(mat))->rows > 0) + +#define CV_IS_MAT_HDR_Z(mat) \ + ((mat) != NULL && \ + (((const CvMat*)(mat))->type & CV_MAGIC_MASK) == CV_MAT_MAGIC_VAL && \ + ((const CvMat*)(mat))->cols >= 0 && ((const CvMat*)(mat))->rows >= 0) + +#define CV_IS_MAT(mat) \ + (CV_IS_MAT_HDR(mat) && ((const CvMat*)(mat))->data.ptr != NULL) + +#define CV_IS_MASK_ARR(mat) \ + (((mat)->type & (CV_MAT_TYPE_MASK & ~CV_8SC1)) == 0) + +#define CV_ARE_TYPES_EQ(mat1, mat2) \ + ((((mat1)->type ^ (mat2)->type) & CV_MAT_TYPE_MASK) == 0) + +#define CV_ARE_CNS_EQ(mat1, mat2) \ + ((((mat1)->type ^ (mat2)->type) & CV_MAT_CN_MASK) == 0) + +#define CV_ARE_DEPTHS_EQ(mat1, mat2) \ + ((((mat1)->type ^ (mat2)->type) & CV_MAT_DEPTH_MASK) == 0) + +#define CV_ARE_SIZES_EQ(mat1, mat2) \ + ((mat1)->rows == (mat2)->rows && (mat1)->cols == (mat2)->cols) + +#define CV_IS_MAT_CONST(mat) \ + (((mat)->rows|(mat)->cols) == 1) + +#define IPL2CV_DEPTH(depth) \ + ((((CV_8U)+(CV_16U<<4)+(CV_32F<<8)+(CV_64F<<16)+(CV_8S<<20)+ \ + (CV_16S<<24)+(CV_32S<<28)) >> ((((depth) & 0xF0) >> 2) + \ + (((depth) & IPL_DEPTH_SIGN) ? 20 : 0))) & 15) + +/** Inline constructor. No data is allocated internally!!! + * (Use together with cvCreateData, or use cvCreateMat instead to + * get a matrix with allocated data): + */ +CV_INLINE CvMat cvMat( int rows, int cols, int type, void* data CV_DEFAULT(NULL)) +{ + CvMat m; + + assert( (unsigned)CV_MAT_DEPTH(type) <= CV_64F ); + type = CV_MAT_TYPE(type); + m.type = CV_MAT_MAGIC_VAL | CV_MAT_CONT_FLAG | type; + m.cols = cols; + m.rows = rows; + m.step = m.cols*CV_ELEM_SIZE(type); + m.data.ptr = (uchar*)data; + m.refcount = NULL; + m.hdr_refcount = 0; + + return m; +} + +#ifdef __cplusplus + +CV_INLINE CvMat cvMat(const cv::Mat& m) +{ + CvMat self; + CV_DbgAssert(m.dims <= 2); + self = cvMat(m.rows, m.dims == 1 ? 1 : m.cols, m.type(), m.data); + self.step = (int)m.step[0]; + self.type = (self.type & ~cv::Mat::CONTINUOUS_FLAG) | (m.flags & cv::Mat::CONTINUOUS_FLAG); + return self; +} +CV_INLINE CvMat cvMat() +{ +#if !defined(CV__ENABLE_C_API_CTORS) + CvMat self = CV_STRUCT_INITIALIZER; return self; +#else + return CvMat(); +#endif +} +CV_INLINE CvMat cvMat(const CvMat& m) +{ +#if !defined(CV__ENABLE_C_API_CTORS) + CvMat self = CV_STRUCT_INITIALIZER; memcpy(&self, &m, sizeof(self)); return self; +#else + return CvMat(m); +#endif +} + +#endif // __cplusplus + + +#define CV_MAT_ELEM_PTR_FAST( mat, row, col, pix_size ) \ + (assert( (unsigned)(row) < (unsigned)(mat).rows && \ + (unsigned)(col) < (unsigned)(mat).cols ), \ + (mat).data.ptr + (size_t)(mat).step*(row) + (pix_size)*(col)) + +#define CV_MAT_ELEM_PTR( mat, row, col ) \ + CV_MAT_ELEM_PTR_FAST( mat, row, col, CV_ELEM_SIZE((mat).type) ) + +#define CV_MAT_ELEM( mat, elemtype, row, col ) \ + (*(elemtype*)CV_MAT_ELEM_PTR_FAST( mat, row, col, sizeof(elemtype))) + +/** @brief Returns the particular element of single-channel floating-point matrix. + +The function is a fast replacement for cvGetReal2D in the case of single-channel floating-point +matrices. It is faster because it is inline, it does fewer checks for array type and array element +type, and it checks for the row and column ranges only in debug mode. +@param mat Input matrix +@param row The zero-based index of row +@param col The zero-based index of column + */ +CV_INLINE double cvmGet( const CvMat* mat, int row, int col ) +{ + int type; + + type = CV_MAT_TYPE(mat->type); + assert( (unsigned)row < (unsigned)mat->rows && + (unsigned)col < (unsigned)mat->cols ); + + if( type == CV_32FC1 ) + return ((float*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col]; + else + { + assert( type == CV_64FC1 ); + return ((double*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col]; + } +} + +/** @brief Sets a specific element of a single-channel floating-point matrix. + +The function is a fast replacement for cvSetReal2D in the case of single-channel floating-point +matrices. It is faster because it is inline, it does fewer checks for array type and array element +type, and it checks for the row and column ranges only in debug mode. +@param mat The matrix +@param row The zero-based index of row +@param col The zero-based index of column +@param value The new value of the matrix element + */ +CV_INLINE void cvmSet( CvMat* mat, int row, int col, double value ) +{ + int type; + type = CV_MAT_TYPE(mat->type); + assert( (unsigned)row < (unsigned)mat->rows && + (unsigned)col < (unsigned)mat->cols ); + + if( type == CV_32FC1 ) + ((float*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col] = (float)value; + else + { + assert( type == CV_64FC1 ); + ((double*)(void*)(mat->data.ptr + (size_t)mat->step*row))[col] = value; + } +} + + +CV_INLINE int cvIplDepth( int type ) +{ + int depth = CV_MAT_DEPTH(type); + return CV_ELEM_SIZE1(depth)*8 | (depth == CV_8S || depth == CV_16S || + depth == CV_32S ? IPL_DEPTH_SIGN : 0); +} + + +/****************************************************************************************\ +* Multi-dimensional dense array (CvMatND) * +\****************************************************************************************/ + +#define CV_MATND_MAGIC_VAL 0x42430000 +#define CV_TYPE_NAME_MATND "opencv-nd-matrix" + +#define CV_MAX_DIM 32 + +#ifdef __cplusplus +typedef struct CvMatND CvMatND; +CV_EXPORTS CvMatND cvMatND(const cv::Mat& m); +#endif + +/** + @deprecated consider using cv::Mat instead + */ +typedef struct +CvMatND +{ + int type; + int dims; + + int* refcount; + int hdr_refcount; + + union + { + uchar* ptr; + float* fl; + double* db; + int* i; + short* s; + } data; + + struct + { + int size; + int step; + } + dim[CV_MAX_DIM]; + +#if defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvMatND() {} + CvMatND(const cv::Mat& m) { *this = cvMatND(m); } +#endif +} +CvMatND; + + +CV_INLINE CvMatND cvMatND() +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvMatND self = CV_STRUCT_INITIALIZER; return self; +#else + return CvMatND(); +#endif +} + +#define CV_IS_MATND_HDR(mat) \ + ((mat) != NULL && (((const CvMatND*)(mat))->type & CV_MAGIC_MASK) == CV_MATND_MAGIC_VAL) + +#define CV_IS_MATND(mat) \ + (CV_IS_MATND_HDR(mat) && ((const CvMatND*)(mat))->data.ptr != NULL) + + +/****************************************************************************************\ +* Multi-dimensional sparse array (CvSparseMat) * +\****************************************************************************************/ + +#define CV_SPARSE_MAT_MAGIC_VAL 0x42440000 +#define CV_TYPE_NAME_SPARSE_MAT "opencv-sparse-matrix" + +struct CvSet; + +typedef struct CvSparseMat +{ + int type; + int dims; + int* refcount; + int hdr_refcount; + + struct CvSet* heap; + void** hashtable; + int hashsize; + int valoffset; + int idxoffset; + int size[CV_MAX_DIM]; + +#ifdef __cplusplus + CV_EXPORTS void copyToSparseMat(cv::SparseMat& m) const; +#endif +} +CvSparseMat; + +#ifdef __cplusplus +CV_EXPORTS CvSparseMat* cvCreateSparseMat(const cv::SparseMat& m); +#endif + +#define CV_IS_SPARSE_MAT_HDR(mat) \ + ((mat) != NULL && \ + (((const CvSparseMat*)(mat))->type & CV_MAGIC_MASK) == CV_SPARSE_MAT_MAGIC_VAL) + +#define CV_IS_SPARSE_MAT(mat) \ + CV_IS_SPARSE_MAT_HDR(mat) + +/**************** iteration through a sparse array *****************/ + +typedef struct CvSparseNode +{ + unsigned hashval; + struct CvSparseNode* next; +} +CvSparseNode; + +typedef struct CvSparseMatIterator +{ + CvSparseMat* mat; + CvSparseNode* node; + int curidx; +} +CvSparseMatIterator; + +#define CV_NODE_VAL(mat,node) ((void*)((uchar*)(node) + (mat)->valoffset)) +#define CV_NODE_IDX(mat,node) ((int*)((uchar*)(node) + (mat)->idxoffset)) + +/****************************************************************************************\ +* Histogram * +\****************************************************************************************/ + +typedef int CvHistType; + +#define CV_HIST_MAGIC_VAL 0x42450000 +#define CV_HIST_UNIFORM_FLAG (1 << 10) + +/** indicates whether bin ranges are set already or not */ +#define CV_HIST_RANGES_FLAG (1 << 11) + +#define CV_HIST_ARRAY 0 +#define CV_HIST_SPARSE 1 +#define CV_HIST_TREE CV_HIST_SPARSE + +/** should be used as a parameter only, + it turns to CV_HIST_UNIFORM_FLAG of hist->type */ +#define CV_HIST_UNIFORM 1 + +typedef struct CvHistogram +{ + int type; + CvArr* bins; + float thresh[CV_MAX_DIM][2]; /**< For uniform histograms. */ + float** thresh2; /**< For non-uniform histograms. */ + CvMatND mat; /**< Embedded matrix header for array histograms. */ +} +CvHistogram; + +#define CV_IS_HIST( hist ) \ + ((hist) != NULL && \ + (((CvHistogram*)(hist))->type & CV_MAGIC_MASK) == CV_HIST_MAGIC_VAL && \ + (hist)->bins != NULL) + +#define CV_IS_UNIFORM_HIST( hist ) \ + (((hist)->type & CV_HIST_UNIFORM_FLAG) != 0) + +#define CV_IS_SPARSE_HIST( hist ) \ + CV_IS_SPARSE_MAT((hist)->bins) + +#define CV_HIST_HAS_RANGES( hist ) \ + (((hist)->type & CV_HIST_RANGES_FLAG) != 0) + +/****************************************************************************************\ +* Other supplementary data type definitions * +\****************************************************************************************/ + +/*************************************** CvRect *****************************************/ +/** @sa Rect_ */ +typedef struct CvRect +{ + int x; + int y; + int width; + int height; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvRect() __attribute__(( warning("Non-initialized variable") )) {}; + template CvRect(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 4); + x = y = width = height = 0; + if (list.size() == 4) + { + x = list.begin()[0]; y = list.begin()[1]; width = list.begin()[2]; height = list.begin()[3]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvRect(int _x = 0, int _y = 0, int w = 0, int h = 0): x(_x), y(_y), width(w), height(h) {} + template + CvRect(const cv::Rect_<_Tp>& r): x(cv::saturate_cast(r.x)), y(cv::saturate_cast(r.y)), width(cv::saturate_cast(r.width)), height(cv::saturate_cast(r.height)) {} +#endif +#ifdef __cplusplus + template + operator cv::Rect_<_Tp>() const { return cv::Rect_<_Tp>((_Tp)x, (_Tp)y, (_Tp)width, (_Tp)height); } +#endif +} +CvRect; + +/** constructs CvRect structure. */ +CV_INLINE CvRect cvRect( int x, int y, int width, int height ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvRect r = {x, y, width, height}; +#else + CvRect r(x, y , width, height); +#endif + return r; +} +#ifdef __cplusplus +CV_INLINE CvRect cvRect(const cv::Rect& rc) { return cvRect(rc.x, rc.y, rc.width, rc.height); } +#endif + +CV_INLINE IplROI cvRectToROI( CvRect rect, int coi ) +{ + IplROI roi; + roi.xOffset = rect.x; + roi.yOffset = rect.y; + roi.width = rect.width; + roi.height = rect.height; + roi.coi = coi; + + return roi; +} + + +CV_INLINE CvRect cvROIToRect( IplROI roi ) +{ + return cvRect( roi.xOffset, roi.yOffset, roi.width, roi.height ); +} + +/*********************************** CvTermCriteria *************************************/ + +#define CV_TERMCRIT_ITER 1 +#define CV_TERMCRIT_NUMBER CV_TERMCRIT_ITER +#define CV_TERMCRIT_EPS 2 + +/** @sa TermCriteria + */ +typedef struct CvTermCriteria +{ + int type; /**< may be combination of + CV_TERMCRIT_ITER + CV_TERMCRIT_EPS */ + int max_iter; + double epsilon; +#if defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvTermCriteria(int _type = 0, int _iter = 0, double _eps = 0) : type(_type), max_iter(_iter), epsilon(_eps) {} + CvTermCriteria(const cv::TermCriteria& t) : type(t.type), max_iter(t.maxCount), epsilon(t.epsilon) {} +#endif +#ifdef __cplusplus + operator cv::TermCriteria() const { return cv::TermCriteria(type, max_iter, epsilon); } +#endif +} +CvTermCriteria; + +CV_INLINE CvTermCriteria cvTermCriteria( int type, int max_iter, double epsilon ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvTermCriteria t = { type, max_iter, (float)epsilon}; +#else + CvTermCriteria t(type, max_iter, epsilon); +#endif + return t; +} +#ifdef __cplusplus +CV_INLINE CvTermCriteria cvTermCriteria(const cv::TermCriteria& t) { return cvTermCriteria(t.type, t.maxCount, t.epsilon); } +#endif + + +/******************************* CvPoint and variants ***********************************/ + +typedef struct CvPoint +{ + int x; + int y; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvPoint() __attribute__(( warning("Non-initialized variable") )) {} + template CvPoint(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 2); + x = y = 0; + if (list.size() == 2) + { + x = list.begin()[0]; y = list.begin()[1]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvPoint(int _x = 0, int _y = 0): x(_x), y(_y) {} + template + CvPoint(const cv::Point_<_Tp>& pt): x((int)pt.x), y((int)pt.y) {} +#endif +#ifdef __cplusplus + template + operator cv::Point_<_Tp>() const { return cv::Point_<_Tp>(cv::saturate_cast<_Tp>(x), cv::saturate_cast<_Tp>(y)); } +#endif +} +CvPoint; + +/** constructs CvPoint structure. */ +CV_INLINE CvPoint cvPoint( int x, int y ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvPoint p = {x, y}; +#else + CvPoint p(x, y); +#endif + return p; +} +#ifdef __cplusplus +CV_INLINE CvPoint cvPoint(const cv::Point& pt) { return cvPoint(pt.x, pt.y); } +#endif + +typedef struct CvPoint2D32f +{ + float x; + float y; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvPoint2D32f() __attribute__(( warning("Non-initialized variable") )) {} + template CvPoint2D32f(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 2); + x = y = 0; + if (list.size() == 2) + { + x = list.begin()[0]; y = list.begin()[1]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvPoint2D32f(float _x = 0, float _y = 0): x(_x), y(_y) {} + template + CvPoint2D32f(const cv::Point_<_Tp>& pt): x((float)pt.x), y((float)pt.y) {} +#endif +#ifdef __cplusplus + template + operator cv::Point_<_Tp>() const { return cv::Point_<_Tp>(cv::saturate_cast<_Tp>(x), cv::saturate_cast<_Tp>(y)); } +#endif +} +CvPoint2D32f; + +/** constructs CvPoint2D32f structure. */ +CV_INLINE CvPoint2D32f cvPoint2D32f( double x, double y ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvPoint2D32f p = { (float)x, (float)y }; +#else + CvPoint2D32f p((float)x, (float)y); +#endif + return p; +} + +#ifdef __cplusplus +template +CvPoint2D32f cvPoint2D32f(const cv::Point_<_Tp>& pt) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvPoint2D32f p = { (float)pt.x, (float)pt.y }; +#else + CvPoint2D32f p((float)pt.x, (float)pt.y); +#endif + return p; +} +#endif + +/** converts CvPoint to CvPoint2D32f. */ +CV_INLINE CvPoint2D32f cvPointTo32f( CvPoint point ) +{ + return cvPoint2D32f( (float)point.x, (float)point.y ); +} + +/** converts CvPoint2D32f to CvPoint. */ +CV_INLINE CvPoint cvPointFrom32f( CvPoint2D32f point ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvPoint ipt = { cvRound(point.x), cvRound(point.y) }; +#else + CvPoint ipt(cvRound(point.x), cvRound(point.y)); +#endif + return ipt; +} + + +typedef struct CvPoint3D32f +{ + float x; + float y; + float z; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvPoint3D32f() __attribute__(( warning("Non-initialized variable") )) {} + template CvPoint3D32f(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 3); + x = y = z = 0; + if (list.size() == 3) + { + x = list.begin()[0]; y = list.begin()[1]; z = list.begin()[2]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvPoint3D32f(float _x = 0, float _y = 0, float _z = 0): x(_x), y(_y), z(_z) {} + template + CvPoint3D32f(const cv::Point3_<_Tp>& pt): x((float)pt.x), y((float)pt.y), z((float)pt.z) {} +#endif +#ifdef __cplusplus + template + operator cv::Point3_<_Tp>() const { return cv::Point3_<_Tp>(cv::saturate_cast<_Tp>(x), cv::saturate_cast<_Tp>(y), cv::saturate_cast<_Tp>(z)); } +#endif +} +CvPoint3D32f; + +/** constructs CvPoint3D32f structure. */ +CV_INLINE CvPoint3D32f cvPoint3D32f( double x, double y, double z ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvPoint3D32f p = { (float)x, (float)y, (float)z }; +#else + CvPoint3D32f p((float)x, (float)y, (float)z); +#endif + return p; +} + +#ifdef __cplusplus +template +CvPoint3D32f cvPoint3D32f(const cv::Point3_<_Tp>& pt) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvPoint3D32f p = { (float)pt.x, (float)pt.y, (float)pt.z }; +#else + CvPoint3D32f p((float)pt.x, (float)pt.y, (float)pt.z); +#endif + return p; +} +#endif + + +typedef struct CvPoint2D64f +{ + double x; + double y; +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvPoint2D64f() __attribute__(( warning("Non-initialized variable") )) {} + template CvPoint2D64f(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 2); + x = y = 0; + if (list.size() == 2) + { + x = list.begin()[0]; y = list.begin()[1]; + } + }; +#endif +} +CvPoint2D64f; + +/** constructs CvPoint2D64f structure.*/ +CV_INLINE CvPoint2D64f cvPoint2D64f( double x, double y ) +{ + CvPoint2D64f p = { x, y }; + return p; +} + + +typedef struct CvPoint3D64f +{ + double x; + double y; + double z; +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvPoint3D64f() __attribute__(( warning("Non-initialized variable") )) {} + template CvPoint3D64f(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 3); + x = y = z = 0; + if (list.size() == 3) + { + x = list.begin()[0]; y = list.begin()[1]; z = list.begin()[2]; + } + }; +#endif +} +CvPoint3D64f; + +/** constructs CvPoint3D64f structure. */ +CV_INLINE CvPoint3D64f cvPoint3D64f( double x, double y, double z ) +{ + CvPoint3D64f p = { x, y, z }; + return p; +} + + +/******************************** CvSize's & CvBox **************************************/ + +typedef struct CvSize +{ + int width; + int height; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvSize() __attribute__(( warning("Non-initialized variable") )) {} + template CvSize(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 2); + width = 0; height = 0; + if (list.size() == 2) + { + width = list.begin()[0]; height = list.begin()[1]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvSize(int w = 0, int h = 0): width(w), height(h) {} + template + CvSize(const cv::Size_<_Tp>& sz): width(cv::saturate_cast(sz.width)), height(cv::saturate_cast(sz.height)) {} +#endif +#ifdef __cplusplus + template + operator cv::Size_<_Tp>() const { return cv::Size_<_Tp>(cv::saturate_cast<_Tp>(width), cv::saturate_cast<_Tp>(height)); } +#endif +} +CvSize; + +/** constructs CvSize structure. */ +CV_INLINE CvSize cvSize( int width, int height ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvSize s = { width, height }; +#else + CvSize s(width, height); +#endif + return s; +} + +#ifdef __cplusplus +CV_INLINE CvSize cvSize(const cv::Size& sz) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvSize s = { sz.width, sz.height }; +#else + CvSize s(sz.width, sz.height); +#endif + return s; +} +#endif + +typedef struct CvSize2D32f +{ + float width; + float height; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvSize2D32f() __attribute__(( warning("Non-initialized variable") )) {} + template CvSize2D32f(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 2); + width = 0; height = 0; + if (list.size() == 2) + { + width = list.begin()[0]; height = list.begin()[1]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvSize2D32f(float w = 0, float h = 0): width(w), height(h) {} + template + CvSize2D32f(const cv::Size_<_Tp>& sz): width(cv::saturate_cast(sz.width)), height(cv::saturate_cast(sz.height)) {} +#endif +#ifdef __cplusplus + template + operator cv::Size_<_Tp>() const { return cv::Size_<_Tp>(cv::saturate_cast<_Tp>(width), cv::saturate_cast<_Tp>(height)); } +#endif +} +CvSize2D32f; + +/** constructs CvSize2D32f structure. */ +CV_INLINE CvSize2D32f cvSize2D32f( double width, double height ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvSize2D32f s = { (float)width, (float)height }; +#else + CvSize2D32f s((float)width, (float)height); +#endif + return s; +} +#ifdef __cplusplus +template +CvSize2D32f cvSize2D32f(const cv::Size_<_Tp>& sz) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvSize2D32f s = { (float)sz.width, (float)sz.height }; +#else + CvSize2D32f s((float)sz.width, (float)sz.height); +#endif + return s; +} +#endif + +/** @sa RotatedRect + */ +typedef struct CvBox2D +{ + CvPoint2D32f center; /**< Center of the box. */ + CvSize2D32f size; /**< Box width and length. */ + float angle; /**< Angle between the horizontal axis */ + /**< and the first side (i.e. length) in degrees */ + +#if defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvBox2D(CvPoint2D32f c = CvPoint2D32f(), CvSize2D32f s = CvSize2D32f(), float a = 0) : center(c), size(s), angle(a) {} + CvBox2D(const cv::RotatedRect& rr) : center(rr.center), size(rr.size), angle(rr.angle) {} +#endif +#ifdef __cplusplus + operator cv::RotatedRect() const { return cv::RotatedRect(center, size, angle); } +#endif +} +CvBox2D; + + +#ifdef __cplusplus +CV_INLINE CvBox2D cvBox2D(CvPoint2D32f c = CvPoint2D32f(), CvSize2D32f s = CvSize2D32f(), float a = 0) +{ + CvBox2D self; + self.center = c; + self.size = s; + self.angle = a; + return self; +} +CV_INLINE CvBox2D cvBox2D(const cv::RotatedRect& rr) +{ + CvBox2D self; + self.center = cvPoint2D32f(rr.center); + self.size = cvSize2D32f(rr.size); + self.angle = rr.angle; + return self; +} +#endif + + +/** Line iterator state: */ +typedef struct CvLineIterator +{ + /** Pointer to the current point: */ + uchar* ptr; + + /* Bresenham algorithm state: */ + int err; + int plus_delta; + int minus_delta; + int plus_step; + int minus_step; +} +CvLineIterator; + + + +/************************************* CvSlice ******************************************/ +#define CV_WHOLE_SEQ_END_INDEX 0x3fffffff +#define CV_WHOLE_SEQ cvSlice(0, CV_WHOLE_SEQ_END_INDEX) + +typedef struct CvSlice +{ + int start_index, end_index; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvSlice() __attribute__(( warning("Non-initialized variable") )) {} + template CvSlice(const std::initializer_list<_Tp> list) + { + CV_Assert(list.size() == 0 || list.size() == 2); + start_index = end_index = 0; + if (list.size() == 2) + { + start_index = list.begin()[0]; end_index = list.begin()[1]; + } + }; +#endif +#if defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) && !defined(__CUDACC__) + CvSlice(int start = 0, int end = 0) : start_index(start), end_index(end) {} + CvSlice(const cv::Range& r) { *this = (r.start != INT_MIN && r.end != INT_MAX) ? CvSlice(r.start, r.end) : CvSlice(0, CV_WHOLE_SEQ_END_INDEX); } + operator cv::Range() const { return (start_index == 0 && end_index == CV_WHOLE_SEQ_END_INDEX ) ? cv::Range::all() : cv::Range(start_index, end_index); } +#endif +} +CvSlice; + +CV_INLINE CvSlice cvSlice( int start, int end ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) && !defined(__CUDACC__)) + CvSlice slice = { start, end }; +#else + CvSlice slice(start, end); +#endif + return slice; +} + +#if defined(__cplusplus) +CV_INLINE CvSlice cvSlice(const cv::Range& r) +{ + CvSlice slice = (r.start != INT_MIN && r.end != INT_MAX) ? cvSlice(r.start, r.end) : cvSlice(0, CV_WHOLE_SEQ_END_INDEX); + return slice; +} +#endif + + +/************************************* CvScalar *****************************************/ +/** @sa Scalar_ + */ +typedef struct CvScalar +{ + double val[4]; + +#ifdef CV__VALIDATE_UNUNITIALIZED_VARS + CvScalar() __attribute__(( warning("Non-initialized variable") )) {} + CvScalar(const std::initializer_list list) + { + CV_Assert(list.size() == 0 || list.size() == 4); + val[0] = val[1] = val[2] = val[3] = 0; + if (list.size() == 4) + { + val[0] = list.begin()[0]; val[1] = list.begin()[1]; val[2] = list.begin()[2]; val[3] = list.begin()[3]; + } + }; +#elif defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus) + CvScalar() {} + CvScalar(double d0, double d1 = 0, double d2 = 0, double d3 = 0) { val[0] = d0; val[1] = d1; val[2] = d2; val[3] = d3; } + template + CvScalar(const cv::Scalar_<_Tp>& s) { val[0] = s.val[0]; val[1] = s.val[1]; val[2] = s.val[2]; val[3] = s.val[3]; } + template + CvScalar(const cv::Vec<_Tp, cn>& v) + { + int i; + for( i = 0; i < (cn < 4 ? cn : 4); i++ ) val[i] = v.val[i]; + for( ; i < 4; i++ ) val[i] = 0; + } +#endif +#ifdef __cplusplus + template + operator cv::Scalar_<_Tp>() const { return cv::Scalar_<_Tp>(cv::saturate_cast<_Tp>(val[0]), cv::saturate_cast<_Tp>(val[1]), cv::saturate_cast<_Tp>(val[2]), cv::saturate_cast<_Tp>(val[3])); } +#endif +} +CvScalar; + +CV_INLINE CvScalar cvScalar( double val0, double val1 CV_DEFAULT(0), + double val2 CV_DEFAULT(0), double val3 CV_DEFAULT(0)) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvScalar scalar = CV_STRUCT_INITIALIZER; +#else + CvScalar scalar; +#endif + scalar.val[0] = val0; scalar.val[1] = val1; + scalar.val[2] = val2; scalar.val[3] = val3; + return scalar; +} + +#ifdef __cplusplus +CV_INLINE CvScalar cvScalar() +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvScalar scalar = CV_STRUCT_INITIALIZER; +#else + CvScalar scalar; +#endif + scalar.val[0] = scalar.val[1] = scalar.val[2] = scalar.val[3] = 0; + return scalar; +} +CV_INLINE CvScalar cvScalar(const cv::Scalar& s) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvScalar scalar = CV_STRUCT_INITIALIZER; +#else + CvScalar scalar; +#endif + scalar.val[0] = s.val[0]; + scalar.val[1] = s.val[1]; + scalar.val[2] = s.val[2]; + scalar.val[3] = s.val[3]; + return scalar; +} +#endif + +CV_INLINE CvScalar cvRealScalar( double val0 ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvScalar scalar = CV_STRUCT_INITIALIZER; +#else + CvScalar scalar; +#endif + scalar.val[0] = val0; + scalar.val[1] = scalar.val[2] = scalar.val[3] = 0; + return scalar; +} + +CV_INLINE CvScalar cvScalarAll( double val0123 ) +{ +#if !(defined(CV__ENABLE_C_API_CTORS) && defined(__cplusplus)) + CvScalar scalar = CV_STRUCT_INITIALIZER; +#else + CvScalar scalar; +#endif + scalar.val[0] = val0123; + scalar.val[1] = val0123; + scalar.val[2] = val0123; + scalar.val[3] = val0123; + return scalar; +} + +/****************************************************************************************\ +* Dynamic Data structures * +\****************************************************************************************/ + +/******************************** Memory storage ****************************************/ + +typedef struct CvMemBlock +{ + struct CvMemBlock* prev; + struct CvMemBlock* next; +} +CvMemBlock; + +#define CV_STORAGE_MAGIC_VAL 0x42890000 + +typedef struct CvMemStorage +{ + int signature; + CvMemBlock* bottom; /**< First allocated block. */ + CvMemBlock* top; /**< Current memory block - top of the stack. */ + struct CvMemStorage* parent; /**< We get new blocks from parent as needed. */ + int block_size; /**< Block size. */ + int free_space; /**< Remaining free space in current block. */ +} +CvMemStorage; + +#define CV_IS_STORAGE(storage) \ + ((storage) != NULL && \ + (((CvMemStorage*)(storage))->signature & CV_MAGIC_MASK) == CV_STORAGE_MAGIC_VAL) + + +typedef struct CvMemStoragePos +{ + CvMemBlock* top; + int free_space; +} +CvMemStoragePos; + + +/*********************************** Sequence *******************************************/ + +typedef struct CvSeqBlock +{ + struct CvSeqBlock* prev; /**< Previous sequence block. */ + struct CvSeqBlock* next; /**< Next sequence block. */ + int start_index; /**< Index of the first element in the block + */ + /**< sequence->first->start_index. */ + int count; /**< Number of elements in the block. */ + schar* data; /**< Pointer to the first element of the block. */ +} +CvSeqBlock; + + +#define CV_TREE_NODE_FIELDS(node_type) \ + int flags; /**< Miscellaneous flags. */ \ + int header_size; /**< Size of sequence header. */ \ + struct node_type* h_prev; /**< Previous sequence. */ \ + struct node_type* h_next; /**< Next sequence. */ \ + struct node_type* v_prev; /**< 2nd previous sequence. */ \ + struct node_type* v_next /**< 2nd next sequence. */ + +/** + Read/Write sequence. + Elements can be dynamically inserted to or deleted from the sequence. +*/ +#define CV_SEQUENCE_FIELDS() \ + CV_TREE_NODE_FIELDS(CvSeq); \ + int total; /**< Total number of elements. */ \ + int elem_size; /**< Size of sequence element in bytes. */ \ + schar* block_max; /**< Maximal bound of the last block. */ \ + schar* ptr; /**< Current write pointer. */ \ + int delta_elems; /**< Grow seq this many at a time. */ \ + CvMemStorage* storage; /**< Where the seq is stored. */ \ + CvSeqBlock* free_blocks; /**< Free blocks list. */ \ + CvSeqBlock* first; /**< Pointer to the first sequence block. */ + +typedef struct CvSeq +{ + CV_SEQUENCE_FIELDS() +} +CvSeq; + +#define CV_TYPE_NAME_SEQ "opencv-sequence" +#define CV_TYPE_NAME_SEQ_TREE "opencv-sequence-tree" + +/*************************************** Set ********************************************/ +/** @brief Set + Order is not preserved. There can be gaps between sequence elements. + After the element has been inserted it stays in the same place all the time. + The MSB(most-significant or sign bit) of the first field (flags) is 0 iff the element exists. +*/ +#define CV_SET_ELEM_FIELDS(elem_type) \ + int flags; \ + struct elem_type* next_free; + +typedef struct CvSetElem +{ + CV_SET_ELEM_FIELDS(CvSetElem) +} +CvSetElem; + +#define CV_SET_FIELDS() \ + CV_SEQUENCE_FIELDS() \ + CvSetElem* free_elems; \ + int active_count; + +typedef struct CvSet +{ + CV_SET_FIELDS() +} +CvSet; + + +#define CV_SET_ELEM_IDX_MASK ((1 << 26) - 1) +#define CV_SET_ELEM_FREE_FLAG (1 << (sizeof(int)*8-1)) + +/** Checks whether the element pointed by ptr belongs to a set or not */ +#define CV_IS_SET_ELEM( ptr ) (((CvSetElem*)(ptr))->flags >= 0) + +/************************************* Graph ********************************************/ + +/** @name Graph + +We represent a graph as a set of vertices. Vertices contain their adjacency lists (more exactly, +pointers to first incoming or outcoming edge (or 0 if isolated vertex)). Edges are stored in +another set. There is a singly-linked list of incoming/outcoming edges for each vertex. + +Each edge consists of: + +- Two pointers to the starting and ending vertices (vtx[0] and vtx[1] respectively). + + A graph may be oriented or not. In the latter case, edges between vertex i to vertex j are not +distinguished during search operations. + +- Two pointers to next edges for the starting and ending vertices, where next[0] points to the +next edge in the vtx[0] adjacency list and next[1] points to the next edge in the vtx[1] +adjacency list. + +@see CvGraphEdge, CvGraphVtx, CvGraphVtx2D, CvGraph +@{ +*/ +#define CV_GRAPH_EDGE_FIELDS() \ + int flags; \ + float weight; \ + struct CvGraphEdge* next[2]; \ + struct CvGraphVtx* vtx[2]; + + +#define CV_GRAPH_VERTEX_FIELDS() \ + int flags; \ + struct CvGraphEdge* first; + + +typedef struct CvGraphEdge +{ + CV_GRAPH_EDGE_FIELDS() +} +CvGraphEdge; + +typedef struct CvGraphVtx +{ + CV_GRAPH_VERTEX_FIELDS() +} +CvGraphVtx; + +typedef struct CvGraphVtx2D +{ + CV_GRAPH_VERTEX_FIELDS() + CvPoint2D32f* ptr; +} +CvGraphVtx2D; + +/** + Graph is "derived" from the set (this is set a of vertices) + and includes another set (edges) +*/ +#define CV_GRAPH_FIELDS() \ + CV_SET_FIELDS() \ + CvSet* edges; + +typedef struct CvGraph +{ + CV_GRAPH_FIELDS() +} +CvGraph; + +#define CV_TYPE_NAME_GRAPH "opencv-graph" + +/** @} */ + +/*********************************** Chain/Contour *************************************/ + +typedef struct CvChain +{ + CV_SEQUENCE_FIELDS() + CvPoint origin; +} +CvChain; + +#define CV_CONTOUR_FIELDS() \ + CV_SEQUENCE_FIELDS() \ + CvRect rect; \ + int color; \ + int reserved[3]; + +typedef struct CvContour +{ + CV_CONTOUR_FIELDS() +} +CvContour; + +typedef CvContour CvPoint2DSeq; + +/****************************************************************************************\ +* Sequence types * +\****************************************************************************************/ + +#define CV_SEQ_MAGIC_VAL 0x42990000 + +#define CV_IS_SEQ(seq) \ + ((seq) != NULL && (((CvSeq*)(seq))->flags & CV_MAGIC_MASK) == CV_SEQ_MAGIC_VAL) + +#define CV_SET_MAGIC_VAL 0x42980000 +#define CV_IS_SET(set) \ + ((set) != NULL && (((CvSeq*)(set))->flags & CV_MAGIC_MASK) == CV_SET_MAGIC_VAL) + +#define CV_SEQ_ELTYPE_BITS 12 +#define CV_SEQ_ELTYPE_MASK ((1 << CV_SEQ_ELTYPE_BITS) - 1) + +#define CV_SEQ_ELTYPE_POINT CV_32SC2 /**< (x,y) */ +#define CV_SEQ_ELTYPE_CODE CV_8UC1 /**< freeman code: 0..7 */ +#define CV_SEQ_ELTYPE_GENERIC 0 +#define CV_SEQ_ELTYPE_PTR CV_MAKE_TYPE(CV_8U, 8 /*sizeof(void*)*/) +#define CV_SEQ_ELTYPE_PPOINT CV_SEQ_ELTYPE_PTR /**< &(x,y) */ +#define CV_SEQ_ELTYPE_INDEX CV_32SC1 /**< #(x,y) */ +#define CV_SEQ_ELTYPE_GRAPH_EDGE 0 /**< &next_o, &next_d, &vtx_o, &vtx_d */ +#define CV_SEQ_ELTYPE_GRAPH_VERTEX 0 /**< first_edge, &(x,y) */ +#define CV_SEQ_ELTYPE_TRIAN_ATR 0 /**< vertex of the binary tree */ +#define CV_SEQ_ELTYPE_CONNECTED_COMP 0 /**< connected component */ +#define CV_SEQ_ELTYPE_POINT3D CV_32FC3 /**< (x,y,z) */ + +#define CV_SEQ_KIND_BITS 2 +#define CV_SEQ_KIND_MASK (((1 << CV_SEQ_KIND_BITS) - 1)<flags & CV_SEQ_ELTYPE_MASK) +#define CV_SEQ_KIND( seq ) ((seq)->flags & CV_SEQ_KIND_MASK ) + +/** flag checking */ +#define CV_IS_SEQ_INDEX( seq ) ((CV_SEQ_ELTYPE(seq) == CV_SEQ_ELTYPE_INDEX) && \ + (CV_SEQ_KIND(seq) == CV_SEQ_KIND_GENERIC)) + +#define CV_IS_SEQ_CURVE( seq ) (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE) +#define CV_IS_SEQ_CLOSED( seq ) (((seq)->flags & CV_SEQ_FLAG_CLOSED) != 0) +#define CV_IS_SEQ_CONVEX( seq ) 0 +#define CV_IS_SEQ_HOLE( seq ) (((seq)->flags & CV_SEQ_FLAG_HOLE) != 0) +#define CV_IS_SEQ_SIMPLE( seq ) 1 + +/** type checking macros */ +#define CV_IS_SEQ_POINT_SET( seq ) \ + ((CV_SEQ_ELTYPE(seq) == CV_32SC2 || CV_SEQ_ELTYPE(seq) == CV_32FC2)) + +#define CV_IS_SEQ_POINT_SUBSET( seq ) \ + (CV_IS_SEQ_INDEX( seq ) || CV_SEQ_ELTYPE(seq) == CV_SEQ_ELTYPE_PPOINT) + +#define CV_IS_SEQ_POLYLINE( seq ) \ + (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && CV_IS_SEQ_POINT_SET(seq)) + +#define CV_IS_SEQ_POLYGON( seq ) \ + (CV_IS_SEQ_POLYLINE(seq) && CV_IS_SEQ_CLOSED(seq)) + +#define CV_IS_SEQ_CHAIN( seq ) \ + (CV_SEQ_KIND(seq) == CV_SEQ_KIND_CURVE && (seq)->elem_size == 1) + +#define CV_IS_SEQ_CONTOUR( seq ) \ + (CV_IS_SEQ_CLOSED(seq) && (CV_IS_SEQ_POLYLINE(seq) || CV_IS_SEQ_CHAIN(seq))) + +#define CV_IS_SEQ_CHAIN_CONTOUR( seq ) \ + (CV_IS_SEQ_CHAIN( seq ) && CV_IS_SEQ_CLOSED( seq )) + +#define CV_IS_SEQ_POLYGON_TREE( seq ) \ + (CV_SEQ_ELTYPE (seq) == CV_SEQ_ELTYPE_TRIAN_ATR && \ + CV_SEQ_KIND( seq ) == CV_SEQ_KIND_BIN_TREE ) + +#define CV_IS_GRAPH( seq ) \ + (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_GRAPH) + +#define CV_IS_GRAPH_ORIENTED( seq ) \ + (((seq)->flags & CV_GRAPH_FLAG_ORIENTED) != 0) + +#define CV_IS_SUBDIV2D( seq ) \ + (CV_IS_SET(seq) && CV_SEQ_KIND((CvSet*)(seq)) == CV_SEQ_KIND_SUBDIV2D) + +/****************************************************************************************/ +/* Sequence writer & reader */ +/****************************************************************************************/ + +#define CV_SEQ_WRITER_FIELDS() \ + int header_size; \ + CvSeq* seq; /**< the sequence written */ \ + CvSeqBlock* block; /**< current block */ \ + schar* ptr; /**< pointer to free space */ \ + schar* block_min; /**< pointer to the beginning of block*/\ + schar* block_max; /**< pointer to the end of block */ + +typedef struct CvSeqWriter +{ + CV_SEQ_WRITER_FIELDS() +} +CvSeqWriter; + + +#define CV_SEQ_READER_FIELDS() \ + int header_size; \ + CvSeq* seq; /**< sequence, beign read */ \ + CvSeqBlock* block; /**< current block */ \ + schar* ptr; /**< pointer to element be read next */ \ + schar* block_min; /**< pointer to the beginning of block */\ + schar* block_max; /**< pointer to the end of block */ \ + int delta_index;/**< = seq->first->start_index */ \ + schar* prev_elem; /**< pointer to previous element */ + +typedef struct CvSeqReader +{ + CV_SEQ_READER_FIELDS() +} +CvSeqReader; + +/****************************************************************************************/ +/* Operations on sequences */ +/****************************************************************************************/ + +#define CV_SEQ_ELEM( seq, elem_type, index ) \ +/** assert gives some guarantee that parameter is valid */ \ +( assert(sizeof((seq)->first[0]) == sizeof(CvSeqBlock) && \ + (seq)->elem_size == sizeof(elem_type)), \ + (elem_type*)((seq)->first && (unsigned)index < \ + (unsigned)((seq)->first->count) ? \ + (seq)->first->data + (index) * sizeof(elem_type) : \ + cvGetSeqElem( (CvSeq*)(seq), (index) ))) +#define CV_GET_SEQ_ELEM( elem_type, seq, index ) CV_SEQ_ELEM( (seq), elem_type, (index) ) + +/** Add element to sequence: */ +#define CV_WRITE_SEQ_ELEM_VAR( elem_ptr, writer ) \ +{ \ + if( (writer).ptr >= (writer).block_max ) \ + { \ + cvCreateSeqBlock( &writer); \ + } \ + memcpy((writer).ptr, elem_ptr, (writer).seq->elem_size);\ + (writer).ptr += (writer).seq->elem_size; \ +} + +#define CV_WRITE_SEQ_ELEM( elem, writer ) \ +{ \ + assert( (writer).seq->elem_size == sizeof(elem)); \ + if( (writer).ptr >= (writer).block_max ) \ + { \ + cvCreateSeqBlock( &writer); \ + } \ + assert( (writer).ptr <= (writer).block_max - sizeof(elem));\ + memcpy((writer).ptr, &(elem), sizeof(elem)); \ + (writer).ptr += sizeof(elem); \ +} + + +/** Move reader position forward: */ +#define CV_NEXT_SEQ_ELEM( elem_size, reader ) \ +{ \ + if( ((reader).ptr += (elem_size)) >= (reader).block_max ) \ + { \ + cvChangeSeqBlock( &(reader), 1 ); \ + } \ +} + + +/** Move reader position backward: */ +#define CV_PREV_SEQ_ELEM( elem_size, reader ) \ +{ \ + if( ((reader).ptr -= (elem_size)) < (reader).block_min ) \ + { \ + cvChangeSeqBlock( &(reader), -1 ); \ + } \ +} + +/** Read element and move read position forward: */ +#define CV_READ_SEQ_ELEM( elem, reader ) \ +{ \ + assert( (reader).seq->elem_size == sizeof(elem)); \ + memcpy( &(elem), (reader).ptr, sizeof((elem))); \ + CV_NEXT_SEQ_ELEM( sizeof(elem), reader ) \ +} + +/** Read element and move read position backward: */ +#define CV_REV_READ_SEQ_ELEM( elem, reader ) \ +{ \ + assert( (reader).seq->elem_size == sizeof(elem)); \ + memcpy(&(elem), (reader).ptr, sizeof((elem))); \ + CV_PREV_SEQ_ELEM( sizeof(elem), reader ) \ +} + + +#define CV_READ_CHAIN_POINT( _pt, reader ) \ +{ \ + (_pt) = (reader).pt; \ + if( (reader).ptr ) \ + { \ + CV_READ_SEQ_ELEM( (reader).code, (reader)); \ + assert( ((reader).code & ~7) == 0 ); \ + (reader).pt.x += (reader).deltas[(int)(reader).code][0]; \ + (reader).pt.y += (reader).deltas[(int)(reader).code][1]; \ + } \ +} + +#define CV_CURRENT_POINT( reader ) (*((CvPoint*)((reader).ptr))) +#define CV_PREV_POINT( reader ) (*((CvPoint*)((reader).prev_elem))) + +#define CV_READ_EDGE( pt1, pt2, reader ) \ +{ \ + assert( sizeof(pt1) == sizeof(CvPoint) && \ + sizeof(pt2) == sizeof(CvPoint) && \ + reader.seq->elem_size == sizeof(CvPoint)); \ + (pt1) = CV_PREV_POINT( reader ); \ + (pt2) = CV_CURRENT_POINT( reader ); \ + (reader).prev_elem = (reader).ptr; \ + CV_NEXT_SEQ_ELEM( sizeof(CvPoint), (reader)); \ +} + +/************ Graph macros ************/ + +/** Return next graph edge for given vertex: */ +#define CV_NEXT_GRAPH_EDGE( edge, vertex ) \ + (assert((edge)->vtx[0] == (vertex) || (edge)->vtx[1] == (vertex)), \ + (edge)->next[(edge)->vtx[1] == (vertex)]) + + + +/****************************************************************************************\ +* Data structures for persistence (a.k.a serialization) functionality * +\****************************************************************************************/ + +#if 0 + +/** "black box" file storage */ +typedef struct CvFileStorage CvFileStorage; + +/** Storage flags: */ +#define CV_STORAGE_READ 0 +#define CV_STORAGE_WRITE 1 +#define CV_STORAGE_WRITE_TEXT CV_STORAGE_WRITE +#define CV_STORAGE_WRITE_BINARY CV_STORAGE_WRITE +#define CV_STORAGE_APPEND 2 +#define CV_STORAGE_MEMORY 4 +#define CV_STORAGE_FORMAT_MASK (7<<3) +#define CV_STORAGE_FORMAT_AUTO 0 +#define CV_STORAGE_FORMAT_XML 8 +#define CV_STORAGE_FORMAT_YAML 16 +#define CV_STORAGE_FORMAT_JSON 24 +#define CV_STORAGE_BASE64 64 +#define CV_STORAGE_WRITE_BASE64 (CV_STORAGE_BASE64 | CV_STORAGE_WRITE) + +/** @brief List of attributes. : + +In the current implementation, attributes are used to pass extra parameters when writing user +objects (see cvWrite). XML attributes inside tags are not supported, aside from the object type +specification (type_id attribute). +@see cvAttrList, cvAttrValue + */ +typedef struct CvAttrList +{ + const char** attr; /**< NULL-terminated array of (attribute_name,attribute_value) pairs. */ + struct CvAttrList* next; /**< Pointer to next chunk of the attributes list. */ +} +CvAttrList; + +/** initializes CvAttrList structure */ +CV_INLINE CvAttrList cvAttrList( const char** attr CV_DEFAULT(NULL), + CvAttrList* next CV_DEFAULT(NULL) ) +{ + CvAttrList l; + l.attr = attr; + l.next = next; + + return l; +} + +struct CvTypeInfo; + +#define CV_NODE_NONE 0 +#define CV_NODE_INT 1 +#define CV_NODE_INTEGER CV_NODE_INT +#define CV_NODE_REAL 2 +#define CV_NODE_FLOAT CV_NODE_REAL +#define CV_NODE_STR 3 +#define CV_NODE_STRING CV_NODE_STR +#define CV_NODE_REF 4 /**< not used */ +#define CV_NODE_SEQ 5 +#define CV_NODE_MAP 6 +#define CV_NODE_TYPE_MASK 7 + +#define CV_NODE_TYPE(flags) ((flags) & CV_NODE_TYPE_MASK) + +/** file node flags */ +#define CV_NODE_FLOW 8 /**= CV_NODE_SEQ) +#define CV_NODE_IS_FLOW(flags) (((flags) & CV_NODE_FLOW) != 0) +#define CV_NODE_IS_EMPTY(flags) (((flags) & CV_NODE_EMPTY) != 0) +#define CV_NODE_IS_USER(flags) (((flags) & CV_NODE_USER) != 0) +#define CV_NODE_HAS_NAME(flags) (((flags) & CV_NODE_NAMED) != 0) + +#define CV_NODE_SEQ_SIMPLE 256 +#define CV_NODE_SEQ_IS_SIMPLE(seq) (((seq)->flags & CV_NODE_SEQ_SIMPLE) != 0) + +typedef struct CvString +{ + int len; + char* ptr; +} +CvString; + +/** All the keys (names) of elements in the read file storage + are stored in the hash to speed up the lookup operations: */ +typedef struct CvStringHashNode +{ + unsigned hashval; + CvString str; + struct CvStringHashNode* next; +} +CvStringHashNode; + +typedef struct CvGenericHash CvFileNodeHash; + +/** Basic element of the file storage - scalar or collection: */ +typedef struct CvFileNode +{ + int tag; + struct CvTypeInfo* info; /**< type information + (only for user-defined object, for others it is 0) */ + union + { + double f; /**< scalar floating-point number */ + int i; /**< scalar integer number */ + CvString str; /**< text string */ + CvSeq* seq; /**< sequence (ordered collection of file nodes) */ + CvFileNodeHash* map; /**< map (collection of named file nodes) */ + } data; +} +CvFileNode; + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (CV_CDECL *CvIsInstanceFunc)( const void* struct_ptr ); +typedef void (CV_CDECL *CvReleaseFunc)( void** struct_dblptr ); +typedef void* (CV_CDECL *CvReadFunc)( CvFileStorage* storage, CvFileNode* node ); +typedef void (CV_CDECL *CvWriteFunc)( CvFileStorage* storage, const char* name, + const void* struct_ptr, CvAttrList attributes ); +typedef void* (CV_CDECL *CvCloneFunc)( const void* struct_ptr ); +#ifdef __cplusplus +} +#endif + +/** @brief Type information + +The structure contains information about one of the standard or user-defined types. Instances of the +type may or may not contain a pointer to the corresponding CvTypeInfo structure. In any case, there +is a way to find the type info structure for a given object using the cvTypeOf function. +Alternatively, type info can be found by type name using cvFindType, which is used when an object +is read from file storage. The user can register a new type with cvRegisterType that adds the type +information structure into the beginning of the type list. Thus, it is possible to create +specialized types from generic standard types and override the basic methods. + */ +typedef struct CvTypeInfo +{ + int flags; /**< not used */ + int header_size; /**< sizeof(CvTypeInfo) */ + struct CvTypeInfo* prev; /**< previous registered type in the list */ + struct CvTypeInfo* next; /**< next registered type in the list */ + const char* type_name; /**< type name, written to file storage */ + CvIsInstanceFunc is_instance; /**< checks if the passed object belongs to the type */ + CvReleaseFunc release; /**< releases object (memory etc.) */ + CvReadFunc read; /**< reads object from file storage */ + CvWriteFunc write; /**< writes object to file storage */ + CvCloneFunc clone; /**< creates a copy of the object */ +} +CvTypeInfo; +#endif + +/** @} */ + +#endif /*OPENCV_CORE_TYPES_H*/ + +/* End of file. */ diff --git a/camera_lib/include/opencv2/core/utility.hpp b/camera_lib/include/opencv2/core/utility.hpp new file mode 100644 index 0000000..db8c429 --- /dev/null +++ b/camera_lib/include/opencv2/core/utility.hpp @@ -0,0 +1,1229 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Copyright (C) 2015, Itseez Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_CORE_UTILITY_H +#define OPENCV_CORE_UTILITY_H + +#ifndef __cplusplus +# error utility.hpp header must be compiled as C++ +#endif + +#if defined(check) +# warning Detected Apple 'check' macro definition, it can cause build conflicts. Please, include this header before any Apple headers. +#endif + +#include "opencv2/core.hpp" +#include + +#include + +#if !defined(_M_CEE) +#include // std::mutex, std::lock_guard +#endif + +namespace cv +{ + +//! @addtogroup core_utils +//! @{ + +/** @brief Automatically Allocated Buffer Class + + The class is used for temporary buffers in functions and methods. + If a temporary buffer is usually small (a few K's of memory), + but its size depends on the parameters, it makes sense to create a small + fixed-size array on stack and use it if it's large enough. If the required buffer size + is larger than the fixed size, another buffer of sufficient size is allocated dynamically + and released after the processing. Therefore, in typical cases, when the buffer size is small, + there is no overhead associated with malloc()/free(). + At the same time, there is no limit on the size of processed data. + + This is what AutoBuffer does. The template takes 2 parameters - type of the buffer elements and + the number of stack-allocated elements. Here is how the class is used: + + \code + void my_func(const cv::Mat& m) + { + cv::AutoBuffer buf(1000); // create automatic buffer containing 1000 floats + + buf.allocate(m.rows); // if m.rows <= 1000, the pre-allocated buffer is used, + // otherwise the buffer of "m.rows" floats will be allocated + // dynamically and deallocated in cv::AutoBuffer destructor + ... + } + \endcode +*/ +#ifdef OPENCV_ENABLE_MEMORY_SANITIZER +template class AutoBuffer +#else +template class AutoBuffer +#endif +{ +public: + typedef _Tp value_type; + + //! the default constructor + AutoBuffer(); + //! constructor taking the real buffer size + explicit AutoBuffer(size_t _size); + + //! the copy constructor + AutoBuffer(const AutoBuffer<_Tp, fixed_size>& buf); + //! the assignment operator + AutoBuffer<_Tp, fixed_size>& operator = (const AutoBuffer<_Tp, fixed_size>& buf); + + //! destructor. calls deallocate() + ~AutoBuffer(); + + //! allocates the new buffer of size _size. if the _size is small enough, stack-allocated buffer is used + void allocate(size_t _size); + //! deallocates the buffer if it was dynamically allocated + void deallocate(); + //! resizes the buffer and preserves the content + void resize(size_t _size); + //! returns the current buffer size + size_t size() const; + //! returns pointer to the real buffer, stack-allocated or heap-allocated + inline _Tp* data() { return ptr; } + //! returns read-only pointer to the real buffer, stack-allocated or heap-allocated + inline const _Tp* data() const { return ptr; } + +#if !defined(OPENCV_DISABLE_DEPRECATED_COMPATIBILITY) // use to .data() calls instead + //! returns pointer to the real buffer, stack-allocated or heap-allocated + operator _Tp* () { return ptr; } + //! returns read-only pointer to the real buffer, stack-allocated or heap-allocated + operator const _Tp* () const { return ptr; } +#else + //! returns a reference to the element at specified location. No bounds checking is performed in Release builds. + inline _Tp& operator[] (size_t i) { CV_DbgCheckLT(i, sz, "out of range"); return ptr[i]; } + //! returns a reference to the element at specified location. No bounds checking is performed in Release builds. + inline const _Tp& operator[] (size_t i) const { CV_DbgCheckLT(i, sz, "out of range"); return ptr[i]; } +#endif + +protected: + //! pointer to the real buffer, can point to buf if the buffer is small enough + _Tp* ptr; + //! size of the real buffer + size_t sz; + //! pre-allocated buffer. At least 1 element to confirm C++ standard requirements + _Tp buf[(fixed_size > 0) ? fixed_size : 1]; +}; + +/** @brief Sets/resets the break-on-error mode. + +When the break-on-error mode is set, the default error handler issues a hardware exception, which +can make debugging more convenient. + +\return the previous state + */ +CV_EXPORTS bool setBreakOnError(bool flag); + +extern "C" typedef int (*ErrorCallback)( int status, const char* func_name, + const char* err_msg, const char* file_name, + int line, void* userdata ); + + +/** @brief Sets the new error handler and the optional user data. + + The function sets the new error handler, called from cv::error(). + + \param errCallback the new error handler. If NULL, the default error handler is used. + \param userdata the optional user data pointer, passed to the callback. + \param prevUserdata the optional output parameter where the previous user data pointer is stored + + \return the previous error handler +*/ +CV_EXPORTS ErrorCallback redirectError( ErrorCallback errCallback, void* userdata=0, void** prevUserdata=0); + +CV_EXPORTS String tempfile( const char* suffix = 0); +CV_EXPORTS void glob(String pattern, std::vector& result, bool recursive = false); + +/** @brief OpenCV will try to set the number of threads for subsequent parallel regions. + +If threads == 1, OpenCV will disable threading optimizations and run all it's functions +sequentially. Passing threads \< 0 will reset threads number to system default. +The function is not thread-safe. It must not be called in parallel region or concurrent threads. + +OpenCV will try to run its functions with specified threads number, but some behaviour differs from +framework: +- `TBB` - User-defined parallel constructions will run with the same threads number, if + another is not specified. If later on user creates his own scheduler, OpenCV will use it. +- `OpenMP` - No special defined behaviour. +- `Concurrency` - If threads == 1, OpenCV will disable threading optimizations and run its + functions sequentially. +- `GCD` - Supports only values \<= 0. +- `C=` - No special defined behaviour. +@param nthreads Number of threads used by OpenCV. +@sa getNumThreads, getThreadNum + */ +CV_EXPORTS_W void setNumThreads(int nthreads); + +/** @brief Returns the number of threads used by OpenCV for parallel regions. + +Always returns 1 if OpenCV is built without threading support. + +The exact meaning of return value depends on the threading framework used by OpenCV library: +- `TBB` - The number of threads, that OpenCV will try to use for parallel regions. If there is + any tbb::thread_scheduler_init in user code conflicting with OpenCV, then function returns + default number of threads used by TBB library. +- `OpenMP` - An upper bound on the number of threads that could be used to form a new team. +- `Concurrency` - The number of threads, that OpenCV will try to use for parallel regions. +- `GCD` - Unsupported; returns the GCD thread pool limit (512) for compatibility. +- `C=` - The number of threads, that OpenCV will try to use for parallel regions, if before + called setNumThreads with threads \> 0, otherwise returns the number of logical CPUs, + available for the process. +@sa setNumThreads, getThreadNum + */ +CV_EXPORTS_W int getNumThreads(); + +/** @brief Returns the index of the currently executed thread within the current parallel region. Always +returns 0 if called outside of parallel region. + +@deprecated Current implementation doesn't corresponding to this documentation. + +The exact meaning of the return value depends on the threading framework used by OpenCV library: +- `TBB` - Unsupported with current 4.1 TBB release. Maybe will be supported in future. +- `OpenMP` - The thread number, within the current team, of the calling thread. +- `Concurrency` - An ID for the virtual processor that the current context is executing on (0 + for master thread and unique number for others, but not necessary 1,2,3,...). +- `GCD` - System calling thread's ID. Never returns 0 inside parallel region. +- `C=` - The index of the current parallel task. +@sa setNumThreads, getNumThreads + */ +CV_EXPORTS_W int getThreadNum(); + +/** @brief Returns full configuration time cmake output. + +Returned value is raw cmake output including version control system revision, compiler version, +compiler flags, enabled modules and third party libraries, etc. Output format depends on target +architecture. + */ +CV_EXPORTS_W const String& getBuildInformation(); + +/** @brief Returns library version string + +For example "3.4.1-dev". + +@sa getMajorVersion, getMinorVersion, getRevisionVersion +*/ +CV_EXPORTS_W String getVersionString(); + +/** @brief Returns major library version */ +CV_EXPORTS_W int getVersionMajor(); + +/** @brief Returns minor library version */ +CV_EXPORTS_W int getVersionMinor(); + +/** @brief Returns revision field of the library version */ +CV_EXPORTS_W int getVersionRevision(); + +/** @brief Returns the number of ticks. + +The function returns the number of ticks after the certain event (for example, when the machine was +turned on). It can be used to initialize RNG or to measure a function execution time by reading the +tick count before and after the function call. +@sa getTickFrequency, TickMeter + */ +CV_EXPORTS_W int64 getTickCount(); + +/** @brief Returns the number of ticks per second. + +The function returns the number of ticks per second. That is, the following code computes the +execution time in seconds: +@code + double t = (double)getTickCount(); + // do something ... + t = ((double)getTickCount() - t)/getTickFrequency(); +@endcode +@sa getTickCount, TickMeter + */ +CV_EXPORTS_W double getTickFrequency(); + +/** @brief a Class to measure passing time. + +The class computes passing time by counting the number of ticks per second. That is, the following code computes the +execution time in seconds: +@snippet snippets/core_various.cpp TickMeter_total + +It is also possible to compute the average time over multiple runs: +@snippet snippets/core_various.cpp TickMeter_average + +@sa getTickCount, getTickFrequency +*/ +class CV_EXPORTS_W TickMeter +{ +public: + //! the default constructor + CV_WRAP TickMeter() + { + reset(); + } + + //! starts counting ticks. + CV_WRAP void start() + { + startTime = cv::getTickCount(); + } + + //! stops counting ticks. + CV_WRAP void stop() + { + int64 time = cv::getTickCount(); + if (startTime == 0) + return; + ++counter; + sumTime += (time - startTime); + startTime = 0; + } + + //! returns counted ticks. + CV_WRAP int64 getTimeTicks() const + { + return sumTime; + } + + //! returns passed time in microseconds. + CV_WRAP double getTimeMicro() const + { + return getTimeMilli()*1e3; + } + + //! returns passed time in milliseconds. + CV_WRAP double getTimeMilli() const + { + return getTimeSec()*1e3; + } + + //! returns passed time in seconds. + CV_WRAP double getTimeSec() const + { + return (double)getTimeTicks() / getTickFrequency(); + } + + //! returns internal counter value. + CV_WRAP int64 getCounter() const + { + return counter; + } + + //! returns average FPS (frames per second) value. + CV_WRAP double getFPS() const + { + const double sec = getTimeSec(); + if (sec < DBL_EPSILON) + return 0.; + return counter / sec; + } + + //! returns average time in seconds + CV_WRAP double getAvgTimeSec() const + { + if (counter <= 0) + return 0.; + return getTimeSec() / counter; + } + + //! returns average time in milliseconds + CV_WRAP double getAvgTimeMilli() const + { + return getAvgTimeSec() * 1e3; + } + + //! resets internal values. + CV_WRAP void reset() + { + startTime = 0; + sumTime = 0; + counter = 0; + } + +private: + int64 counter; + int64 sumTime; + int64 startTime; +}; + +/** @brief output operator +@code +TickMeter tm; +tm.start(); +// do something ... +tm.stop(); +std::cout << tm; +@endcode +*/ + +static inline +std::ostream& operator << (std::ostream& out, const TickMeter& tm) +{ + return out << tm.getTimeSec() << "sec"; +} + +/** @brief Returns the number of CPU ticks. + +The function returns the current number of CPU ticks on some architectures (such as x86, x64, +PowerPC). On other platforms the function is equivalent to getTickCount. It can also be used for +very accurate time measurements, as well as for RNG initialization. Note that in case of multi-CPU +systems a thread, from which getCPUTickCount is called, can be suspended and resumed at another CPU +with its own counter. So, theoretically (and practically) the subsequent calls to the function do +not necessary return the monotonously increasing values. Also, since a modern CPU varies the CPU +frequency depending on the load, the number of CPU clocks spent in some code cannot be directly +converted to time units. Therefore, getTickCount is generally a preferable solution for measuring +execution time. + */ +CV_EXPORTS_W int64 getCPUTickCount(); + +/** @brief Returns true if the specified feature is supported by the host hardware. + +The function returns true if the host hardware supports the specified feature. When user calls +setUseOptimized(false), the subsequent calls to checkHardwareSupport() will return false until +setUseOptimized(true) is called. This way user can dynamically switch on and off the optimized code +in OpenCV. +@param feature The feature of interest, one of cv::CpuFeatures + */ +CV_EXPORTS_W bool checkHardwareSupport(int feature); + +/** @brief Returns feature name by ID + +Returns empty string if feature is not defined +*/ +CV_EXPORTS_W String getHardwareFeatureName(int feature); + +/** @brief Returns list of CPU features enabled during compilation. + +Returned value is a string containing space separated list of CPU features with following markers: + +- no markers - baseline features +- prefix `*` - features enabled in dispatcher +- suffix `?` - features enabled but not available in HW + +Example: `SSE SSE2 SSE3 *SSE4.1 *SSE4.2 *FP16 *AVX *AVX2 *AVX512-SKX?` +*/ +CV_EXPORTS_W std::string getCPUFeaturesLine(); + +/** @brief Returns the number of logical CPUs available for the process. + */ +CV_EXPORTS_W int getNumberOfCPUs(); + + +/** @brief Aligns a pointer to the specified number of bytes. + +The function returns the aligned pointer of the same type as the input pointer: +\f[\texttt{(_Tp*)(((size_t)ptr + n-1) & -n)}\f] +@param ptr Aligned pointer. +@param n Alignment size that must be a power of two. + */ +template static inline _Tp* alignPtr(_Tp* ptr, int n=(int)sizeof(_Tp)) +{ + CV_DbgAssert((n & (n - 1)) == 0); // n is a power of 2 + return (_Tp*)(((size_t)ptr + n-1) & -n); +} + +/** @brief Aligns a buffer size to the specified number of bytes. + +The function returns the minimum number that is greater than or equal to sz and is divisible by n : +\f[\texttt{(sz + n-1) & -n}\f] +@param sz Buffer size to align. +@param n Alignment size that must be a power of two. + */ +static inline size_t alignSize(size_t sz, int n) +{ + CV_DbgAssert((n & (n - 1)) == 0); // n is a power of 2 + return (sz + n-1) & -n; +} + +/** @brief Integer division with result round up. + +Use this function instead of `ceil((float)a / b)` expressions. + +@sa alignSize +*/ +static inline int divUp(int a, unsigned int b) +{ + CV_DbgAssert(a >= 0); + return (a + b - 1) / b; +} +/** @overload */ +static inline size_t divUp(size_t a, unsigned int b) +{ + return (a + b - 1) / b; +} + +/** @brief Round first value up to the nearest multiple of second value. + +Use this function instead of `ceil((float)a / b) * b` expressions. + +@sa divUp +*/ +static inline int roundUp(int a, unsigned int b) +{ + CV_DbgAssert(a >= 0); + return a + b - 1 - (a + b -1) % b; +} +/** @overload */ +static inline size_t roundUp(size_t a, unsigned int b) +{ + return a + b - 1 - (a + b - 1) % b; +} + +/** @brief Alignment check of passed values + +Usage: `isAligned(...)` + +@note Alignment(N) must be a power of 2 (2**k, 2^k) +*/ +template static inline +bool isAligned(const T& data) +{ + CV_StaticAssert((N & (N - 1)) == 0, ""); // power of 2 + return (((size_t)data) & (N - 1)) == 0; +} +/** @overload */ +template static inline +bool isAligned(const void* p1) +{ + return isAligned((size_t)p1); +} +/** @overload */ +template static inline +bool isAligned(const void* p1, const void* p2) +{ + return isAligned(((size_t)p1)|((size_t)p2)); +} +/** @overload */ +template static inline +bool isAligned(const void* p1, const void* p2, const void* p3) +{ + return isAligned(((size_t)p1)|((size_t)p2)|((size_t)p3)); +} +/** @overload */ +template static inline +bool isAligned(const void* p1, const void* p2, const void* p3, const void* p4) +{ + return isAligned(((size_t)p1)|((size_t)p2)|((size_t)p3)|((size_t)p4)); +} + +/** @brief Enables or disables the optimized code. + +The function can be used to dynamically turn on and off optimized dispatched code (code that uses SSE4.2, AVX/AVX2, +and other instructions on the platforms that support it). It sets a global flag that is further +checked by OpenCV functions. Since the flag is not checked in the inner OpenCV loops, it is only +safe to call the function on the very top level in your application where you can be sure that no +other OpenCV function is currently executed. + +By default, the optimized code is enabled unless you disable it in CMake. The current status can be +retrieved using useOptimized. +@param onoff The boolean flag specifying whether the optimized code should be used (onoff=true) +or not (onoff=false). + */ +CV_EXPORTS_W void setUseOptimized(bool onoff); + +/** @brief Returns the status of optimized code usage. + +The function returns true if the optimized code is enabled. Otherwise, it returns false. + */ +CV_EXPORTS_W bool useOptimized(); + +static inline size_t getElemSize(int type) { return (size_t)CV_ELEM_SIZE(type); } + +/////////////////////////////// Parallel Primitives ////////////////////////////////// + +/** @brief Base class for parallel data processors + +@ingroup core_parallel +*/ +class CV_EXPORTS ParallelLoopBody +{ +public: + virtual ~ParallelLoopBody(); + virtual void operator() (const Range& range) const = 0; +}; + +/** @brief Parallel data processor + +@ingroup core_parallel +*/ +CV_EXPORTS void parallel_for_(const Range& range, const ParallelLoopBody& body, double nstripes=-1.); + +//! @ingroup core_parallel +class ParallelLoopBodyLambdaWrapper : public ParallelLoopBody +{ +private: + std::function m_functor; +public: + inline + ParallelLoopBodyLambdaWrapper(std::function functor) + : m_functor(functor) + { + // nothing + } + + virtual void operator() (const cv::Range& range) const CV_OVERRIDE + { + m_functor(range); + } +}; + +//! @ingroup core_parallel +static inline +void parallel_for_(const Range& range, std::function functor, double nstripes=-1.) +{ + parallel_for_(range, ParallelLoopBodyLambdaWrapper(functor), nstripes); +} + + +/////////////////////////////// forEach method of cv::Mat //////////////////////////// +template inline +void Mat::forEach_impl(const Functor& operation) { + if (false) { + operation(*reinterpret_cast<_Tp*>(0), reinterpret_cast(0)); + // If your compiler fails in this line. + // Please check that your functor signature is + // (_Tp&, const int*) <- multi-dimensional + // or (_Tp&, void*) <- in case you don't need current idx. + } + + CV_Assert(!empty()); + CV_Assert(this->total() / this->size[this->dims - 1] <= INT_MAX); + const int LINES = static_cast(this->total() / this->size[this->dims - 1]); + + class PixelOperationWrapper :public ParallelLoopBody + { + public: + PixelOperationWrapper(Mat_<_Tp>* const frame, const Functor& _operation) + : mat(frame), op(_operation) {} + virtual ~PixelOperationWrapper(){} + // ! Overloaded virtual operator + // convert range call to row call. + virtual void operator()(const Range &range) const CV_OVERRIDE + { + const int DIMS = mat->dims; + const int COLS = mat->size[DIMS - 1]; + if (DIMS <= 2) { + for (int row = range.start; row < range.end; ++row) { + this->rowCall2(row, COLS); + } + } else { + std::vector idx(DIMS); /// idx is modified in this->rowCall + idx[DIMS - 2] = range.start - 1; + + for (int line_num = range.start; line_num < range.end; ++line_num) { + idx[DIMS - 2]++; + for (int i = DIMS - 2; i >= 0; --i) { + if (idx[i] >= mat->size[i]) { + idx[i - 1] += idx[i] / mat->size[i]; + idx[i] %= mat->size[i]; + continue; // carry-over; + } + else { + break; + } + } + this->rowCall(&idx[0], COLS, DIMS); + } + } + } + private: + Mat_<_Tp>* const mat; + const Functor op; + // ! Call operator for each elements in this row. + inline void rowCall(int* const idx, const int COLS, const int DIMS) const { + int &col = idx[DIMS - 1]; + col = 0; + _Tp* pixel = &(mat->template at<_Tp>(idx)); + + while (col < COLS) { + op(*pixel, const_cast(idx)); + pixel++; col++; + } + col = 0; + } + // ! Call operator for each elements in this row. 2d mat special version. + inline void rowCall2(const int row, const int COLS) const { + union Index{ + int body[2]; + operator const int*() const { + return reinterpret_cast(this); + } + int& operator[](const int i) { + return body[i]; + } + } idx = {{row, 0}}; + // Special union is needed to avoid + // "error: array subscript is above array bounds [-Werror=array-bounds]" + // when call the functor `op` such that access idx[3]. + + _Tp* pixel = &(mat->template at<_Tp>(idx)); + const _Tp* const pixel_end = pixel + COLS; + while(pixel < pixel_end) { + op(*pixel++, static_cast(idx)); + idx[1]++; + } + } + PixelOperationWrapper& operator=(const PixelOperationWrapper &) { + CV_Assert(false); + // We can not remove this implementation because Visual Studio warning C4822. + return *this; + } + }; + + parallel_for_(cv::Range(0, LINES), PixelOperationWrapper(reinterpret_cast*>(this), operation)); +} + +/////////////////////////// Synchronization Primitives /////////////////////////////// + +#if !defined(_M_CEE) +#ifndef OPENCV_DISABLE_THREAD_SUPPORT +typedef std::recursive_mutex Mutex; +typedef std::lock_guard AutoLock; +#else // OPENCV_DISABLE_THREAD_SUPPORT +// Custom (failing) implementation of `std::recursive_mutex`. +struct Mutex { + void lock(){ + CV_Error(cv::Error::StsNotImplemented, + "cv::Mutex is disabled by OPENCV_DISABLE_THREAD_SUPPORT=ON"); + } + void unlock(){ + CV_Error(cv::Error::StsNotImplemented, + "cv::Mutex is disabled by OPENCV_DISABLE_THREAD_SUPPORT=ON"); + } +}; +// Stub for cv::AutoLock when threads are disabled. +struct AutoLock { + AutoLock(Mutex &) { } +}; +#endif // OPENCV_DISABLE_THREAD_SUPPORT +#endif // !defined(_M_CEE) + + +/** @brief Designed for command line parsing + +The sample below demonstrates how to use CommandLineParser: +@code + CommandLineParser parser(argc, argv, keys); + parser.about("Application name v1.0.0"); + + if (parser.has("help")) + { + parser.printMessage(); + return 0; + } + + int N = parser.get("N"); + double fps = parser.get("fps"); + String path = parser.get("path"); + + use_time_stamp = parser.has("timestamp"); + + String img1 = parser.get(0); + String img2 = parser.get(1); + + int repeat = parser.get(2); + + if (!parser.check()) + { + parser.printErrors(); + return 0; + } +@endcode + +### Keys syntax + +The keys parameter is a string containing several blocks, each one is enclosed in curly braces and +describes one argument. Each argument contains three parts separated by the `|` symbol: + +-# argument names is a space-separated list of option synonyms (to mark argument as positional, prefix it with the `@` symbol) +-# default value will be used if the argument was not provided (can be empty) +-# help message (can be empty) + +For example: + +@code{.cpp} + const String keys = + "{help h usage ? | | print this message }" + "{@image1 | | image1 for compare }" + "{@image2 || image2 for compare }" + "{@repeat |1 | number }" + "{path |. | path to file }" + "{fps | -1.0 | fps for output video }" + "{N count |100 | count of objects }" + "{ts timestamp | | use time stamp }" + ; +} +@endcode + +Note that there are no default values for `help` and `timestamp` so we can check their presence using the `has()` method. +Arguments with default values are considered to be always present. Use the `get()` method in these cases to check their +actual value instead. + +String keys like `get("@image1")` return the empty string `""` by default - even with an empty default value. +Use the special `` default value to enforce that the returned string must not be empty. (like in `get("@image2")`) + +### Usage + +For the described keys: + +@code{.sh} + # Good call (3 positional parameters: image1, image2 and repeat; N is 200, ts is true) + $ ./app -N=200 1.png 2.jpg 19 -ts + + # Bad call + $ ./app -fps=aaa + ERRORS: + Parameter 'fps': can not convert: [aaa] to [double] +@endcode + */ +class CV_EXPORTS CommandLineParser +{ +public: + + /** @brief Constructor + + Initializes command line parser object + + @param argc number of command line arguments (from main()) + @param argv array of command line arguments (from main()) + @param keys string describing acceptable command line parameters (see class description for syntax) + */ + CommandLineParser(int argc, const char* const argv[], const String& keys); + + /** @brief Copy constructor */ + CommandLineParser(const CommandLineParser& parser); + + /** @brief Assignment operator */ + CommandLineParser& operator = (const CommandLineParser& parser); + + /** @brief Destructor */ + ~CommandLineParser(); + + /** @brief Returns application path + + This method returns the path to the executable from the command line (`argv[0]`). + + For example, if the application has been started with such a command: + @code{.sh} + $ ./bin/my-executable + @endcode + this method will return `./bin`. + */ + String getPathToApplication() const; + + /** @brief Access arguments by name + + Returns argument converted to selected type. If the argument is not known or can not be + converted to selected type, the error flag is set (can be checked with @ref check). + + For example, define: + @code{.cpp} + String keys = "{N count||}"; + @endcode + + Call: + @code{.sh} + $ ./my-app -N=20 + # or + $ ./my-app --count=20 + @endcode + + Access: + @code{.cpp} + int N = parser.get("N"); + @endcode + + @param name name of the argument + @param space_delete remove spaces from the left and right of the string + @tparam T the argument will be converted to this type if possible + + @note You can access positional arguments by their `@`-prefixed name: + @code{.cpp} + parser.get("@image"); + @endcode + */ + template + T get(const String& name, bool space_delete = true) const + { + T val = T(); + getByName(name, space_delete, ParamType::type, (void*)&val); + return val; + } + + /** @brief Access positional arguments by index + + Returns argument converted to selected type. Indexes are counted from zero. + + For example, define: + @code{.cpp} + String keys = "{@arg1||}{@arg2||}" + @endcode + + Call: + @code{.sh} + ./my-app abc qwe + @endcode + + Access arguments: + @code{.cpp} + String val_1 = parser.get(0); // returns "abc", arg1 + String val_2 = parser.get(1); // returns "qwe", arg2 + @endcode + + @param index index of the argument + @param space_delete remove spaces from the left and right of the string + @tparam T the argument will be converted to this type if possible + */ + template + T get(int index, bool space_delete = true) const + { + T val = T(); + getByIndex(index, space_delete, ParamType::type, (void*)&val); + return val; + } + + /** @brief Check if field was provided in the command line + + @param name argument name to check + */ + bool has(const String& name) const; + + /** @brief Check for parsing errors + + Returns false if error occurred while accessing the parameters (bad conversion, missing arguments, + etc.). Call @ref printErrors to print error messages list. + */ + bool check() const; + + /** @brief Set the about message + + The about message will be shown when @ref printMessage is called, right before arguments table. + */ + void about(const String& message); + + /** @brief Print help message + + This method will print standard help message containing the about message and arguments description. + + @sa about + */ + void printMessage() const; + + /** @brief Print list of errors occurred + + @sa check + */ + void printErrors() const; + +protected: + void getByName(const String& name, bool space_delete, Param type, void* dst) const; + void getByIndex(int index, bool space_delete, Param type, void* dst) const; + + struct Impl; + Impl* impl; +}; + +//! @} core_utils + +//! @cond IGNORED + +/////////////////////////////// AutoBuffer implementation //////////////////////////////////////// + +template inline +AutoBuffer<_Tp, fixed_size>::AutoBuffer() +{ + ptr = buf; + sz = fixed_size; +} + +template inline +AutoBuffer<_Tp, fixed_size>::AutoBuffer(size_t _size) +{ + ptr = buf; + sz = fixed_size; + allocate(_size); +} + +template inline +AutoBuffer<_Tp, fixed_size>::AutoBuffer(const AutoBuffer<_Tp, fixed_size>& abuf ) +{ + ptr = buf; + sz = fixed_size; + allocate(abuf.size()); + for( size_t i = 0; i < sz; i++ ) + ptr[i] = abuf.ptr[i]; +} + +template inline AutoBuffer<_Tp, fixed_size>& +AutoBuffer<_Tp, fixed_size>::operator = (const AutoBuffer<_Tp, fixed_size>& abuf) +{ + if( this != &abuf ) + { + deallocate(); + allocate(abuf.size()); + for( size_t i = 0; i < sz; i++ ) + ptr[i] = abuf.ptr[i]; + } + return *this; +} + +template inline +AutoBuffer<_Tp, fixed_size>::~AutoBuffer() +{ deallocate(); } + +template inline void +AutoBuffer<_Tp, fixed_size>::allocate(size_t _size) +{ + if(_size <= sz) + { + sz = _size; + return; + } + deallocate(); + sz = _size; + if(_size > fixed_size) + { + ptr = new _Tp[_size]; + } +} + +template inline void +AutoBuffer<_Tp, fixed_size>::deallocate() +{ + if( ptr != buf ) + { + delete[] ptr; + ptr = buf; + sz = fixed_size; + } +} + +template inline void +AutoBuffer<_Tp, fixed_size>::resize(size_t _size) +{ + if(_size <= sz) + { + sz = _size; + return; + } + size_t i, prevsize = sz, minsize = MIN(prevsize, _size); + _Tp* prevptr = ptr; + + ptr = _size > fixed_size ? new _Tp[_size] : buf; + sz = _size; + + if( ptr != prevptr ) + for( i = 0; i < minsize; i++ ) + ptr[i] = prevptr[i]; + for( i = prevsize; i < _size; i++ ) + ptr[i] = _Tp(); + + if( prevptr != buf ) + delete[] prevptr; +} + +template inline size_t +AutoBuffer<_Tp, fixed_size>::size() const +{ return sz; } + +//! @endcond + + +// Basic Node class for tree building +template +class CV_EXPORTS Node +{ +public: + Node() + { + m_pParent = 0; + } + Node(OBJECT& payload) : m_payload(payload) + { + m_pParent = 0; + } + ~Node() + { + removeChilds(); + if (m_pParent) + { + int idx = m_pParent->findChild(this); + if (idx >= 0) + m_pParent->m_childs.erase(m_pParent->m_childs.begin() + idx); + } + } + + Node* findChild(OBJECT& payload) const + { + for(size_t i = 0; i < this->m_childs.size(); i++) + { + if(this->m_childs[i]->m_payload == payload) + return this->m_childs[i]; + } + return NULL; + } + + int findChild(Node *pNode) const + { + for (size_t i = 0; i < this->m_childs.size(); i++) + { + if(this->m_childs[i] == pNode) + return (int)i; + } + return -1; + } + + void addChild(Node *pNode) + { + if(!pNode) + return; + + CV_Assert(pNode->m_pParent == 0); + pNode->m_pParent = this; + this->m_childs.push_back(pNode); + } + + void removeChilds() + { + for(size_t i = 0; i < m_childs.size(); i++) + { + m_childs[i]->m_pParent = 0; // avoid excessive parent vector trimming + delete m_childs[i]; + } + m_childs.clear(); + } + + int getDepth() + { + int count = 0; + Node *pParent = m_pParent; + while(pParent) count++, pParent = pParent->m_pParent; + return count; + } + +public: + OBJECT m_payload; + Node* m_pParent; + std::vector*> m_childs; +}; + + +namespace samples { + +//! @addtogroup core_utils_samples +// This section describes utility functions for OpenCV samples. +// +// @note Implementation of these utilities is not thread-safe. +// +//! @{ + +/** @brief Try to find requested data file + +Search directories: + +1. Directories passed via `addSamplesDataSearchPath()` +2. OPENCV_SAMPLES_DATA_PATH_HINT environment variable +3. OPENCV_SAMPLES_DATA_PATH environment variable + If parameter value is not empty and nothing is found then stop searching. +4. Detects build/install path based on: + a. current working directory (CWD) + b. and/or binary module location (opencv_core/opencv_world, doesn't work with static linkage) +5. Scan `/{,data,samples/data}` directories if build directory is detected or the current directory is in source tree. +6. Scan `/share/OpenCV` directory if install directory is detected. + +@see cv::utils::findDataFile + +@param relative_path Relative path to data file +@param required Specify "file not found" handling. + If true, function prints information message and raises cv::Exception. + If false, function returns empty result +@param silentMode Disables messages +@return Returns path (absolute or relative to the current directory) or empty string if file is not found +*/ +CV_EXPORTS_W cv::String findFile(const cv::String& relative_path, bool required = true, bool silentMode = false); + +CV_EXPORTS_W cv::String findFileOrKeep(const cv::String& relative_path, bool silentMode = false); + +inline cv::String findFileOrKeep(const cv::String& relative_path, bool silentMode) +{ + cv::String res = findFile(relative_path, false, silentMode); + if (res.empty()) + return relative_path; + return res; +} + +/** @brief Override search data path by adding new search location + +Use this only to override default behavior +Passed paths are used in LIFO order. + +@param path Path to used samples data +*/ +CV_EXPORTS_W void addSamplesDataSearchPath(const cv::String& path); + +/** @brief Append samples search data sub directory + +General usage is to add OpenCV modules name (`/modules//samples/data` -> `/samples/data` + `modules//samples/data`). +Passed subdirectories are used in LIFO order. + +@param subdir samples data sub directory +*/ +CV_EXPORTS_W void addSamplesDataSearchSubDirectory(const cv::String& subdir); + +//! @} +} // namespace samples + +namespace utils { + +CV_EXPORTS int getThreadID(); + +} // namespace + +} //namespace cv + +#ifdef CV_COLLECT_IMPL_DATA +#include "opencv2/core/utils/instrumentation.hpp" +#else +/// Collect implementation data on OpenCV function call. Requires ENABLE_IMPL_COLLECTION build option. +#define CV_IMPL_ADD(impl) +#endif + +#endif //OPENCV_CORE_UTILITY_H diff --git a/camera_lib/include/opencv2/core/va_intel.hpp b/camera_lib/include/opencv2/core/va_intel.hpp new file mode 100644 index 0000000..b37ce75 --- /dev/null +++ b/camera_lib/include/opencv2/core/va_intel.hpp @@ -0,0 +1,75 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +// Copyright (C) 2015, Itseez, Inc., all rights reserved. +// Third party copyrights are property of their respective owners. + +#ifndef OPENCV_CORE_VA_INTEL_HPP +#define OPENCV_CORE_VA_INTEL_HPP + +#ifndef __cplusplus +# error va_intel.hpp header must be compiled as C++ +#endif + +#include "opencv2/core.hpp" +#include "ocl.hpp" + +#if defined(HAVE_VA) +# include "va/va.h" +#else // HAVE_VA +# if !defined(_VA_H_) + typedef void* VADisplay; + typedef unsigned int VASurfaceID; +# endif // !_VA_H_ +#endif // HAVE_VA + +namespace cv { namespace va_intel { + +/** @addtogroup core_va_intel +This section describes Intel VA-API/OpenCL (CL-VA) interoperability. + +To enable basic VA interoperability build OpenCV with libva library integration enabled: `-DWITH_VA=ON` (corresponding dev package should be installed). + +To enable advanced CL-VA interoperability support on Intel HW, enable option: `-DWITH_VA_INTEL=ON` (OpenCL integration should be enabled which is the default setting). Special runtime environment should be set up in order to use this feature: correct combination of [libva](https://github.com/intel/libva), [OpenCL runtime](https://github.com/intel/compute-runtime) and [media driver](https://github.com/intel/media-driver) should be installed. + +Check usage example for details: samples/va_intel/va_intel_interop.cpp +*/ +//! @{ + +/////////////////// CL-VA Interoperability Functions /////////////////// + +namespace ocl { +using namespace cv::ocl; + +// TODO static functions in the Context class +/** @brief Creates OpenCL context from VA. +@param display - VADisplay for which CL interop should be established. +@param tryInterop - try to set up for interoperability, if true; set up for use slow copy if false. +@return Returns reference to OpenCL Context + */ +CV_EXPORTS Context& initializeContextFromVA(VADisplay display, bool tryInterop = true); + +} // namespace cv::va_intel::ocl + +/** @brief Converts InputArray to VASurfaceID object. +@param display - VADisplay object. +@param src - source InputArray. +@param surface - destination VASurfaceID object. +@param size - size of image represented by VASurfaceID object. + */ +CV_EXPORTS void convertToVASurface(VADisplay display, InputArray src, VASurfaceID surface, Size size); + +/** @brief Converts VASurfaceID object to OutputArray. +@param display - VADisplay object. +@param surface - source VASurfaceID object. +@param size - size of image represented by VASurfaceID object. +@param dst - destination OutputArray. + */ +CV_EXPORTS void convertFromVASurface(VADisplay display, VASurfaceID surface, Size size, OutputArray dst); + +//! @} + +}} // namespace cv::va_intel + +#endif /* OPENCV_CORE_VA_INTEL_HPP */ diff --git a/camera_lib/include/opencv2/core/version.hpp b/camera_lib/include/opencv2/core/version.hpp new file mode 100644 index 0000000..d5494f5 --- /dev/null +++ b/camera_lib/include/opencv2/core/version.hpp @@ -0,0 +1,26 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_VERSION_HPP +#define OPENCV_VERSION_HPP + +#define CV_VERSION_MAJOR 4 +#define CV_VERSION_MINOR 8 +#define CV_VERSION_REVISION 0 +#define CV_VERSION_STATUS "" + +#define CVAUX_STR_EXP(__A) #__A +#define CVAUX_STR(__A) CVAUX_STR_EXP(__A) + +#define CVAUX_STRW_EXP(__A) L ## #__A +#define CVAUX_STRW(__A) CVAUX_STRW_EXP(__A) + +#define CV_VERSION CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS + +/* old style version constants*/ +#define CV_MAJOR_VERSION CV_VERSION_MAJOR +#define CV_MINOR_VERSION CV_VERSION_MINOR +#define CV_SUBMINOR_VERSION CV_VERSION_REVISION + +#endif // OPENCV_VERSION_HPP diff --git a/camera_lib/include/opencv2/core/vsx_utils.hpp b/camera_lib/include/opencv2/core/vsx_utils.hpp new file mode 100644 index 0000000..79a1074 --- /dev/null +++ b/camera_lib/include/opencv2/core/vsx_utils.hpp @@ -0,0 +1,1047 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html + +#ifndef OPENCV_HAL_VSX_UTILS_HPP +#define OPENCV_HAL_VSX_UTILS_HPP + +#include "opencv2/core/cvdef.h" + +#ifndef SKIP_INCLUDES +# include +#endif + +//! @addtogroup core_utils_vsx +//! @{ +#if CV_VSX + +#define __VSX_S16__(c, v) (c){v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v} +#define __VSX_S8__(c, v) (c){v, v, v, v, v, v, v, v} +#define __VSX_S4__(c, v) (c){v, v, v, v} +#define __VSX_S2__(c, v) (c){v, v} + +typedef __vector unsigned char vec_uchar16; +#define vec_uchar16_set(...) (vec_uchar16){__VA_ARGS__} +#define vec_uchar16_sp(c) (__VSX_S16__(vec_uchar16, (unsigned char)c)) +#define vec_uchar16_c(v) ((vec_uchar16)(v)) +#define vec_uchar16_z vec_uchar16_sp(0) + +typedef __vector signed char vec_char16; +#define vec_char16_set(...) (vec_char16){__VA_ARGS__} +#define vec_char16_sp(c) (__VSX_S16__(vec_char16, (signed char)c)) +#define vec_char16_c(v) ((vec_char16)(v)) +#define vec_char16_z vec_char16_sp(0) + +typedef __vector unsigned short vec_ushort8; +#define vec_ushort8_set(...) (vec_ushort8){__VA_ARGS__} +#define vec_ushort8_sp(c) (__VSX_S8__(vec_ushort8, (unsigned short)c)) +#define vec_ushort8_c(v) ((vec_ushort8)(v)) +#define vec_ushort8_z vec_ushort8_sp(0) + +typedef __vector signed short vec_short8; +#define vec_short8_set(...) (vec_short8){__VA_ARGS__} +#define vec_short8_sp(c) (__VSX_S8__(vec_short8, (signed short)c)) +#define vec_short8_c(v) ((vec_short8)(v)) +#define vec_short8_z vec_short8_sp(0) + +typedef __vector unsigned int vec_uint4; +#define vec_uint4_set(...) (vec_uint4){__VA_ARGS__} +#define vec_uint4_sp(c) (__VSX_S4__(vec_uint4, (unsigned int)c)) +#define vec_uint4_c(v) ((vec_uint4)(v)) +#define vec_uint4_z vec_uint4_sp(0) + +typedef __vector signed int vec_int4; +#define vec_int4_set(...) (vec_int4){__VA_ARGS__} +#define vec_int4_sp(c) (__VSX_S4__(vec_int4, (signed int)c)) +#define vec_int4_c(v) ((vec_int4)(v)) +#define vec_int4_z vec_int4_sp(0) + +typedef __vector float vec_float4; +#define vec_float4_set(...) (vec_float4){__VA_ARGS__} +#define vec_float4_sp(c) (__VSX_S4__(vec_float4, c)) +#define vec_float4_c(v) ((vec_float4)(v)) +#define vec_float4_z vec_float4_sp(0) + +typedef __vector unsigned long long vec_udword2; +#define vec_udword2_set(...) (vec_udword2){__VA_ARGS__} +#define vec_udword2_sp(c) (__VSX_S2__(vec_udword2, (unsigned long long)c)) +#define vec_udword2_c(v) ((vec_udword2)(v)) +#define vec_udword2_z vec_udword2_sp(0) + +typedef __vector signed long long vec_dword2; +#define vec_dword2_set(...) (vec_dword2){__VA_ARGS__} +#define vec_dword2_sp(c) (__VSX_S2__(vec_dword2, (signed long long)c)) +#define vec_dword2_c(v) ((vec_dword2)(v)) +#define vec_dword2_z vec_dword2_sp(0) + +typedef __vector double vec_double2; +#define vec_double2_set(...) (vec_double2){__VA_ARGS__} +#define vec_double2_c(v) ((vec_double2)(v)) +#define vec_double2_sp(c) (__VSX_S2__(vec_double2, c)) +#define vec_double2_z vec_double2_sp(0) + +#define vec_bchar16 __vector __bool char +#define vec_bchar16_set(...) (vec_bchar16){__VA_ARGS__} +#define vec_bchar16_c(v) ((vec_bchar16)(v)) + +#define vec_bshort8 __vector __bool short +#define vec_bshort8_set(...) (vec_bshort8){__VA_ARGS__} +#define vec_bshort8_c(v) ((vec_bshort8)(v)) + +#define vec_bint4 __vector __bool int +#define vec_bint4_set(...) (vec_bint4){__VA_ARGS__} +#define vec_bint4_c(v) ((vec_bint4)(v)) + +#define vec_bdword2 __vector __bool long long +#define vec_bdword2_set(...) (vec_bdword2){__VA_ARGS__} +#define vec_bdword2_c(v) ((vec_bdword2)(v)) + +#define VSX_FINLINE(tp) extern inline tp __attribute__((always_inline)) + +#define VSX_REDIRECT_1RG(rt, rg, fnm, fn2) \ +VSX_FINLINE(rt) fnm(const rg& a) { return fn2(a); } + +#define VSX_REDIRECT_2RG(rt, rg, fnm, fn2) \ +VSX_FINLINE(rt) fnm(const rg& a, const rg& b) { return fn2(a, b); } + +/* + * GCC VSX compatibility +**/ +#if defined(__GNUG__) && !defined(__clang__) + +// inline asm helper +#define VSX_IMPL_1RG(rt, rg, opc, fnm) \ +VSX_FINLINE(rt) fnm(const rg& a) \ +{ rt rs; __asm__ __volatile__(#opc" %x0,%x1" : "=wa" (rs) : "wa" (a)); return rs; } + +#define VSX_IMPL_1VRG(rt, rg, opc, fnm) \ +VSX_FINLINE(rt) fnm(const rg& a) \ +{ rt rs; __asm__ __volatile__(#opc" %0,%1" : "=v" (rs) : "v" (a)); return rs; } + +#define VSX_IMPL_2VRG_F(rt, rg, fopc, fnm) \ +VSX_FINLINE(rt) fnm(const rg& a, const rg& b) \ +{ rt rs; __asm__ __volatile__(fopc : "=v" (rs) : "v" (a), "v" (b)); return rs; } + +#define VSX_IMPL_2VRG(rt, rg, opc, fnm) VSX_IMPL_2VRG_F(rt, rg, #opc" %0,%1,%2", fnm) + +#if __GNUG__ < 8 + + // Support for int4 -> dword2 expanding multiply was added in GCC 8. + #ifdef vec_mule + #undef vec_mule + #endif + #ifdef vec_mulo + #undef vec_mulo + #endif + + VSX_REDIRECT_2RG(vec_ushort8, vec_uchar16, vec_mule, __builtin_vec_mule) + VSX_REDIRECT_2RG(vec_short8, vec_char16, vec_mule, __builtin_vec_mule) + VSX_REDIRECT_2RG(vec_int4, vec_short8, vec_mule, __builtin_vec_mule) + VSX_REDIRECT_2RG(vec_uint4, vec_ushort8, vec_mule, __builtin_vec_mule) + VSX_REDIRECT_2RG(vec_ushort8, vec_uchar16, vec_mulo, __builtin_vec_mulo) + VSX_REDIRECT_2RG(vec_short8, vec_char16, vec_mulo, __builtin_vec_mulo) + VSX_REDIRECT_2RG(vec_int4, vec_short8, vec_mulo, __builtin_vec_mulo) + VSX_REDIRECT_2RG(vec_uint4, vec_ushort8, vec_mulo, __builtin_vec_mulo) + + // dword2 support arrived in ISA 2.07 and GCC 8+ + VSX_IMPL_2VRG(vec_dword2, vec_int4, vmulosw, vec_mule) + VSX_IMPL_2VRG(vec_udword2, vec_uint4, vmulouw, vec_mule) + VSX_IMPL_2VRG(vec_dword2, vec_int4, vmulesw, vec_mulo) + VSX_IMPL_2VRG(vec_udword2, vec_uint4, vmuleuw, vec_mulo) + +#endif + +#if __GNUG__ < 7 +// up to GCC 6 vec_mul only supports precisions and llong +# ifdef vec_mul +# undef vec_mul +# endif +/* + * there's no a direct instruction for supporting 8-bit, 16-bit multiplication in ISA 2.07, + * XLC Implement it by using instruction "multiply even", "multiply odd" and "permute" +**/ +# define VSX_IMPL_MULH(Tvec, cperm) \ + VSX_FINLINE(Tvec) vec_mul(const Tvec& a, const Tvec& b) \ + { \ + static const vec_uchar16 ev_od = {cperm}; \ + return vec_perm((Tvec)vec_mule(a, b), (Tvec)vec_mulo(a, b), ev_od); \ + } + #define VSX_IMPL_MULH_P16 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10, 26, 12, 28, 14, 30 + VSX_IMPL_MULH(vec_char16, VSX_IMPL_MULH_P16) + VSX_IMPL_MULH(vec_uchar16, VSX_IMPL_MULH_P16) + #define VSX_IMPL_MULH_P8 0, 1, 16, 17, 4, 5, 20, 21, 8, 9, 24, 25, 12, 13, 28, 29 + VSX_IMPL_MULH(vec_short8, VSX_IMPL_MULH_P8) + VSX_IMPL_MULH(vec_ushort8, VSX_IMPL_MULH_P8) + // vmuluwm can be used for unsigned or signed integers, that's what they said + VSX_IMPL_2VRG(vec_int4, vec_int4, vmuluwm, vec_mul) + VSX_IMPL_2VRG(vec_uint4, vec_uint4, vmuluwm, vec_mul) + // redirect to GCC builtin vec_mul, since it already supports precisions and llong + VSX_REDIRECT_2RG(vec_float4, vec_float4, vec_mul, __builtin_vec_mul) + VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mul, __builtin_vec_mul) + VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mul, __builtin_vec_mul) + VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mul, __builtin_vec_mul) +#endif // __GNUG__ < 7 + +#if __GNUG__ < 6 +/* + * Instruction "compare greater than or equal" in ISA 2.07 only supports single + * and double precision. + * In XLC and new versions of GCC implement integers by using instruction "greater than" and NOR. +**/ +# ifdef vec_cmpge +# undef vec_cmpge +# endif +# ifdef vec_cmple +# undef vec_cmple +# endif +# define vec_cmple(a, b) vec_cmpge(b, a) +# define VSX_IMPL_CMPGE(rt, rg, opc, fnm) \ + VSX_IMPL_2VRG_F(rt, rg, #opc" %0,%2,%1\n\t xxlnor %x0,%x0,%x0", fnm) + + VSX_IMPL_CMPGE(vec_bchar16, vec_char16, vcmpgtsb, vec_cmpge) + VSX_IMPL_CMPGE(vec_bchar16, vec_uchar16, vcmpgtub, vec_cmpge) + VSX_IMPL_CMPGE(vec_bshort8, vec_short8, vcmpgtsh, vec_cmpge) + VSX_IMPL_CMPGE(vec_bshort8, vec_ushort8, vcmpgtuh, vec_cmpge) + VSX_IMPL_CMPGE(vec_bint4, vec_int4, vcmpgtsw, vec_cmpge) + VSX_IMPL_CMPGE(vec_bint4, vec_uint4, vcmpgtuw, vec_cmpge) + VSX_IMPL_CMPGE(vec_bdword2, vec_dword2, vcmpgtsd, vec_cmpge) + VSX_IMPL_CMPGE(vec_bdword2, vec_udword2, vcmpgtud, vec_cmpge) + +// redirect to GCC builtin cmpge, since it already supports precisions + VSX_REDIRECT_2RG(vec_bint4, vec_float4, vec_cmpge, __builtin_vec_cmpge) + VSX_REDIRECT_2RG(vec_bdword2, vec_double2, vec_cmpge, __builtin_vec_cmpge) + +// up to gcc5 vec_nor doesn't support bool long long +# undef vec_nor + template + VSX_REDIRECT_2RG(T, T, vec_nor, __builtin_vec_nor) + + VSX_FINLINE(vec_bdword2) vec_nor(const vec_bdword2& a, const vec_bdword2& b) + { return vec_bdword2_c(__builtin_vec_nor(vec_dword2_c(a), vec_dword2_c(b))); } + +// vec_packs doesn't support double words in gcc4 and old versions of gcc5 +# undef vec_packs + VSX_REDIRECT_2RG(vec_char16, vec_short8, vec_packs, __builtin_vec_packs) + VSX_REDIRECT_2RG(vec_uchar16, vec_ushort8, vec_packs, __builtin_vec_packs) + VSX_REDIRECT_2RG(vec_short8, vec_int4, vec_packs, __builtin_vec_packs) + VSX_REDIRECT_2RG(vec_ushort8, vec_uint4, vec_packs, __builtin_vec_packs) + + VSX_IMPL_2VRG_F(vec_int4, vec_dword2, "vpksdss %0,%2,%1", vec_packs) + VSX_IMPL_2VRG_F(vec_uint4, vec_udword2, "vpkudus %0,%2,%1", vec_packs) +#endif // __GNUG__ < 6 + +#if __GNUG__ < 5 +// vec_xxpermdi in gcc4 missing little-endian supports just like clang +# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ (((c) & 1) << 1 | (c) >> 1))) +// same as vec_xxpermdi +# undef vec_vbpermq + VSX_IMPL_2VRG(vec_udword2, vec_uchar16, vbpermq, vec_vbpermq) + VSX_IMPL_2VRG(vec_dword2, vec_char16, vbpermq, vec_vbpermq) +#else +# define vec_permi vec_xxpermdi +#endif // __GNUG__ < 5 + +// shift left double by word immediate +#ifndef vec_sldw +# define vec_sldw __builtin_vsx_xxsldwi +#endif + +// vector population count +VSX_IMPL_1VRG(vec_uchar16, vec_uchar16, vpopcntb, vec_popcntu) +VSX_IMPL_1VRG(vec_uchar16, vec_char16, vpopcntb, vec_popcntu) +VSX_IMPL_1VRG(vec_ushort8, vec_ushort8, vpopcnth, vec_popcntu) +VSX_IMPL_1VRG(vec_ushort8, vec_short8, vpopcnth, vec_popcntu) +VSX_IMPL_1VRG(vec_uint4, vec_uint4, vpopcntw, vec_popcntu) +VSX_IMPL_1VRG(vec_uint4, vec_int4, vpopcntw, vec_popcntu) +VSX_IMPL_1VRG(vec_udword2, vec_udword2, vpopcntd, vec_popcntu) +VSX_IMPL_1VRG(vec_udword2, vec_dword2, vpopcntd, vec_popcntu) + +// converts between single and double-precision +VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, __builtin_vsx_xvcvdpsp) +VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, __builtin_vsx_xvcvspdp) + +// converts word and doubleword to double-precision +#undef vec_ctd +VSX_IMPL_1RG(vec_double2, vec_int4, xvcvsxwdp, vec_ctdo) +VSX_IMPL_1RG(vec_double2, vec_uint4, xvcvuxwdp, vec_ctdo) +VSX_IMPL_1RG(vec_double2, vec_dword2, xvcvsxddp, vec_ctd) +VSX_IMPL_1RG(vec_double2, vec_udword2, xvcvuxddp, vec_ctd) + +// converts word and doubleword to single-precision +#undef vec_ctf +VSX_IMPL_1RG(vec_float4, vec_int4, xvcvsxwsp, vec_ctf) +VSX_IMPL_1RG(vec_float4, vec_uint4, xvcvuxwsp, vec_ctf) +VSX_IMPL_1RG(vec_float4, vec_dword2, xvcvsxdsp, vec_ctfo) +VSX_IMPL_1RG(vec_float4, vec_udword2, xvcvuxdsp, vec_ctfo) + +// converts single and double precision to signed word +#undef vec_cts +VSX_IMPL_1RG(vec_int4, vec_double2, xvcvdpsxws, vec_ctso) +VSX_IMPL_1RG(vec_int4, vec_float4, xvcvspsxws, vec_cts) + +// converts single and double precision to unsigned word +#undef vec_ctu +VSX_IMPL_1RG(vec_uint4, vec_double2, xvcvdpuxws, vec_ctuo) +VSX_IMPL_1RG(vec_uint4, vec_float4, xvcvspuxws, vec_ctu) + +// converts single and double precision to signed doubleword +#undef vec_ctsl +VSX_IMPL_1RG(vec_dword2, vec_double2, xvcvdpsxds, vec_ctsl) +VSX_IMPL_1RG(vec_dword2, vec_float4, xvcvspsxds, vec_ctslo) + +// converts single and double precision to unsigned doubleword +#undef vec_ctul +VSX_IMPL_1RG(vec_udword2, vec_double2, xvcvdpuxds, vec_ctul) +VSX_IMPL_1RG(vec_udword2, vec_float4, xvcvspuxds, vec_ctulo) + +// just in case if GCC doesn't define it +#ifndef vec_xl +# define vec_xl vec_vsx_ld +# define vec_xst vec_vsx_st +#endif + +#endif // GCC VSX compatibility + +/* + * CLANG VSX compatibility +**/ +#if defined(__clang__) && !defined(__IBMCPP__) + +/* + * CLANG doesn't support %x in the inline asm template which fixes register number + * when using any of the register constraints wa, wd, wf + * + * For more explanation checkout PowerPC and IBM RS6000 in https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html + * Also there's already an open bug https://bugs.llvm.org/show_bug.cgi?id=31837 + * + * So we're not able to use inline asm and only use built-in functions that CLANG supports + * and use __builtin_convertvector if clang missing any of vector conversions built-in functions + * + * todo: clang asm template bug is fixed, need to reconsider the current workarounds. +*/ + +// convert vector helper +#define VSX_IMPL_CONVERT(rt, rg, fnm) \ +VSX_FINLINE(rt) fnm(const rg& a) { return __builtin_convertvector(a, rt); } + +#ifndef vec_permi +#if __clang_major__ < 5 +// implement vec_permi in a dirty way +# define VSX_IMPL_CLANG_4_PERMI(Tvec) \ + VSX_FINLINE(Tvec) vec_permi(const Tvec& a, const Tvec& b, unsigned const char c) \ + { \ + switch (c) \ + { \ + case 0: \ + return vec_mergeh(a, b); \ + case 1: \ + return vec_mergel(vec_mergeh(a, a), b); \ + case 2: \ + return vec_mergeh(vec_mergel(a, a), b); \ + default: \ + return vec_mergel(a, b); \ + } \ + } + VSX_IMPL_CLANG_4_PERMI(vec_udword2) + VSX_IMPL_CLANG_4_PERMI(vec_dword2) + VSX_IMPL_CLANG_4_PERMI(vec_double2) + +// vec_xxsldwi is missing in clang 4 +# define vec_xxsldwi(a, b, c) vec_sld(a, b, (c) * 4) +#else +// vec_xxpermdi is missing little-endian supports in clang 4 just like gcc4 +# define vec_permi(a, b, c) vec_xxpermdi(b, a, (3 ^ (((c) & 1) << 1 | (c) >> 1))) +#endif // __clang_major__ < 5 +#endif + +// shift left double by word immediate +#ifndef vec_sldw +# define vec_sldw vec_xxsldwi +#endif + +#if __clang_major__ < 13 +// Implement vec_rsqrt since clang only supports vec_rsqrte +#ifndef vec_rsqrt + VSX_FINLINE(vec_float4) vec_rsqrt(const vec_float4& a) + { return vec_div(vec_float4_sp(1), vec_sqrt(a)); } + + VSX_FINLINE(vec_double2) vec_rsqrt(const vec_double2& a) + { return vec_div(vec_double2_sp(1), vec_sqrt(a)); } +#endif + +// vec_promote missing support for doubleword +VSX_FINLINE(vec_dword2) vec_promote(long long a, int b) +{ + vec_dword2 ret = vec_dword2_z; + ret[b & 1] = a; + return ret; +} + +VSX_FINLINE(vec_udword2) vec_promote(unsigned long long a, int b) +{ + vec_udword2 ret = vec_udword2_z; + ret[b & 1] = a; + return ret; +} +#endif + +// vec_popcnt should return unsigned but clang has different thought just like gcc in vec_vpopcnt +#define VSX_IMPL_POPCNTU(Tvec, Tvec2, ucast) \ +VSX_FINLINE(Tvec) vec_popcntu(const Tvec2& a) \ +{ return ucast(vec_popcnt(a)); } +VSX_IMPL_POPCNTU(vec_uchar16, vec_char16, vec_uchar16_c); +VSX_IMPL_POPCNTU(vec_ushort8, vec_short8, vec_ushort8_c); +VSX_IMPL_POPCNTU(vec_uint4, vec_int4, vec_uint4_c); +VSX_IMPL_POPCNTU(vec_udword2, vec_dword2, vec_udword2_c); +// redirect unsigned types +VSX_REDIRECT_1RG(vec_uchar16, vec_uchar16, vec_popcntu, vec_popcnt) +VSX_REDIRECT_1RG(vec_ushort8, vec_ushort8, vec_popcntu, vec_popcnt) +VSX_REDIRECT_1RG(vec_uint4, vec_uint4, vec_popcntu, vec_popcnt) +VSX_REDIRECT_1RG(vec_udword2, vec_udword2, vec_popcntu, vec_popcnt) + +// converts between single and double precision +VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, __builtin_vsx_xvcvdpsp) +VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, __builtin_vsx_xvcvspdp) + +// converts word and doubleword to double-precision +#ifdef vec_ctd +# undef vec_ctd +#endif +VSX_REDIRECT_1RG(vec_double2, vec_int4, vec_ctdo, __builtin_vsx_xvcvsxwdp) +VSX_REDIRECT_1RG(vec_double2, vec_uint4, vec_ctdo, __builtin_vsx_xvcvuxwdp) + +VSX_IMPL_CONVERT(vec_double2, vec_dword2, vec_ctd) +VSX_IMPL_CONVERT(vec_double2, vec_udword2, vec_ctd) + +// converts word and doubleword to single-precision +#if __clang_major__ > 4 +# undef vec_ctf +#endif +VSX_IMPL_CONVERT(vec_float4, vec_int4, vec_ctf) +VSX_IMPL_CONVERT(vec_float4, vec_uint4, vec_ctf) +VSX_REDIRECT_1RG(vec_float4, vec_dword2, vec_ctfo, __builtin_vsx_xvcvsxdsp) +VSX_REDIRECT_1RG(vec_float4, vec_udword2, vec_ctfo, __builtin_vsx_xvcvuxdsp) + +// converts single and double precision to signed word +#if __clang_major__ > 4 +# undef vec_cts +#endif +VSX_REDIRECT_1RG(vec_int4, vec_double2, vec_ctso, __builtin_vsx_xvcvdpsxws) +VSX_IMPL_CONVERT(vec_int4, vec_float4, vec_cts) + +// converts single and double precision to unsigned word +#if __clang_major__ > 4 +# undef vec_ctu +#endif +VSX_REDIRECT_1RG(vec_uint4, vec_double2, vec_ctuo, __builtin_vsx_xvcvdpuxws) +VSX_IMPL_CONVERT(vec_uint4, vec_float4, vec_ctu) + +// converts single and double precision to signed doubleword +#ifdef vec_ctsl +# undef vec_ctsl +#endif +VSX_IMPL_CONVERT(vec_dword2, vec_double2, vec_ctsl) +// __builtin_convertvector unable to convert, xvcvspsxds is missing on it +VSX_FINLINE(vec_dword2) vec_ctslo(const vec_float4& a) +{ return vec_ctsl(vec_cvfo(a)); } + +// converts single and double precision to unsigned doubleword +#ifdef vec_ctul +# undef vec_ctul +#endif +VSX_IMPL_CONVERT(vec_udword2, vec_double2, vec_ctul) +// __builtin_convertvector unable to convert, xvcvspuxds is missing on it +VSX_FINLINE(vec_udword2) vec_ctulo(const vec_float4& a) +{ return vec_ctul(vec_cvfo(a)); } + +#endif // CLANG VSX compatibility + +/* + * Common GCC, CLANG compatibility +**/ +#if defined(__GNUG__) && !defined(__IBMCPP__) + +#ifdef vec_cvf +# undef vec_cvf +#endif + +#define VSX_IMPL_CONV_EVEN_4_2(rt, rg, fnm, fn2) \ +VSX_FINLINE(rt) fnm(const rg& a) \ +{ return fn2(vec_sldw(a, a, 1)); } + +VSX_IMPL_CONV_EVEN_4_2(vec_double2, vec_float4, vec_cvf, vec_cvfo) +VSX_IMPL_CONV_EVEN_4_2(vec_double2, vec_int4, vec_ctd, vec_ctdo) +VSX_IMPL_CONV_EVEN_4_2(vec_double2, vec_uint4, vec_ctd, vec_ctdo) + +VSX_IMPL_CONV_EVEN_4_2(vec_dword2, vec_float4, vec_ctsl, vec_ctslo) +VSX_IMPL_CONV_EVEN_4_2(vec_udword2, vec_float4, vec_ctul, vec_ctulo) + +#define VSX_IMPL_CONV_EVEN_2_4(rt, rg, fnm, fn2) \ +VSX_FINLINE(rt) fnm(const rg& a) \ +{ \ + rt v4 = fn2(a); \ + return vec_sldw(v4, v4, 3); \ +} + +VSX_IMPL_CONV_EVEN_2_4(vec_float4, vec_double2, vec_cvf, vec_cvfo) +VSX_IMPL_CONV_EVEN_2_4(vec_float4, vec_dword2, vec_ctf, vec_ctfo) +VSX_IMPL_CONV_EVEN_2_4(vec_float4, vec_udword2, vec_ctf, vec_ctfo) + +VSX_IMPL_CONV_EVEN_2_4(vec_int4, vec_double2, vec_cts, vec_ctso) +VSX_IMPL_CONV_EVEN_2_4(vec_uint4, vec_double2, vec_ctu, vec_ctuo) + +// Only for Eigen! +/* + * changing behavior of conversion intrinsics for gcc has effect on Eigen + * so we redefine old behavior again only on gcc, clang +*/ +#if !defined(__clang__) || __clang_major__ > 4 + // ignoring second arg since Eigen only truncates toward zero +# define VSX_IMPL_CONV_2VARIANT(rt, rg, fnm, fn2) \ + VSX_FINLINE(rt) fnm(const rg& a, int only_truncate) \ + { \ + assert(only_truncate == 0); \ + CV_UNUSED(only_truncate); \ + return fn2(a); \ + } + VSX_IMPL_CONV_2VARIANT(vec_int4, vec_float4, vec_cts, vec_cts) + VSX_IMPL_CONV_2VARIANT(vec_uint4, vec_float4, vec_ctu, vec_ctu) + VSX_IMPL_CONV_2VARIANT(vec_float4, vec_int4, vec_ctf, vec_ctf) + VSX_IMPL_CONV_2VARIANT(vec_float4, vec_uint4, vec_ctf, vec_ctf) + // define vec_cts for converting double precision to signed doubleword + // which isn't compatible with xlc but its okay since Eigen only uses it for gcc + VSX_IMPL_CONV_2VARIANT(vec_dword2, vec_double2, vec_cts, vec_ctsl) +#endif // Eigen + +#endif // Common GCC, CLANG compatibility + +/* + * XLC VSX compatibility +**/ +#if defined(__IBMCPP__) + +// vector population count +#define vec_popcntu vec_popcnt + +// overload and redirect with setting second arg to zero +// since we only support conversions without the second arg +#define VSX_IMPL_OVERLOAD_Z2(rt, rg, fnm) \ +VSX_FINLINE(rt) fnm(const rg& a) { return fnm(a, 0); } + +VSX_IMPL_OVERLOAD_Z2(vec_double2, vec_int4, vec_ctd) +VSX_IMPL_OVERLOAD_Z2(vec_double2, vec_uint4, vec_ctd) +VSX_IMPL_OVERLOAD_Z2(vec_double2, vec_dword2, vec_ctd) +VSX_IMPL_OVERLOAD_Z2(vec_double2, vec_udword2, vec_ctd) + +VSX_IMPL_OVERLOAD_Z2(vec_float4, vec_int4, vec_ctf) +VSX_IMPL_OVERLOAD_Z2(vec_float4, vec_uint4, vec_ctf) +VSX_IMPL_OVERLOAD_Z2(vec_float4, vec_dword2, vec_ctf) +VSX_IMPL_OVERLOAD_Z2(vec_float4, vec_udword2, vec_ctf) + +VSX_IMPL_OVERLOAD_Z2(vec_int4, vec_double2, vec_cts) +VSX_IMPL_OVERLOAD_Z2(vec_int4, vec_float4, vec_cts) + +VSX_IMPL_OVERLOAD_Z2(vec_uint4, vec_double2, vec_ctu) +VSX_IMPL_OVERLOAD_Z2(vec_uint4, vec_float4, vec_ctu) + +VSX_IMPL_OVERLOAD_Z2(vec_dword2, vec_double2, vec_ctsl) +VSX_IMPL_OVERLOAD_Z2(vec_dword2, vec_float4, vec_ctsl) + +VSX_IMPL_OVERLOAD_Z2(vec_udword2, vec_double2, vec_ctul) +VSX_IMPL_OVERLOAD_Z2(vec_udword2, vec_float4, vec_ctul) + +// fixme: implement conversions of odd-numbered elements in a dirty way +// since xlc doesn't support VSX registers operand in inline asm. +#define VSX_IMPL_CONV_ODD_4_2(rt, rg, fnm, fn2) \ +VSX_FINLINE(rt) fnm(const rg& a) { return fn2(vec_sldw(a, a, 3)); } + +VSX_IMPL_CONV_ODD_4_2(vec_double2, vec_float4, vec_cvfo, vec_cvf) +VSX_IMPL_CONV_ODD_4_2(vec_double2, vec_int4, vec_ctdo, vec_ctd) +VSX_IMPL_CONV_ODD_4_2(vec_double2, vec_uint4, vec_ctdo, vec_ctd) + +VSX_IMPL_CONV_ODD_4_2(vec_dword2, vec_float4, vec_ctslo, vec_ctsl) +VSX_IMPL_CONV_ODD_4_2(vec_udword2, vec_float4, vec_ctulo, vec_ctul) + +#define VSX_IMPL_CONV_ODD_2_4(rt, rg, fnm, fn2) \ +VSX_FINLINE(rt) fnm(const rg& a) \ +{ \ + rt v4 = fn2(a); \ + return vec_sldw(v4, v4, 1); \ +} + +VSX_IMPL_CONV_ODD_2_4(vec_float4, vec_double2, vec_cvfo, vec_cvf) +VSX_IMPL_CONV_ODD_2_4(vec_float4, vec_dword2, vec_ctfo, vec_ctf) +VSX_IMPL_CONV_ODD_2_4(vec_float4, vec_udword2, vec_ctfo, vec_ctf) + +VSX_IMPL_CONV_ODD_2_4(vec_int4, vec_double2, vec_ctso, vec_cts) +VSX_IMPL_CONV_ODD_2_4(vec_uint4, vec_double2, vec_ctuo, vec_ctu) + +#endif // XLC VSX compatibility + +// ignore GCC warning that caused by -Wunused-but-set-variable in rare cases +#if defined(__GNUG__) && !defined(__clang__) +# define VSX_UNUSED(Tvec) Tvec __attribute__((__unused__)) +#else // CLANG, XLC +# define VSX_UNUSED(Tvec) Tvec +#endif + +// gcc can find his way in casting log int and XLC, CLANG ambiguous +#if defined(__clang__) || defined(__IBMCPP__) + VSX_FINLINE(vec_udword2) vec_splats(uint64 v) + { return vec_splats((unsigned long long) v); } + + VSX_FINLINE(vec_dword2) vec_splats(int64 v) + { return vec_splats((long long) v); } + + VSX_FINLINE(vec_udword2) vec_promote(uint64 a, int b) + { return vec_promote((unsigned long long) a, b); } + + VSX_FINLINE(vec_dword2) vec_promote(int64 a, int b) + { return vec_promote((long long) a, b); } +#endif + +/* + * implement vsx_ld(offset, pointer), vsx_st(vector, offset, pointer) + * load and set using offset depend on the pointer type + * + * implement vsx_ldf(offset, pointer), vsx_stf(vector, offset, pointer) + * load and set using offset depend on fixed bytes size + * + * Note: In clang vec_xl and vec_xst fails to load unaligned addresses + * so we are using vec_vsx_ld, vec_vsx_st instead +*/ + +#if defined(__clang__) && !defined(__IBMCPP__) +# define vsx_ldf vec_vsx_ld +# define vsx_stf vec_vsx_st +#else // GCC , XLC +# define vsx_ldf vec_xl +# define vsx_stf vec_xst +#endif + +#define VSX_OFFSET(o, p) ((o) * sizeof(*(p))) +#define vsx_ld(o, p) vsx_ldf(VSX_OFFSET(o, p), p) +#define vsx_st(v, o, p) vsx_stf(v, VSX_OFFSET(o, p), p) + +/* + * implement vsx_ld2(offset, pointer), vsx_st2(vector, offset, pointer) to load and store double words + * In GCC vec_xl and vec_xst it maps to vec_vsx_ld, vec_vsx_st which doesn't support long long + * and in CLANG we are using vec_vsx_ld, vec_vsx_st because vec_xl, vec_xst fails to load unaligned addresses + * + * In XLC vec_xl and vec_xst fail to cast int64(long int) to long long +*/ +#if (defined(__GNUG__) || defined(__clang__)) && !defined(__IBMCPP__) + VSX_FINLINE(vec_udword2) vsx_ld2(long o, const uint64* p) + { return vec_udword2_c(vsx_ldf(VSX_OFFSET(o, p), (unsigned int*)p)); } + + VSX_FINLINE(vec_dword2) vsx_ld2(long o, const int64* p) + { return vec_dword2_c(vsx_ldf(VSX_OFFSET(o, p), (int*)p)); } + + VSX_FINLINE(void) vsx_st2(const vec_udword2& vec, long o, uint64* p) + { vsx_stf(vec_uint4_c(vec), VSX_OFFSET(o, p), (unsigned int*)p); } + + VSX_FINLINE(void) vsx_st2(const vec_dword2& vec, long o, int64* p) + { vsx_stf(vec_int4_c(vec), VSX_OFFSET(o, p), (int*)p); } +#else // XLC + VSX_FINLINE(vec_udword2) vsx_ld2(long o, const uint64* p) + { return vsx_ldf(VSX_OFFSET(o, p), (unsigned long long*)p); } + + VSX_FINLINE(vec_dword2) vsx_ld2(long o, const int64* p) + { return vsx_ldf(VSX_OFFSET(o, p), (long long*)p); } + + VSX_FINLINE(void) vsx_st2(const vec_udword2& vec, long o, uint64* p) + { vsx_stf(vec, VSX_OFFSET(o, p), (unsigned long long*)p); } + + VSX_FINLINE(void) vsx_st2(const vec_dword2& vec, long o, int64* p) + { vsx_stf(vec, VSX_OFFSET(o, p), (long long*)p); } +#endif + +// Store lower 8 byte +#define vec_st_l8(v, p) *((uint64*)(p)) = vec_extract(vec_udword2_c(v), 0) + +// Store higher 8 byte +#define vec_st_h8(v, p) *((uint64*)(p)) = vec_extract(vec_udword2_c(v), 1) + +// Load 64-bits of integer data to lower part +#define VSX_IMPL_LOAD_L8(Tvec, Tp) \ +VSX_FINLINE(Tvec) vec_ld_l8(const Tp *p) \ +{ return ((Tvec)vec_promote(*((uint64*)p), 0)); } + +VSX_IMPL_LOAD_L8(vec_uchar16, uchar) +VSX_IMPL_LOAD_L8(vec_char16, schar) +VSX_IMPL_LOAD_L8(vec_ushort8, ushort) +VSX_IMPL_LOAD_L8(vec_short8, short) +VSX_IMPL_LOAD_L8(vec_uint4, uint) +VSX_IMPL_LOAD_L8(vec_int4, int) +VSX_IMPL_LOAD_L8(vec_float4, float) +VSX_IMPL_LOAD_L8(vec_udword2, uint64) +VSX_IMPL_LOAD_L8(vec_dword2, int64) +VSX_IMPL_LOAD_L8(vec_double2, double) + +// logical not +#define vec_not(a) vec_nor(a, a) + +// power9 yaya +// not equal +#ifndef vec_cmpne +# define vec_cmpne(a, b) vec_not(vec_cmpeq(a, b)) +#endif + +// absolute difference +#ifndef _ARCH_PWR9 +# undef vec_absd +# define vec_absd(a, b) vec_sub(vec_max(a, b), vec_min(a, b)) +#endif + +/* + * Implement vec_unpacklu and vec_unpackhu + * since vec_unpackl, vec_unpackh only support signed integers +**/ +#define VSX_IMPL_UNPACKU(rt, rg, zero) \ +VSX_FINLINE(rt) vec_unpacklu(const rg& a) \ +{ return (rt)(vec_mergel(a, zero)); } \ +VSX_FINLINE(rt) vec_unpackhu(const rg& a) \ +{ return (rt)(vec_mergeh(a, zero)); } + +VSX_IMPL_UNPACKU(vec_ushort8, vec_uchar16, vec_uchar16_z) +VSX_IMPL_UNPACKU(vec_uint4, vec_ushort8, vec_ushort8_z) +VSX_IMPL_UNPACKU(vec_udword2, vec_uint4, vec_uint4_z) + +/* + * Implement vec_mergesqe and vec_mergesqo + * Merges the sequence values of even and odd elements of two vectors +*/ +#define VSX_IMPL_PERM(rt, fnm, ...) \ +VSX_FINLINE(rt) fnm(const rt& a, const rt& b) \ +{ static const vec_uchar16 perm = {__VA_ARGS__}; return vec_perm(a, b, perm); } + +// 16 +#define perm16_mergesqe 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 +#define perm16_mergesqo 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 +VSX_IMPL_PERM(vec_uchar16, vec_mergesqe, perm16_mergesqe) +VSX_IMPL_PERM(vec_uchar16, vec_mergesqo, perm16_mergesqo) +VSX_IMPL_PERM(vec_char16, vec_mergesqe, perm16_mergesqe) +VSX_IMPL_PERM(vec_char16, vec_mergesqo, perm16_mergesqo) +// 8 +#define perm8_mergesqe 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 +#define perm8_mergesqo 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 +VSX_IMPL_PERM(vec_ushort8, vec_mergesqe, perm8_mergesqe) +VSX_IMPL_PERM(vec_ushort8, vec_mergesqo, perm8_mergesqo) +VSX_IMPL_PERM(vec_short8, vec_mergesqe, perm8_mergesqe) +VSX_IMPL_PERM(vec_short8, vec_mergesqo, perm8_mergesqo) +// 4 +#define perm4_mergesqe 0, 1, 2, 3, 8, 9, 10, 11, 16, 17, 18, 19, 24, 25, 26, 27 +#define perm4_mergesqo 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31 +VSX_IMPL_PERM(vec_uint4, vec_mergesqe, perm4_mergesqe) +VSX_IMPL_PERM(vec_uint4, vec_mergesqo, perm4_mergesqo) +VSX_IMPL_PERM(vec_int4, vec_mergesqe, perm4_mergesqe) +VSX_IMPL_PERM(vec_int4, vec_mergesqo, perm4_mergesqo) +VSX_IMPL_PERM(vec_float4, vec_mergesqe, perm4_mergesqe) +VSX_IMPL_PERM(vec_float4, vec_mergesqo, perm4_mergesqo) +// 2 +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesqe, vec_mergeh) +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesqo, vec_mergel) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesqe, vec_mergeh) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesqo, vec_mergel) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesqe, vec_mergeh) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesqo, vec_mergel) + +/* + * Implement vec_mergesqh and vec_mergesql + * Merges the sequence most and least significant halves of two vectors +*/ +#define VSX_IMPL_MERGESQHL(Tvec) \ +VSX_FINLINE(Tvec) vec_mergesqh(const Tvec& a, const Tvec& b) \ +{ return (Tvec)vec_mergeh(vec_udword2_c(a), vec_udword2_c(b)); } \ +VSX_FINLINE(Tvec) vec_mergesql(const Tvec& a, const Tvec& b) \ +{ return (Tvec)vec_mergel(vec_udword2_c(a), vec_udword2_c(b)); } +VSX_IMPL_MERGESQHL(vec_uchar16) +VSX_IMPL_MERGESQHL(vec_char16) +VSX_IMPL_MERGESQHL(vec_ushort8) +VSX_IMPL_MERGESQHL(vec_short8) +VSX_IMPL_MERGESQHL(vec_uint4) +VSX_IMPL_MERGESQHL(vec_int4) +VSX_IMPL_MERGESQHL(vec_float4) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesqh, vec_mergeh) +VSX_REDIRECT_2RG(vec_udword2, vec_udword2, vec_mergesql, vec_mergel) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesqh, vec_mergeh) +VSX_REDIRECT_2RG(vec_dword2, vec_dword2, vec_mergesql, vec_mergel) +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesqh, vec_mergeh) +VSX_REDIRECT_2RG(vec_double2, vec_double2, vec_mergesql, vec_mergel) + + +// 2 and 4 channels interleave for all types except 2 lanes +#define VSX_IMPL_ST_INTERLEAVE(Tp, Tvec) \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, Tp* ptr) \ +{ \ + vsx_stf(vec_mergeh(a, b), 0, ptr); \ + vsx_stf(vec_mergel(a, b), 16, ptr); \ +} \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, const Tvec& d, Tp* ptr) \ +{ \ + Tvec ac = vec_mergeh(a, c); \ + Tvec bd = vec_mergeh(b, d); \ + vsx_stf(vec_mergeh(ac, bd), 0, ptr); \ + vsx_stf(vec_mergel(ac, bd), 16, ptr); \ + ac = vec_mergel(a, c); \ + bd = vec_mergel(b, d); \ + vsx_stf(vec_mergeh(ac, bd), 32, ptr); \ + vsx_stf(vec_mergel(ac, bd), 48, ptr); \ +} +VSX_IMPL_ST_INTERLEAVE(uchar, vec_uchar16) +VSX_IMPL_ST_INTERLEAVE(schar, vec_char16) +VSX_IMPL_ST_INTERLEAVE(ushort, vec_ushort8) +VSX_IMPL_ST_INTERLEAVE(short, vec_short8) +VSX_IMPL_ST_INTERLEAVE(uint, vec_uint4) +VSX_IMPL_ST_INTERLEAVE(int, vec_int4) +VSX_IMPL_ST_INTERLEAVE(float, vec_float4) + +// 2 and 4 channels deinterleave for 16 lanes +#define VSX_IMPL_ST_DINTERLEAVE_8(Tp, Tvec) \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(16, ptr); \ + a = vec_mergesqe(v0, v1); \ + b = vec_mergesqo(v0, v1); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(16, ptr); \ + Tvec v2 = vsx_ld(32, ptr); \ + Tvec v3 = vsx_ld(48, ptr); \ + Tvec m0 = vec_mergesqe(v0, v1); \ + Tvec m1 = vec_mergesqe(v2, v3); \ + a = vec_mergesqe(m0, m1); \ + c = vec_mergesqo(m0, m1); \ + m0 = vec_mergesqo(v0, v1); \ + m1 = vec_mergesqo(v2, v3); \ + b = vec_mergesqe(m0, m1); \ + d = vec_mergesqo(m0, m1); \ +} +VSX_IMPL_ST_DINTERLEAVE_8(uchar, vec_uchar16) +VSX_IMPL_ST_DINTERLEAVE_8(schar, vec_char16) + +// 2 and 4 channels deinterleave for 8 lanes +#define VSX_IMPL_ST_DINTERLEAVE_16(Tp, Tvec) \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(8, ptr); \ + a = vec_mergesqe(v0, v1); \ + b = vec_mergesqo(v0, v1); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(8, ptr); \ + Tvec m0 = vec_mergeh(v0, v1); \ + Tvec m1 = vec_mergel(v0, v1); \ + Tvec ab0 = vec_mergeh(m0, m1); \ + Tvec cd0 = vec_mergel(m0, m1); \ + v0 = vsx_ld(16, ptr); \ + v1 = vsx_ld(24, ptr); \ + m0 = vec_mergeh(v0, v1); \ + m1 = vec_mergel(v0, v1); \ + Tvec ab1 = vec_mergeh(m0, m1); \ + Tvec cd1 = vec_mergel(m0, m1); \ + a = vec_mergesqh(ab0, ab1); \ + b = vec_mergesql(ab0, ab1); \ + c = vec_mergesqh(cd0, cd1); \ + d = vec_mergesql(cd0, cd1); \ +} +VSX_IMPL_ST_DINTERLEAVE_16(ushort, vec_ushort8) +VSX_IMPL_ST_DINTERLEAVE_16(short, vec_short8) + +// 2 and 4 channels deinterleave for 4 lanes +#define VSX_IMPL_ST_DINTERLEAVE_32(Tp, Tvec) \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + a = vsx_ld(0, ptr); \ + b = vsx_ld(4, ptr); \ + Tvec m0 = vec_mergeh(a, b); \ + Tvec m1 = vec_mergel(a, b); \ + a = vec_mergeh(m0, m1); \ + b = vec_mergel(m0, m1); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = vsx_ld(0, ptr); \ + Tvec v1 = vsx_ld(4, ptr); \ + Tvec v2 = vsx_ld(8, ptr); \ + Tvec v3 = vsx_ld(12, ptr); \ + Tvec m0 = vec_mergeh(v0, v2); \ + Tvec m1 = vec_mergeh(v1, v3); \ + a = vec_mergeh(m0, m1); \ + b = vec_mergel(m0, m1); \ + m0 = vec_mergel(v0, v2); \ + m1 = vec_mergel(v1, v3); \ + c = vec_mergeh(m0, m1); \ + d = vec_mergel(m0, m1); \ +} +VSX_IMPL_ST_DINTERLEAVE_32(uint, vec_uint4) +VSX_IMPL_ST_DINTERLEAVE_32(int, vec_int4) +VSX_IMPL_ST_DINTERLEAVE_32(float, vec_float4) + +// 2 and 4 channels interleave and deinterleave for 2 lanes +#define VSX_IMPL_ST_D_INTERLEAVE_64(Tp, Tvec, ld_func, st_func) \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, Tp* ptr) \ +{ \ + st_func(vec_mergeh(a, b), 0, ptr); \ + st_func(vec_mergel(a, b), 2, ptr); \ +} \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, const Tvec& d, Tp* ptr) \ +{ \ + st_func(vec_mergeh(a, b), 0, ptr); \ + st_func(vec_mergeh(c, d), 2, ptr); \ + st_func(vec_mergel(a, b), 4, ptr); \ + st_func(vec_mergel(c, d), 6, ptr); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b) \ +{ \ + Tvec m0 = ld_func(0, ptr); \ + Tvec m1 = ld_func(2, ptr); \ + a = vec_mergeh(m0, m1); \ + b = vec_mergel(m0, m1); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, \ + Tvec& c, Tvec& d) \ +{ \ + Tvec v0 = ld_func(0, ptr); \ + Tvec v1 = ld_func(2, ptr); \ + Tvec v2 = ld_func(4, ptr); \ + Tvec v3 = ld_func(6, ptr); \ + a = vec_mergeh(v0, v2); \ + b = vec_mergel(v0, v2); \ + c = vec_mergeh(v1, v3); \ + d = vec_mergel(v1, v3); \ +} +VSX_IMPL_ST_D_INTERLEAVE_64(int64, vec_dword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_D_INTERLEAVE_64(uint64, vec_udword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_D_INTERLEAVE_64(double, vec_double2, vsx_ld, vsx_st) + +/* 3 channels */ +#define VSX_IMPL_ST_INTERLEAVE_3CH_16(Tp, Tvec) \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + static const vec_uchar16 a12 = {0, 16, 0, 1, 17, 0, 2, 18, 0, 3, 19, 0, 4, 20, 0, 5}; \ + static const vec_uchar16 a123 = {0, 1, 16, 3, 4, 17, 6, 7, 18, 9, 10, 19, 12, 13, 20, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, a12), c, a123), 0, ptr); \ + static const vec_uchar16 b12 = {21, 0, 6, 22, 0, 7, 23, 0, 8, 24, 0, 9, 25, 0, 10, 26}; \ + static const vec_uchar16 b123 = {0, 21, 2, 3, 22, 5, 6, 23, 8, 9, 24, 11, 12, 25, 14, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, b12), c, b123), 16, ptr); \ + static const vec_uchar16 c12 = {0, 11, 27, 0, 12, 28, 0, 13, 29, 0, 14, 30, 0, 15, 31, 0}; \ + static const vec_uchar16 c123 = {26, 1, 2, 27, 4, 5, 28, 7, 8, 29, 10, 11, 30, 13, 14, 31}; \ + vsx_st(vec_perm(vec_perm(a, b, c12), c, c123), 32, ptr); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = vsx_ld(0, ptr); \ + Tvec v2 = vsx_ld(16, ptr); \ + Tvec v3 = vsx_ld(32, ptr); \ + static const vec_uchar16 a12_perm = {0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 a123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 17, 20, 23, 26, 29}; \ + a = vec_perm(vec_perm(v1, v2, a12_perm), v3, a123_perm); \ + static const vec_uchar16 b12_perm = {1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 b123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 18, 21, 24, 27, 30}; \ + b = vec_perm(vec_perm(v1, v2, b12_perm), v3, b123_perm); \ + static const vec_uchar16 c12_perm = {2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 0, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 c123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 19, 22, 25, 28, 31}; \ + c = vec_perm(vec_perm(v1, v2, c12_perm), v3, c123_perm); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_16(uchar, vec_uchar16) +VSX_IMPL_ST_INTERLEAVE_3CH_16(schar, vec_char16) + +#define VSX_IMPL_ST_INTERLEAVE_3CH_8(Tp, Tvec) \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + static const vec_uchar16 a12 = {0, 1, 16, 17, 0, 0, 2, 3, 18, 19, 0, 0, 4, 5, 20, 21}; \ + static const vec_uchar16 a123 = {0, 1, 2, 3, 16, 17, 6, 7, 8, 9, 18, 19, 12, 13, 14, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, a12), c, a123), 0, ptr); \ + static const vec_uchar16 b12 = {0, 0, 6, 7, 22, 23, 0, 0, 8, 9, 24, 25, 0, 0, 10, 11}; \ + static const vec_uchar16 b123 = {20, 21, 2, 3, 4, 5, 22, 23, 8, 9, 10, 11, 24, 25, 14, 15}; \ + vsx_st(vec_perm(vec_perm(a, b, b12), c, b123), 8, ptr); \ + static const vec_uchar16 c12 = {26, 27, 0, 0, 12, 13, 28, 29, 0, 0, 14, 15, 30, 31, 0, 0}; \ + static const vec_uchar16 c123 = {0, 1, 26, 27, 4, 5, 6, 7, 28, 29, 10, 11, 12, 13, 30, 31}; \ + vsx_st(vec_perm(vec_perm(a, b, c12), c, c123), 16, ptr); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = vsx_ld(0, ptr); \ + Tvec v2 = vsx_ld(8, ptr); \ + Tvec v3 = vsx_ld(16, ptr); \ + static const vec_uchar16 a12_perm = {0, 1, 6, 7, 12, 13, 18, 19, 24, 25, 30, 31, 0, 0, 0, 0}; \ + static const vec_uchar16 a123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21, 26, 27}; \ + a = vec_perm(vec_perm(v1, v2, a12_perm), v3, a123_perm); \ + static const vec_uchar16 b12_perm = {2, 3, 8, 9, 14, 15, 20, 21, 26, 27, 0, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 b123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 17, 22, 23, 28, 29}; \ + b = vec_perm(vec_perm(v1, v2, b12_perm), v3, b123_perm); \ + static const vec_uchar16 c12_perm = {4, 5, 10, 11, 16, 17, 22, 23, 28, 29, 0, 0, 0, 0, 0, 0}; \ + static const vec_uchar16 c123_perm = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 18, 19, 24, 25, 30, 31}; \ + c = vec_perm(vec_perm(v1, v2, c12_perm), v3, c123_perm); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_8(ushort, vec_ushort8) +VSX_IMPL_ST_INTERLEAVE_3CH_8(short, vec_short8) + +#define VSX_IMPL_ST_INTERLEAVE_3CH_4(Tp, Tvec) \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + Tvec hbc = vec_mergeh(b, c); \ + static const vec_uchar16 ahbc = {0, 1, 2, 3, 16, 17, 18, 19, 20, 21, 22, 23, 4, 5, 6, 7}; \ + vsx_st(vec_perm(a, hbc, ahbc), 0, ptr); \ + Tvec lab = vec_mergel(a, b); \ + vsx_st(vec_sld(lab, hbc, 8), 4, ptr); \ + static const vec_uchar16 clab = {8, 9, 10, 11, 24, 25, 26, 27, 28, 29, 30, 31, 12, 13, 14, 15};\ + vsx_st(vec_perm(c, lab, clab), 8, ptr); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = vsx_ld(0, ptr); \ + Tvec v2 = vsx_ld(4, ptr); \ + Tvec v3 = vsx_ld(8, ptr); \ + static const vec_uchar16 flp = {0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19, 28, 29, 30, 31}; \ + a = vec_perm(v1, vec_sld(v3, v2, 8), flp); \ + static const vec_uchar16 flp2 = {28, 29, 30, 31, 0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19}; \ + b = vec_perm(v2, vec_sld(v1, v3, 8), flp2); \ + c = vec_perm(vec_sld(v2, v1, 8), v3, flp); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_4(uint, vec_uint4) +VSX_IMPL_ST_INTERLEAVE_3CH_4(int, vec_int4) +VSX_IMPL_ST_INTERLEAVE_3CH_4(float, vec_float4) + +#define VSX_IMPL_ST_INTERLEAVE_3CH_2(Tp, Tvec, ld_func, st_func) \ +VSX_FINLINE(void) vec_st_interleave(const Tvec& a, const Tvec& b, \ + const Tvec& c, Tp* ptr) \ +{ \ + st_func(vec_mergeh(a, b), 0, ptr); \ + st_func(vec_permi(c, a, 1), 2, ptr); \ + st_func(vec_mergel(b, c), 4, ptr); \ +} \ +VSX_FINLINE(void) vec_ld_deinterleave(const Tp* ptr, Tvec& a, \ + Tvec& b, Tvec& c) \ +{ \ + Tvec v1 = ld_func(0, ptr); \ + Tvec v2 = ld_func(2, ptr); \ + Tvec v3 = ld_func(4, ptr); \ + a = vec_permi(v1, v2, 1); \ + b = vec_permi(v1, v3, 2); \ + c = vec_permi(v2, v3, 1); \ +} +VSX_IMPL_ST_INTERLEAVE_3CH_2(int64, vec_dword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_INTERLEAVE_3CH_2(uint64, vec_udword2, vsx_ld2, vsx_st2) +VSX_IMPL_ST_INTERLEAVE_3CH_2(double, vec_double2, vsx_ld, vsx_st) + +#endif // CV_VSX + +//! @} + +#endif // OPENCV_HAL_VSX_UTILS_HPP diff --git a/camera_lib/include/opencv2/cvconfig.h b/camera_lib/include/opencv2/cvconfig.h new file mode 100644 index 0000000..78e0822 --- /dev/null +++ b/camera_lib/include/opencv2/cvconfig.h @@ -0,0 +1,155 @@ +#ifndef OPENCV_CVCONFIG_H_INCLUDED +#define OPENCV_CVCONFIG_H_INCLUDED + +/* OpenCV compiled as static or dynamic libs */ +/* #undef BUILD_SHARED_LIBS */ + +/* OpenCV intrinsics optimized code */ +#define CV_ENABLE_INTRINSICS + +/* OpenCV additional optimized code */ +/* #undef CV_DISABLE_OPTIMIZATION */ + +/* Compile for 'real' NVIDIA GPU architectures */ +#define CUDA_ARCH_BIN "" + +/* NVIDIA GPU features are used */ +#define CUDA_ARCH_FEATURES "" + +/* Compile for 'virtual' NVIDIA PTX architectures */ +#define CUDA_ARCH_PTX "" + +/* AMD's Basic Linear Algebra Subprograms Library*/ +/* #undef HAVE_CLAMDBLAS */ + +/* AMD's OpenCL Fast Fourier Transform Library*/ +/* #undef HAVE_CLAMDFFT */ + +/* Clp support */ +/* #undef HAVE_CLP */ + +/* NVIDIA CUDA Runtime API*/ +/* #undef HAVE_CUDA */ + +/* NVIDIA CUDA Basic Linear Algebra Subprograms (BLAS) API*/ +/* #undef HAVE_CUBLAS */ + +/* NVIDIA CUDA Deep Neural Network (cuDNN) API*/ +/* #undef HAVE_CUDNN */ + +/* NVIDIA CUDA Fast Fourier Transform (FFT) API*/ +/* #undef HAVE_CUFFT */ + +/* DirectX */ +#define HAVE_DIRECTX +#define HAVE_DIRECTX_NV12 +#define HAVE_D3D11 +#define HAVE_D3D10 +#define HAVE_D3D9 + +/* Eigen Matrix & Linear Algebra Library */ +/* #undef HAVE_EIGEN */ + +/* Geospatial Data Abstraction Library */ +/* #undef HAVE_GDAL */ + +/* Halide support */ +/* #undef HAVE_HALIDE */ + +/* Vulkan support */ +/* #undef HAVE_VULKAN */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Intel Integrated Performance Primitives */ +#define HAVE_IPP +#define HAVE_IPP_ICV +#define HAVE_IPP_IW +#define HAVE_IPP_IW_LL + +/* JPEG-2000 codec */ +#define HAVE_OPENJPEG +/* #undef HAVE_JASPER */ + +/* AVIF codec */ +/* #undef HAVE_AVIF */ + +/* IJG JPEG codec */ +#define HAVE_JPEG + +/* libpng/png.h needs to be included */ +/* #undef HAVE_LIBPNG_PNG_H */ + +/* GDCM DICOM codec */ +/* #undef HAVE_GDCM */ + +/* NVIDIA Video Decoding API*/ +/* #undef HAVE_NVCUVID */ +/* #undef HAVE_NVCUVID_HEADER */ +/* #undef HAVE_DYNLINK_NVCUVID_HEADER */ + +/* NVIDIA Video Encoding API*/ +/* #undef HAVE_NVCUVENC */ + +/* OpenCL Support */ +#define HAVE_OPENCL +/* #undef HAVE_OPENCL_STATIC */ +/* #undef HAVE_OPENCL_SVM */ + +/* NVIDIA OpenCL D3D Extensions support */ +#define HAVE_OPENCL_D3D11_NV + +/* OpenEXR codec */ +#define HAVE_OPENEXR + +/* OpenGL support*/ +/* #undef HAVE_OPENGL */ + +/* PNG codec */ +#define HAVE_PNG + +/* PNG codec */ +/* #undef HAVE_SPNG */ + +/* Posix threads (pthreads) */ +/* #undef HAVE_PTHREAD */ + +/* parallel_for with pthreads */ +/* #undef HAVE_PTHREADS_PF */ + +/* Intel Threading Building Blocks */ +/* #undef HAVE_TBB */ + +/* Ste||ar Group High Performance ParallelX */ +/* #undef HAVE_HPX */ + +/* TIFF codec */ +#define HAVE_TIFF + +/* Define if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +/* #undef WORDS_BIGENDIAN */ + +/* VA library (libva) */ +/* #undef HAVE_VA */ + +/* Intel VA-API/OpenCL */ +/* #undef HAVE_VA_INTEL */ + +/* Lapack */ +/* #undef HAVE_LAPACK */ + +/* Library was compiled with functions instrumentation */ +/* #undef ENABLE_INSTRUMENTATION */ + +/* OpenVX */ +/* #undef HAVE_OPENVX */ + +/* OpenCV trace utilities */ +#define OPENCV_TRACE + +/* Library QR-code decoding */ +#define HAVE_QUIRC + +#endif // OPENCV_CVCONFIG_H_INCLUDED diff --git a/camera_lib/include/opencv2/highgui.hpp b/camera_lib/include/opencv2/highgui.hpp new file mode 100644 index 0000000..71c0cf6 --- /dev/null +++ b/camera_lib/include/opencv2/highgui.hpp @@ -0,0 +1,870 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HIGHGUI_HPP +#define OPENCV_HIGHGUI_HPP + +#include "opencv2/core.hpp" +#ifdef HAVE_OPENCV_IMGCODECS +#include "opencv2/imgcodecs.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEOIO +#include "opencv2/videoio.hpp" +#endif + +/** +@defgroup highgui High-level GUI + +While OpenCV was designed for use in full-scale applications and can be used within functionally +rich UI frameworks (such as Qt\*, WinForms\*, or Cocoa\*) or without any UI at all, sometimes there +it is required to try functionality quickly and visualize the results. This is what the HighGUI +module has been designed for. + +It provides easy interface to: + +- Create and manipulate windows that can display images and "remember" their content (no need to + handle repaint events from OS). +- Add trackbars to the windows, handle simple mouse events as well as keyboard commands. + +@{ + @defgroup highgui_window_flags Flags related creating and manipulating HighGUI windows and mouse events + @defgroup highgui_opengl OpenGL support + @defgroup highgui_qt Qt New Functions + + ![image](pics/qtgui.png) + + This figure explains new functionality implemented with Qt\* GUI. The new GUI provides a statusbar, + a toolbar, and a control panel. The control panel can have trackbars and buttonbars attached to it. + If you cannot see the control panel, press Ctrl+P or right-click any Qt window and select **Display + properties window**. + + - To attach a trackbar, the window name parameter must be NULL. + + - To attach a buttonbar, a button must be created. If the last bar attached to the control panel + is a buttonbar, the new button is added to the right of the last button. If the last bar + attached to the control panel is a trackbar, or the control panel is empty, a new buttonbar is + created. Then, a new button is attached to it. + + See below the example used to generate the figure: + @code + int main(int argc, char *argv[]) + { + + int value = 50; + int value2 = 0; + + + namedWindow("main1",WINDOW_NORMAL); + namedWindow("main2",WINDOW_AUTOSIZE | WINDOW_GUI_NORMAL); + createTrackbar( "track1", "main1", &value, 255, NULL); + + String nameb1 = "button1"; + String nameb2 = "button2"; + + createButton(nameb1,callbackButton,&nameb1,QT_CHECKBOX,1); + createButton(nameb2,callbackButton,NULL,QT_CHECKBOX,0); + createTrackbar( "track2", NULL, &value2, 255, NULL); + createButton("button5",callbackButton1,NULL,QT_RADIOBOX,0); + createButton("button6",callbackButton2,NULL,QT_RADIOBOX,1); + + setMouseCallback( "main2",on_mouse,NULL ); + + Mat img1 = imread("files/flower.jpg"); + VideoCapture video; + video.open("files/hockey.avi"); + + Mat img2,img3; + + while( waitKey(33) != 27 ) + { + img1.convertTo(img2,-1,1,value); + video >> img3; + + imshow("main1",img2); + imshow("main2",img3); + } + + destroyAllWindows(); + + return 0; + } + @endcode + + + @defgroup highgui_winrt WinRT support + + This figure explains new functionality implemented with WinRT GUI. The new GUI provides an Image control, + and a slider panel. Slider panel holds trackbars attached to it. + + Sliders are attached below the image control. Every new slider is added below the previous one. + + See below the example used to generate the figure: + @code + void sample_app::MainPage::ShowWindow() + { + static cv::String windowName("sample"); + cv::winrt_initContainer(this->cvContainer); + cv::namedWindow(windowName); // not required + + cv::Mat image = cv::imread("Assets/sample.jpg"); + cv::Mat converted = cv::Mat(image.rows, image.cols, CV_8UC4); + cv::cvtColor(image, converted, COLOR_BGR2BGRA); + cv::imshow(windowName, converted); // this will create window if it hasn't been created before + + int state = 42; + cv::TrackbarCallback callback = [](int pos, void* userdata) + { + if (pos == 0) { + cv::destroyWindow(windowName); + } + }; + cv::TrackbarCallback callbackTwin = [](int pos, void* userdata) + { + if (pos >= 70) { + cv::destroyAllWindows(); + } + }; + cv::createTrackbar("Sample trackbar", windowName, &state, 100, callback); + cv::createTrackbar("Twin brother", windowName, &state, 100, callbackTwin); + } + @endcode + + @defgroup highgui_c C API +@} +*/ + +///////////////////////// graphical user interface ////////////////////////// +namespace cv +{ + +//! @addtogroup highgui +//! @{ + +//! @addtogroup highgui_window_flags +//! @{ + +//! Flags for cv::namedWindow +enum WindowFlags { + WINDOW_NORMAL = 0x00000000, //!< the user can resize the window (no constraint) / also use to switch a fullscreen window to a normal size. + WINDOW_AUTOSIZE = 0x00000001, //!< the user cannot resize the window, the size is constrainted by the image displayed. + WINDOW_OPENGL = 0x00001000, //!< window with opengl support. + + WINDOW_FULLSCREEN = 1, //!< change the window to fullscreen. + WINDOW_FREERATIO = 0x00000100, //!< the image expends as much as it can (no ratio constraint). + WINDOW_KEEPRATIO = 0x00000000, //!< the ratio of the image is respected. + WINDOW_GUI_EXPANDED=0x00000000, //!< status bar and tool bar + WINDOW_GUI_NORMAL = 0x00000010, //!< old fashious way + }; + +//! Flags for cv::setWindowProperty / cv::getWindowProperty +enum WindowPropertyFlags { + WND_PROP_FULLSCREEN = 0, //!< fullscreen property (can be WINDOW_NORMAL or WINDOW_FULLSCREEN). + WND_PROP_AUTOSIZE = 1, //!< autosize property (can be WINDOW_NORMAL or WINDOW_AUTOSIZE). + WND_PROP_ASPECT_RATIO = 2, //!< window's aspect ration (can be set to WINDOW_FREERATIO or WINDOW_KEEPRATIO). + WND_PROP_OPENGL = 3, //!< opengl support. + WND_PROP_VISIBLE = 4, //!< checks whether the window exists and is visible + WND_PROP_TOPMOST = 5, //!< property to toggle normal window being topmost or not + WND_PROP_VSYNC = 6 //!< enable or disable VSYNC (in OpenGL mode) + }; + +//! Mouse Events see cv::MouseCallback +enum MouseEventTypes { + EVENT_MOUSEMOVE = 0, //!< indicates that the mouse pointer has moved over the window. + EVENT_LBUTTONDOWN = 1, //!< indicates that the left mouse button is pressed. + EVENT_RBUTTONDOWN = 2, //!< indicates that the right mouse button is pressed. + EVENT_MBUTTONDOWN = 3, //!< indicates that the middle mouse button is pressed. + EVENT_LBUTTONUP = 4, //!< indicates that left mouse button is released. + EVENT_RBUTTONUP = 5, //!< indicates that right mouse button is released. + EVENT_MBUTTONUP = 6, //!< indicates that middle mouse button is released. + EVENT_LBUTTONDBLCLK = 7, //!< indicates that left mouse button is double clicked. + EVENT_RBUTTONDBLCLK = 8, //!< indicates that right mouse button is double clicked. + EVENT_MBUTTONDBLCLK = 9, //!< indicates that middle mouse button is double clicked. + EVENT_MOUSEWHEEL = 10,//!< positive and negative values mean forward and backward scrolling, respectively. + EVENT_MOUSEHWHEEL = 11 //!< positive and negative values mean right and left scrolling, respectively. + }; + +//! Mouse Event Flags see cv::MouseCallback +enum MouseEventFlags { + EVENT_FLAG_LBUTTON = 1, //!< indicates that the left mouse button is down. + EVENT_FLAG_RBUTTON = 2, //!< indicates that the right mouse button is down. + EVENT_FLAG_MBUTTON = 4, //!< indicates that the middle mouse button is down. + EVENT_FLAG_CTRLKEY = 8, //!< indicates that CTRL Key is pressed. + EVENT_FLAG_SHIFTKEY = 16,//!< indicates that SHIFT Key is pressed. + EVENT_FLAG_ALTKEY = 32 //!< indicates that ALT Key is pressed. + }; + +//! @} highgui_window_flags + +//! @addtogroup highgui_qt +//! @{ + +//! Qt font weight +enum QtFontWeights { + QT_FONT_LIGHT = 25, //!< Weight of 25 + QT_FONT_NORMAL = 50, //!< Weight of 50 + QT_FONT_DEMIBOLD = 63, //!< Weight of 63 + QT_FONT_BOLD = 75, //!< Weight of 75 + QT_FONT_BLACK = 87 //!< Weight of 87 + }; + +//! Qt font style +enum QtFontStyles { + QT_STYLE_NORMAL = 0, //!< Normal font. + QT_STYLE_ITALIC = 1, //!< Italic font. + QT_STYLE_OBLIQUE = 2 //!< Oblique font. + }; + +//! Qt "button" type +enum QtButtonTypes { + QT_PUSH_BUTTON = 0, //!< Push button. + QT_CHECKBOX = 1, //!< Checkbox button. + QT_RADIOBOX = 2, //!< Radiobox button. + QT_NEW_BUTTONBAR = 1024 //!< Button should create a new buttonbar + }; + +//! @} highgui_qt + +/** @brief Callback function for mouse events. see cv::setMouseCallback +@param event one of the cv::MouseEventTypes constants. +@param x The x-coordinate of the mouse event. +@param y The y-coordinate of the mouse event. +@param flags one of the cv::MouseEventFlags constants. +@param userdata The optional parameter. + */ +typedef void (*MouseCallback)(int event, int x, int y, int flags, void* userdata); + +/** @brief Callback function for Trackbar see cv::createTrackbar +@param pos current position of the specified trackbar. +@param userdata The optional parameter. + */ +typedef void (*TrackbarCallback)(int pos, void* userdata); + +/** @brief Callback function defined to be called every frame. See cv::setOpenGlDrawCallback +@param userdata The optional parameter. + */ +typedef void (*OpenGlDrawCallback)(void* userdata); + +/** @brief Callback function for a button created by cv::createButton +@param state current state of the button. It could be -1 for a push button, 0 or 1 for a check/radio box button. +@param userdata The optional parameter. + */ +typedef void (*ButtonCallback)(int state, void* userdata); + +/** @brief Creates a window. + +The function namedWindow creates a window that can be used as a placeholder for images and +trackbars. Created windows are referred to by their names. + +If a window with the same name already exists, the function does nothing. + +You can call cv::destroyWindow or cv::destroyAllWindows to close the window and de-allocate any associated +memory usage. For a simple program, you do not really have to call these functions because all the +resources and windows of the application are closed automatically by the operating system upon exit. + +@note + +Qt backend supports additional flags: + - **WINDOW_NORMAL or WINDOW_AUTOSIZE:** WINDOW_NORMAL enables you to resize the + window, whereas WINDOW_AUTOSIZE adjusts automatically the window size to fit the + displayed image (see imshow ), and you cannot change the window size manually. + - **WINDOW_FREERATIO or WINDOW_KEEPRATIO:** WINDOW_FREERATIO adjusts the image + with no respect to its ratio, whereas WINDOW_KEEPRATIO keeps the image ratio. + - **WINDOW_GUI_NORMAL or WINDOW_GUI_EXPANDED:** WINDOW_GUI_NORMAL is the old way to draw the window + without statusbar and toolbar, whereas WINDOW_GUI_EXPANDED is a new enhanced GUI. +By default, flags == WINDOW_AUTOSIZE | WINDOW_KEEPRATIO | WINDOW_GUI_EXPANDED + +@param winname Name of the window in the window caption that may be used as a window identifier. +@param flags Flags of the window. The supported flags are: (cv::WindowFlags) + */ +CV_EXPORTS_W void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE); + +/** @brief Destroys the specified window. + +The function destroyWindow destroys the window with the given name. + +@param winname Name of the window to be destroyed. + */ +CV_EXPORTS_W void destroyWindow(const String& winname); + +/** @brief Destroys all of the HighGUI windows. + +The function destroyAllWindows destroys all of the opened HighGUI windows. + */ +CV_EXPORTS_W void destroyAllWindows(); + +CV_EXPORTS_W int startWindowThread(); + +/** @brief Similar to #waitKey, but returns full key code. + +@note + +Key code is implementation specific and depends on used backend: QT/GTK/Win32/etc + +*/ +CV_EXPORTS_W int waitKeyEx(int delay = 0); + +/** @brief Waits for a pressed key. + +The function waitKey waits for a key event infinitely (when \f$\texttt{delay}\leq 0\f$ ) or for delay +milliseconds, when it is positive. Since the OS has a minimum time between switching threads, the +function will not wait exactly delay ms, it will wait at least delay ms, depending on what else is +running on your computer at that time. It returns the code of the pressed key or -1 if no key was +pressed before the specified time had elapsed. To check for a key press but not wait for it, use +#pollKey. + +@note The functions #waitKey and #pollKey are the only methods in HighGUI that can fetch and handle +GUI events, so one of them needs to be called periodically for normal event processing unless +HighGUI is used within an environment that takes care of event processing. + +@note The function only works if there is at least one HighGUI window created and the window is +active. If there are several HighGUI windows, any of them can be active. + +@param delay Delay in milliseconds. 0 is the special value that means "forever". + */ +CV_EXPORTS_W int waitKey(int delay = 0); + +/** @brief Polls for a pressed key. + +The function pollKey polls for a key event without waiting. It returns the code of the pressed key +or -1 if no key was pressed since the last invocation. To wait until a key was pressed, use #waitKey. + +@note The functions #waitKey and #pollKey are the only methods in HighGUI that can fetch and handle +GUI events, so one of them needs to be called periodically for normal event processing unless +HighGUI is used within an environment that takes care of event processing. + +@note The function only works if there is at least one HighGUI window created and the window is +active. If there are several HighGUI windows, any of them can be active. + */ +CV_EXPORTS_W int pollKey(); + +/** @brief Displays an image in the specified window. + +The function imshow displays an image in the specified window. If the window was created with the +cv::WINDOW_AUTOSIZE flag, the image is shown with its original size, however it is still limited by the screen resolution. +Otherwise, the image is scaled to fit the window. The function may scale the image, depending on its depth: + +- If the image is 8-bit unsigned, it is displayed as is. +- If the image is 16-bit unsigned, the pixels are divided by 256. That is, the + value range [0,255\*256] is mapped to [0,255]. +- If the image is 32-bit or 64-bit floating-point, the pixel values are multiplied by 255. That is, the + value range [0,1] is mapped to [0,255]. +- 32-bit integer images are not processed anymore due to ambiguouty of required transform. + Convert to 8-bit unsigned matrix using a custom preprocessing specific to image's context. + +If window was created with OpenGL support, cv::imshow also support ogl::Buffer , ogl::Texture2D and +cuda::GpuMat as input. + +If the window was not created before this function, it is assumed creating a window with cv::WINDOW_AUTOSIZE. + +If you need to show an image that is bigger than the screen resolution, you will need to call namedWindow("", WINDOW_NORMAL) before the imshow. + +@note This function should be followed by a call to cv::waitKey or cv::pollKey to perform GUI +housekeeping tasks that are necessary to actually show the given image and make the window respond +to mouse and keyboard events. Otherwise, it won't display the image and the window might lock up. +For example, **waitKey(0)** will display the window infinitely until any keypress (it is suitable +for image display). **waitKey(25)** will display a frame and wait approximately 25 ms for a key +press (suitable for displaying a video frame-by-frame). To remove the window, use cv::destroyWindow. + +@note + +[__Windows Backend Only__] Pressing Ctrl+C will copy the image to the clipboard. + +[__Windows Backend Only__] Pressing Ctrl+S will show a dialog to save the image. + +@param winname Name of the window. +@param mat Image to be shown. + */ +CV_EXPORTS_W void imshow(const String& winname, InputArray mat); + +/** @brief Resizes the window to the specified size + +@note + +- The specified window size is for the image area. Toolbars are not counted. +- Only windows created without cv::WINDOW_AUTOSIZE flag can be resized. + +@param winname Window name. +@param width The new window width. +@param height The new window height. + */ +CV_EXPORTS_W void resizeWindow(const String& winname, int width, int height); + +/** @overload +@param winname Window name. +@param size The new window size. +*/ +CV_EXPORTS_W void resizeWindow(const String& winname, const cv::Size& size); + +/** @brief Moves the window to the specified position + +@param winname Name of the window. +@param x The new x-coordinate of the window. +@param y The new y-coordinate of the window. + */ +CV_EXPORTS_W void moveWindow(const String& winname, int x, int y); + +/** @brief Changes parameters of a window dynamically. + +The function setWindowProperty enables changing properties of a window. + +@param winname Name of the window. +@param prop_id Window property to edit. The supported operation flags are: (cv::WindowPropertyFlags) +@param prop_value New value of the window property. The supported flags are: (cv::WindowFlags) + */ +CV_EXPORTS_W void setWindowProperty(const String& winname, int prop_id, double prop_value); + +/** @brief Updates window title +@param winname Name of the window. +@param title New title. +*/ +CV_EXPORTS_W void setWindowTitle(const String& winname, const String& title); + +/** @brief Provides parameters of a window. + +The function getWindowProperty returns properties of a window. + +@param winname Name of the window. +@param prop_id Window property to retrieve. The following operation flags are available: (cv::WindowPropertyFlags) + +@sa setWindowProperty + */ +CV_EXPORTS_W double getWindowProperty(const String& winname, int prop_id); + +/** @brief Provides rectangle of image in the window. + +The function getWindowImageRect returns the client screen coordinates, width and height of the image rendering area. + +@param winname Name of the window. + +@sa resizeWindow moveWindow + */ +CV_EXPORTS_W Rect getWindowImageRect(const String& winname); + +/** @example samples/cpp/create_mask.cpp +This program demonstrates using mouse events and how to make and use a mask image (black and white) . +*/ +/** @brief Sets mouse handler for the specified window + +@param winname Name of the window. +@param onMouse Callback function for mouse events. See OpenCV samples on how to specify and use the callback. +@param userdata The optional parameter passed to the callback. + */ +CV_EXPORTS void setMouseCallback(const String& winname, MouseCallback onMouse, void* userdata = 0); + +/** @brief Gets the mouse-wheel motion delta, when handling mouse-wheel events cv::EVENT_MOUSEWHEEL and +cv::EVENT_MOUSEHWHEEL. + +For regular mice with a scroll-wheel, delta will be a multiple of 120. The value 120 corresponds to +a one notch rotation of the wheel or the threshold for action to be taken and one such action should +occur for each delta. Some high-precision mice with higher-resolution freely-rotating wheels may +generate smaller values. + +For cv::EVENT_MOUSEWHEEL positive and negative values mean forward and backward scrolling, +respectively. For cv::EVENT_MOUSEHWHEEL, where available, positive and negative values mean right and +left scrolling, respectively. + +@note + +Mouse-wheel events are currently supported only on Windows and Cocoa + +@param flags The mouse callback flags parameter. + */ +CV_EXPORTS int getMouseWheelDelta(int flags); + +/** @brief Allows users to select a ROI on the given image. + +The function creates a window and allows users to select a ROI using the mouse. +Controls: use `space` or `enter` to finish selection, use key `c` to cancel selection (function will return the zero cv::Rect). + +@param windowName name of the window where selection process will be shown. +@param img image to select a ROI. +@param showCrosshair if true crosshair of selection rectangle will be shown. +@param fromCenter if true center of selection will match initial mouse position. In opposite case a corner of +selection rectangle will correspont to the initial mouse position. +@param printNotice if true a notice to select ROI or cancel selection will be printed in console. +@return selected ROI or empty rect if selection canceled. + +@note The function sets it's own mouse callback for specified window using cv::setMouseCallback(windowName, ...). +After finish of work an empty callback will be set for the used window. + */ +CV_EXPORTS_W Rect selectROI(const String& windowName, InputArray img, bool showCrosshair = true, bool fromCenter = false, bool printNotice = true); + +/** @overload + */ +CV_EXPORTS_W Rect selectROI(InputArray img, bool showCrosshair = true, bool fromCenter = false, bool printNotice = true); + +/** @brief Allows users to select multiple ROIs on the given image. + +The function creates a window and allows users to select multiple ROIs using the mouse. +Controls: use `space` or `enter` to finish current selection and start a new one, +use `esc` to terminate multiple ROI selection process. + +@param windowName name of the window where selection process will be shown. +@param img image to select a ROI. +@param boundingBoxes selected ROIs. +@param showCrosshair if true crosshair of selection rectangle will be shown. +@param fromCenter if true center of selection will match initial mouse position. In opposite case a corner of +selection rectangle will correspont to the initial mouse position. +@param printNotice if true a notice to select ROI or cancel selection will be printed in console. + +@note The function sets it's own mouse callback for specified window using cv::setMouseCallback(windowName, ...). +After finish of work an empty callback will be set for the used window. + */ +CV_EXPORTS_W void selectROIs(const String& windowName, InputArray img, + CV_OUT std::vector& boundingBoxes, bool showCrosshair = true, bool fromCenter = false, bool printNotice = true); + +/** @brief Creates a trackbar and attaches it to the specified window. + +The function createTrackbar creates a trackbar (a slider or range control) with the specified name +and range, assigns a variable value to be a position synchronized with the trackbar and specifies +the callback function onChange to be called on the trackbar position change. The created trackbar is +displayed in the specified window winname. + +@note + +[__Qt Backend Only__] winname can be empty if the trackbar should be attached to the +control panel. + +Clicking the label of each trackbar enables editing the trackbar values manually. + +@param trackbarname Name of the created trackbar. +@param winname Name of the window that will be used as a parent of the created trackbar. +@param value Optional pointer to an integer variable whose value reflects the position of the +slider. Upon creation, the slider position is defined by this variable. +@param count Maximal position of the slider. The minimal position is always 0. +@param onChange Pointer to the function to be called every time the slider changes position. This +function should be prototyped as void Foo(int,void\*); , where the first parameter is the trackbar +position and the second parameter is the user data (see the next parameter). If the callback is +the NULL pointer, no callbacks are called, but only value is updated. +@param userdata User data that is passed as is to the callback. It can be used to handle trackbar +events without using global variables. + */ +CV_EXPORTS int createTrackbar(const String& trackbarname, const String& winname, + int* value, int count, + TrackbarCallback onChange = 0, + void* userdata = 0); + +/** @brief Returns the trackbar position. + +The function returns the current position of the specified trackbar. + +@note + +[__Qt Backend Only__] winname can be empty if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of the trackbar. + */ +CV_EXPORTS_W int getTrackbarPos(const String& trackbarname, const String& winname); + +/** @brief Sets the trackbar position. + +The function sets the position of the specified trackbar in the specified window. + +@note + +[__Qt Backend Only__] winname can be empty if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of trackbar. +@param pos New position. + */ +CV_EXPORTS_W void setTrackbarPos(const String& trackbarname, const String& winname, int pos); + +/** @brief Sets the trackbar maximum position. + +The function sets the maximum position of the specified trackbar in the specified window. + +@note + +[__Qt Backend Only__] winname can be empty if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of trackbar. +@param maxval New maximum position. + */ +CV_EXPORTS_W void setTrackbarMax(const String& trackbarname, const String& winname, int maxval); + +/** @brief Sets the trackbar minimum position. + +The function sets the minimum position of the specified trackbar in the specified window. + +@note + +[__Qt Backend Only__] winname can be empty if the trackbar is attached to the control +panel. + +@param trackbarname Name of the trackbar. +@param winname Name of the window that is the parent of trackbar. +@param minval New minimum position. + */ +CV_EXPORTS_W void setTrackbarMin(const String& trackbarname, const String& winname, int minval); + +//! @addtogroup highgui_opengl OpenGL support +//! @{ + +/** @brief Displays OpenGL 2D texture in the specified window. + +@param winname Name of the window. +@param tex OpenGL 2D texture data. + */ +CV_EXPORTS void imshow(const String& winname, const ogl::Texture2D& tex); + +/** @brief Sets a callback function to be called to draw on top of displayed image. + +The function setOpenGlDrawCallback can be used to draw 3D data on the window. See the example of +callback function below: +@code + void on_opengl(void* param) + { + glLoadIdentity(); + + glTranslated(0.0, 0.0, -1.0); + + glRotatef( 55, 1, 0, 0 ); + glRotatef( 45, 0, 1, 0 ); + glRotatef( 0, 0, 0, 1 ); + + static const int coords[6][4][3] = { + { { +1, -1, -1 }, { -1, -1, -1 }, { -1, +1, -1 }, { +1, +1, -1 } }, + { { +1, +1, -1 }, { -1, +1, -1 }, { -1, +1, +1 }, { +1, +1, +1 } }, + { { +1, -1, +1 }, { +1, -1, -1 }, { +1, +1, -1 }, { +1, +1, +1 } }, + { { -1, -1, -1 }, { -1, -1, +1 }, { -1, +1, +1 }, { -1, +1, -1 } }, + { { +1, -1, +1 }, { -1, -1, +1 }, { -1, -1, -1 }, { +1, -1, -1 } }, + { { -1, -1, +1 }, { +1, -1, +1 }, { +1, +1, +1 }, { -1, +1, +1 } } + }; + + for (int i = 0; i < 6; ++i) { + glColor3ub( i*20, 100+i*10, i*42 ); + glBegin(GL_QUADS); + for (int j = 0; j < 4; ++j) { + glVertex3d(0.2 * coords[i][j][0], 0.2 * coords[i][j][1], 0.2 * coords[i][j][2]); + } + glEnd(); + } + } +@endcode + +@param winname Name of the window. +@param onOpenGlDraw Pointer to the function to be called every frame. This function should be +prototyped as void Foo(void\*) . +@param userdata Pointer passed to the callback function.(__Optional__) + */ +CV_EXPORTS void setOpenGlDrawCallback(const String& winname, OpenGlDrawCallback onOpenGlDraw, void* userdata = 0); + +/** @brief Sets the specified window as current OpenGL context. + +@param winname Name of the window. + */ +CV_EXPORTS void setOpenGlContext(const String& winname); + +/** @brief Force window to redraw its context and call draw callback ( See cv::setOpenGlDrawCallback ). + +@param winname Name of the window. + */ +CV_EXPORTS void updateWindow(const String& winname); + +//! @} highgui_opengl + +//! @addtogroup highgui_qt +//! @{ + +/** @brief QtFont available only for Qt. See cv::fontQt + */ +struct QtFont +{ + const char* nameFont; //!< Name of the font + Scalar color; //!< Color of the font. Scalar(blue_component, green_component, red_component[, alpha_component]) + int font_face; //!< See cv::QtFontStyles + const int* ascii; //!< font data and metrics + const int* greek; + const int* cyrillic; + float hscale, vscale; + float shear; //!< slope coefficient: 0 - normal, >0 - italic + int thickness; //!< See cv::QtFontWeights + float dx; //!< horizontal interval between letters + int line_type; //!< PointSize +}; + +/** @brief Creates the font to draw a text on an image. + +The function fontQt creates a cv::QtFont object. This cv::QtFont is not compatible with putText . + +A basic usage of this function is the following: : +@code + QtFont font = fontQt("Times"); + addText( img1, "Hello World !", Point(50,50), font); +@endcode + +@param nameFont Name of the font. The name should match the name of a system font (such as +*Times*). If the font is not found, a default one is used. +@param pointSize Size of the font. If not specified, equal zero or negative, the point size of the +font is set to a system-dependent default value. Generally, this is 12 points. +@param color Color of the font in BGRA where A = 255 is fully transparent. Use the macro CV_RGB +for simplicity. +@param weight Font weight. Available operation flags are : cv::QtFontWeights You can also specify a positive integer for better control. +@param style Font style. Available operation flags are : cv::QtFontStyles +@param spacing Spacing between characters. It can be negative or positive. + */ +CV_EXPORTS QtFont fontQt(const String& nameFont, int pointSize = -1, + Scalar color = Scalar::all(0), int weight = QT_FONT_NORMAL, + int style = QT_STYLE_NORMAL, int spacing = 0); + +/** @brief Draws a text on the image. + +The function addText draws *text* on the image *img* using a specific font *font* (see example cv::fontQt +) + +@param img 8-bit 3-channel image where the text should be drawn. +@param text Text to write on an image. +@param org Point(x,y) where the text should start on an image. +@param font Font to use to draw a text. + */ +CV_EXPORTS void addText( const Mat& img, const String& text, Point org, const QtFont& font); + +/** @brief Draws a text on the image. + +@param img 8-bit 3-channel image where the text should be drawn. +@param text Text to write on an image. +@param org Point(x,y) where the text should start on an image. +@param nameFont Name of the font. The name should match the name of a system font (such as +*Times*). If the font is not found, a default one is used. +@param pointSize Size of the font. If not specified, equal zero or negative, the point size of the +font is set to a system-dependent default value. Generally, this is 12 points. +@param color Color of the font in BGRA where A = 255 is fully transparent. +@param weight Font weight. Available operation flags are : cv::QtFontWeights You can also specify a positive integer for better control. +@param style Font style. Available operation flags are : cv::QtFontStyles +@param spacing Spacing between characters. It can be negative or positive. + */ +CV_EXPORTS_W void addText(const Mat& img, const String& text, Point org, const String& nameFont, int pointSize = -1, Scalar color = Scalar::all(0), + int weight = QT_FONT_NORMAL, int style = QT_STYLE_NORMAL, int spacing = 0); + +/** @brief Displays a text on a window image as an overlay for a specified duration. + +The function displayOverlay displays useful information/tips on top of the window for a certain +amount of time *delayms*. The function does not modify the image, displayed in the window, that is, +after the specified delay the original content of the window is restored. + +@param winname Name of the window. +@param text Overlay text to write on a window image. +@param delayms The period (in milliseconds), during which the overlay text is displayed. If this +function is called before the previous overlay text timed out, the timer is restarted and the text +is updated. If this value is zero, the text never disappears. + */ +CV_EXPORTS_W void displayOverlay(const String& winname, const String& text, int delayms = 0); + +/** @brief Displays a text on the window statusbar during the specified period of time. + +The function displayStatusBar displays useful information/tips on top of the window for a certain +amount of time *delayms* . This information is displayed on the window statusbar (the window must be +created with the CV_GUI_EXPANDED flags). + +@param winname Name of the window. +@param text Text to write on the window statusbar. +@param delayms Duration (in milliseconds) to display the text. If this function is called before +the previous text timed out, the timer is restarted and the text is updated. If this value is +zero, the text never disappears. + */ +CV_EXPORTS_W void displayStatusBar(const String& winname, const String& text, int delayms = 0); + +/** @brief Saves parameters of the specified window. + +The function saveWindowParameters saves size, location, flags, trackbars value, zoom and panning +location of the window windowName. + +@param windowName Name of the window. + */ +CV_EXPORTS void saveWindowParameters(const String& windowName); + +/** @brief Loads parameters of the specified window. + +The function loadWindowParameters loads size, location, flags, trackbars value, zoom and panning +location of the window windowName. + +@param windowName Name of the window. + */ +CV_EXPORTS void loadWindowParameters(const String& windowName); + +CV_EXPORTS int startLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]); + +CV_EXPORTS void stopLoop(); + +/** @brief Attaches a button to the control panel. + +The function createButton attaches a button to the control panel. Each button is added to a +buttonbar to the right of the last button. A new buttonbar is created if nothing was attached to the +control panel before, or if the last element attached to the control panel was a trackbar or if the +QT_NEW_BUTTONBAR flag is added to the type. + +See below various examples of the cv::createButton function call: : +@code + createButton("",callbackButton);//create a push button "button 0", that will call callbackButton. + createButton("button2",callbackButton,NULL,QT_CHECKBOX,0); + createButton("button3",callbackButton,&value); + createButton("button5",callbackButton1,NULL,QT_RADIOBOX); + createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON,1); + createButton("button6",callbackButton2,NULL,QT_PUSH_BUTTON|QT_NEW_BUTTONBAR);// create a push button in a new row +@endcode + +@param bar_name Name of the button. +@param on_change Pointer to the function to be called every time the button changes its state. +This function should be prototyped as void Foo(int state,\*void); . *state* is the current state +of the button. It could be -1 for a push button, 0 or 1 for a check/radio box button. +@param userdata Pointer passed to the callback function. +@param type Optional type of the button. Available types are: (cv::QtButtonTypes) +@param initial_button_state Default state of the button. Use for checkbox and radiobox. Its +value could be 0 or 1. (__Optional__) +*/ +CV_EXPORTS int createButton( const String& bar_name, ButtonCallback on_change, + void* userdata = 0, int type = QT_PUSH_BUTTON, + bool initial_button_state = false); + +//! @} highgui_qt + +//! @} highgui + +} // cv + +#endif diff --git a/camera_lib/include/opencv2/highgui/highgui.hpp b/camera_lib/include/opencv2/highgui/highgui.hpp new file mode 100644 index 0000000..160c9cf --- /dev/null +++ b/camera_lib/include/opencv2/highgui/highgui.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/highgui.hpp" diff --git a/camera_lib/include/opencv2/highgui/highgui_c.h b/camera_lib/include/opencv2/highgui/highgui_c.h new file mode 100644 index 0000000..e508e14 --- /dev/null +++ b/camera_lib/include/opencv2/highgui/highgui_c.h @@ -0,0 +1,251 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_HIGHGUI_H +#define OPENCV_HIGHGUI_H + +#include "opencv2/core/core_c.h" +#include "opencv2/imgproc/imgproc_c.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** @addtogroup highgui_c + @{ + */ + +/****************************************************************************************\ +* Basic GUI functions * +\****************************************************************************************/ +//YV +//-----------New for Qt +/* For font */ +enum { CV_FONT_LIGHT = 25,//QFont::Light, + CV_FONT_NORMAL = 50,//QFont::Normal, + CV_FONT_DEMIBOLD = 63,//QFont::DemiBold, + CV_FONT_BOLD = 75,//QFont::Bold, + CV_FONT_BLACK = 87 //QFont::Black +}; + +enum { CV_STYLE_NORMAL = 0,//QFont::StyleNormal, + CV_STYLE_ITALIC = 1,//QFont::StyleItalic, + CV_STYLE_OBLIQUE = 2 //QFont::StyleOblique +}; +/* ---------*/ + +//for color cvScalar(blue_component, green_component, red_component[, alpha_component]) +//and alpha= 0 <-> 0xFF (not transparent <-> transparent) +CVAPI(CvFont) cvFontQt(const char* nameFont, int pointSize CV_DEFAULT(-1), CvScalar color CV_DEFAULT(cvScalarAll(0)), int weight CV_DEFAULT(CV_FONT_NORMAL), int style CV_DEFAULT(CV_STYLE_NORMAL), int spacing CV_DEFAULT(0)); + +CVAPI(void) cvAddText(const CvArr* img, const char* text, CvPoint org, CvFont *arg2); + +CVAPI(void) cvDisplayOverlay(const char* name, const char* text, int delayms CV_DEFAULT(0)); +CVAPI(void) cvDisplayStatusBar(const char* name, const char* text, int delayms CV_DEFAULT(0)); + +CVAPI(void) cvSaveWindowParameters(const char* name); +CVAPI(void) cvLoadWindowParameters(const char* name); +CVAPI(int) cvStartLoop(int (*pt2Func)(int argc, char *argv[]), int argc, char* argv[]); +CVAPI(void) cvStopLoop( void ); + +typedef void (CV_CDECL *CvButtonCallback)(int state, void* userdata); +enum {CV_PUSH_BUTTON = 0, CV_CHECKBOX = 1, CV_RADIOBOX = 2}; +CVAPI(int) cvCreateButton( const char* button_name CV_DEFAULT(NULL),CvButtonCallback on_change CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL) , int button_type CV_DEFAULT(CV_PUSH_BUTTON), int initial_button_state CV_DEFAULT(0)); +//---------------------- + + +/* this function is used to set some external parameters in case of X Window */ +CVAPI(int) cvInitSystem( int argc, char** argv ); + +CVAPI(int) cvStartWindowThread( void ); + +// --------- YV --------- +enum +{ + //These 3 flags are used by cvSet/GetWindowProperty + CV_WND_PROP_FULLSCREEN = 0, //to change/get window's fullscreen property + CV_WND_PROP_AUTOSIZE = 1, //to change/get window's autosize property + CV_WND_PROP_ASPECTRATIO= 2, //to change/get window's aspectratio property + CV_WND_PROP_OPENGL = 3, //to change/get window's opengl support + CV_WND_PROP_VISIBLE = 4, + + //These 2 flags are used by cvNamedWindow and cvSet/GetWindowProperty + CV_WINDOW_NORMAL = 0x00000000, //the user can resize the window (no constraint) / also use to switch a fullscreen window to a normal size + CV_WINDOW_AUTOSIZE = 0x00000001, //the user cannot resize the window, the size is constrainted by the image displayed + CV_WINDOW_OPENGL = 0x00001000, //window with opengl support + + //Those flags are only for Qt + CV_GUI_EXPANDED = 0x00000000, //status bar and tool bar + CV_GUI_NORMAL = 0x00000010, //old fashious way + + //These 3 flags are used by cvNamedWindow and cvSet/GetWindowProperty + CV_WINDOW_FULLSCREEN = 1,//change the window to fullscreen + CV_WINDOW_FREERATIO = 0x00000100,//the image expends as much as it can (no ratio constraint) + CV_WINDOW_KEEPRATIO = 0x00000000//the ration image is respected. +}; + +/* create window */ +CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOSIZE) ); + +/* Set and Get Property of the window */ +CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value); +CVAPI(double) cvGetWindowProperty(const char* name, int prop_id); + +/* display image within window (highgui windows remember their content) */ +CVAPI(void) cvShowImage( const char* name, const CvArr* image ); + +/* resize/move window */ +CVAPI(void) cvResizeWindow( const char* name, int width, int height ); +CVAPI(void) cvMoveWindow( const char* name, int x, int y ); + + +/* destroy window and all the trackers associated with it */ +CVAPI(void) cvDestroyWindow( const char* name ); + +CVAPI(void) cvDestroyAllWindows(void); + +/* get native window handle (HWND in case of Win32 and Widget in case of X Window) */ +CVAPI(void*) cvGetWindowHandle( const char* name ); + +/* get name of highgui window given its native handle */ +CVAPI(const char*) cvGetWindowName( void* window_handle ); + + +typedef void (CV_CDECL *CvTrackbarCallback)(int pos); + +/* create trackbar and display it on top of given window, set callback */ +CVAPI(int) cvCreateTrackbar( const char* trackbar_name, const char* window_name, + int* value, int count, CvTrackbarCallback on_change CV_DEFAULT(NULL)); + +typedef void (CV_CDECL *CvTrackbarCallback2)(int pos, void* userdata); + +CVAPI(int) cvCreateTrackbar2( const char* trackbar_name, const char* window_name, + int* value, int count, CvTrackbarCallback2 on_change, + void* userdata CV_DEFAULT(0)); + +/* retrieve or set trackbar position */ +CVAPI(int) cvGetTrackbarPos( const char* trackbar_name, const char* window_name ); +CVAPI(void) cvSetTrackbarPos( const char* trackbar_name, const char* window_name, int pos ); +CVAPI(void) cvSetTrackbarMax(const char* trackbar_name, const char* window_name, int maxval); +CVAPI(void) cvSetTrackbarMin(const char* trackbar_name, const char* window_name, int minval); + +enum +{ + CV_EVENT_MOUSEMOVE =0, + CV_EVENT_LBUTTONDOWN =1, + CV_EVENT_RBUTTONDOWN =2, + CV_EVENT_MBUTTONDOWN =3, + CV_EVENT_LBUTTONUP =4, + CV_EVENT_RBUTTONUP =5, + CV_EVENT_MBUTTONUP =6, + CV_EVENT_LBUTTONDBLCLK =7, + CV_EVENT_RBUTTONDBLCLK =8, + CV_EVENT_MBUTTONDBLCLK =9, + CV_EVENT_MOUSEWHEEL =10, + CV_EVENT_MOUSEHWHEEL =11 +}; + +enum +{ + CV_EVENT_FLAG_LBUTTON =1, + CV_EVENT_FLAG_RBUTTON =2, + CV_EVENT_FLAG_MBUTTON =4, + CV_EVENT_FLAG_CTRLKEY =8, + CV_EVENT_FLAG_SHIFTKEY =16, + CV_EVENT_FLAG_ALTKEY =32 +}; + + +#define CV_GET_WHEEL_DELTA(flags) ((short)((flags >> 16) & 0xffff)) // upper 16 bits + +typedef void (CV_CDECL *CvMouseCallback )(int event, int x, int y, int flags, void* param); + +/* assign callback for mouse events */ +CVAPI(void) cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, + void* param CV_DEFAULT(NULL)); + +/* wait for key event infinitely (delay<=0) or for "delay" milliseconds */ +CVAPI(int) cvWaitKey(int delay CV_DEFAULT(0)); + +// OpenGL support + +typedef void (CV_CDECL *CvOpenGlDrawCallback)(void* userdata); +CVAPI(void) cvSetOpenGlDrawCallback(const char* window_name, CvOpenGlDrawCallback callback, void* userdata CV_DEFAULT(NULL)); + +CVAPI(void) cvSetOpenGlContext(const char* window_name); +CVAPI(void) cvUpdateWindow(const char* window_name); + + +/****************************************************************************************\ + +* Obsolete functions/synonyms * +\****************************************************************************************/ + +#define cvAddSearchPath(path) +#define cvvInitSystem cvInitSystem +#define cvvNamedWindow cvNamedWindow +#define cvvShowImage cvShowImage +#define cvvResizeWindow cvResizeWindow +#define cvvDestroyWindow cvDestroyWindow +#define cvvCreateTrackbar cvCreateTrackbar +#define cvvAddSearchPath cvAddSearchPath +#define cvvWaitKey(name) cvWaitKey(0) +#define cvvWaitKeyEx(name,delay) cvWaitKey(delay) +#define HG_AUTOSIZE CV_WINDOW_AUTOSIZE +#define set_preprocess_func cvSetPreprocessFuncWin32 +#define set_postprocess_func cvSetPostprocessFuncWin32 + +#if defined _WIN32 + +CVAPI(void) cvSetPreprocessFuncWin32_(const void* callback); +CVAPI(void) cvSetPostprocessFuncWin32_(const void* callback); +#define cvSetPreprocessFuncWin32(callback) cvSetPreprocessFuncWin32_((const void*)(callback)) +#define cvSetPostprocessFuncWin32(callback) cvSetPostprocessFuncWin32_((const void*)(callback)) + +#endif + +/** @} highgui_c */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/camera_lib/include/opencv2/highgui/highgui_winrt.hpp b/camera_lib/include/opencv2/highgui/highgui_winrt.hpp new file mode 100644 index 0000000..f4147f3 --- /dev/null +++ b/camera_lib/include/opencv2/highgui/highgui_winrt.hpp @@ -0,0 +1,48 @@ +// highgui (UX) support for Windows Runtime + +// Copyright (c) Microsoft Open Technologies, Inc. +// All rights reserved. +// +// (3 - clause BSD License) +// +// Redistribution and use in source and binary forms, with or without modification, are permitted provided that +// the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the +// following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the +// following disclaimer in the documentation and/or other materials provided with the distribution. +// 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +using namespace Windows::UI::Xaml::Controls; + +namespace cv +{ + +//! @addtogroup highgui_winrt +//! @{ + +/********************************** WinRT Specific API *************************************************/ + +/** @brief Initializes container component that will be used to hold generated window content. + +@param container Container (Panel^) reference that will be used to hold generated window content: controls and image. + +@note + Must be called to assign WinRT container that will hold created windows content. +*/ + CV_EXPORTS void winrt_initContainer(::Windows::UI::Xaml::Controls::Panel^ container); + +//! @} videoio_winrt + +} // cv \ No newline at end of file diff --git a/camera_lib/include/opencv2/imgcodecs.hpp b/camera_lib/include/opencv2/imgcodecs.hpp new file mode 100644 index 0000000..c1bdf72 --- /dev/null +++ b/camera_lib/include/opencv2/imgcodecs.hpp @@ -0,0 +1,419 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGCODECS_HPP +#define OPENCV_IMGCODECS_HPP + +#include "opencv2/core.hpp" + +/** + @defgroup imgcodecs Image file reading and writing + @{ + @defgroup imgcodecs_c C API + @defgroup imgcodecs_flags Flags used for image file reading and writing + @defgroup imgcodecs_ios iOS glue + @defgroup imgcodecs_macosx MacOS(OSX) glue + @} +*/ + +//////////////////////////////// image codec //////////////////////////////// +namespace cv +{ + +//! @addtogroup imgcodecs +//! @{ + +//! @addtogroup imgcodecs_flags +//! @{ + +//! Imread flags +enum ImreadModes { + IMREAD_UNCHANGED = -1, //!< If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). Ignore EXIF orientation. + IMREAD_GRAYSCALE = 0, //!< If set, always convert image to the single channel grayscale image (codec internal conversion). + IMREAD_COLOR = 1, //!< If set, always convert image to the 3 channel BGR color image. + IMREAD_ANYDEPTH = 2, //!< If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit. + IMREAD_ANYCOLOR = 4, //!< If set, the image is read in any possible color format. + IMREAD_LOAD_GDAL = 8, //!< If set, use the gdal driver for loading the image. + IMREAD_REDUCED_GRAYSCALE_2 = 16, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/2. + IMREAD_REDUCED_COLOR_2 = 17, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/2. + IMREAD_REDUCED_GRAYSCALE_4 = 32, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/4. + IMREAD_REDUCED_COLOR_4 = 33, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/4. + IMREAD_REDUCED_GRAYSCALE_8 = 64, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/8. + IMREAD_REDUCED_COLOR_8 = 65, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/8. + IMREAD_IGNORE_ORIENTATION = 128 //!< If set, do not rotate the image according to EXIF's orientation flag. + }; + +//! Imwrite flags +enum ImwriteFlags { + IMWRITE_JPEG_QUALITY = 1, //!< For JPEG, it can be a quality from 0 to 100 (the higher is the better). Default value is 95. + IMWRITE_JPEG_PROGRESSIVE = 2, //!< Enable JPEG features, 0 or 1, default is False. + IMWRITE_JPEG_OPTIMIZE = 3, //!< Enable JPEG features, 0 or 1, default is False. + IMWRITE_JPEG_RST_INTERVAL = 4, //!< JPEG restart interval, 0 - 65535, default is 0 - no restart. + IMWRITE_JPEG_LUMA_QUALITY = 5, //!< Separate luma quality level, 0 - 100, default is -1 - don't use. + IMWRITE_JPEG_CHROMA_QUALITY = 6, //!< Separate chroma quality level, 0 - 100, default is -1 - don't use. + IMWRITE_JPEG_SAMPLING_FACTOR = 7, //!< For JPEG, set sampling factor. See cv::ImwriteJPEGSamplingFactorParams. + IMWRITE_PNG_COMPRESSION = 16, //!< For PNG, it can be the compression level from 0 to 9. A higher value means a smaller size and longer compression time. If specified, strategy is changed to IMWRITE_PNG_STRATEGY_DEFAULT (Z_DEFAULT_STRATEGY). Default value is 1 (best speed setting). + IMWRITE_PNG_STRATEGY = 17, //!< One of cv::ImwritePNGFlags, default is IMWRITE_PNG_STRATEGY_RLE. + IMWRITE_PNG_BILEVEL = 18, //!< Binary level PNG, 0 or 1, default is 0. + IMWRITE_PXM_BINARY = 32, //!< For PPM, PGM, or PBM, it can be a binary format flag, 0 or 1. Default value is 1. + IMWRITE_EXR_TYPE = (3 << 4) + 0, /* 48 */ //!< override EXR storage type (FLOAT (FP32) is default) + IMWRITE_EXR_COMPRESSION = (3 << 4) + 1, /* 49 */ //!< override EXR compression type (ZIP_COMPRESSION = 3 is default) + IMWRITE_EXR_DWA_COMPRESSION_LEVEL = (3 << 4) + 2, /* 50 */ //!< override EXR DWA compression level (45 is default) + IMWRITE_WEBP_QUALITY = 64, //!< For WEBP, it can be a quality from 1 to 100 (the higher is the better). By default (without any parameter) and for quality above 100 the lossless compression is used. + IMWRITE_HDR_COMPRESSION = (5 << 4) + 0, /* 80 */ //!< specify HDR compression + IMWRITE_PAM_TUPLETYPE = 128,//!< For PAM, sets the TUPLETYPE field to the corresponding string value that is defined for the format + IMWRITE_TIFF_RESUNIT = 256,//!< For TIFF, use to specify which DPI resolution unit to set; see libtiff documentation for valid values + IMWRITE_TIFF_XDPI = 257,//!< For TIFF, use to specify the X direction DPI + IMWRITE_TIFF_YDPI = 258,//!< For TIFF, use to specify the Y direction DPI + IMWRITE_TIFF_COMPRESSION = 259,//!< For TIFF, use to specify the image compression scheme. See libtiff for integer constants corresponding to compression formats. Note, for images whose depth is CV_32F, only libtiff's SGILOG compression scheme is used. For other supported depths, the compression scheme can be specified by this flag; LZW compression is the default. + IMWRITE_JPEG2000_COMPRESSION_X1000 = 272,//!< For JPEG2000, use to specify the target compression rate (multiplied by 1000). The value can be from 0 to 1000. Default is 1000. + IMWRITE_AVIF_QUALITY = 512,//!< For AVIF, it can be a quality between 0 and 100 (the higher the better). Default is 95. + IMWRITE_AVIF_DEPTH = 513,//!< For AVIF, it can be 8, 10 or 12. If >8, it is stored/read as CV_32F. Default is 8. + IMWRITE_AVIF_SPEED = 514 //!< For AVIF, it is between 0 (slowest) and (fastest). Default is 9. + }; + +enum ImwriteJPEGSamplingFactorParams { + IMWRITE_JPEG_SAMPLING_FACTOR_411 = 0x411111, //!< 4x1,1x1,1x1 + IMWRITE_JPEG_SAMPLING_FACTOR_420 = 0x221111, //!< 2x2,1x1,1x1(Default) + IMWRITE_JPEG_SAMPLING_FACTOR_422 = 0x211111, //!< 2x1,1x1,1x1 + IMWRITE_JPEG_SAMPLING_FACTOR_440 = 0x121111, //!< 1x2,1x1,1x1 + IMWRITE_JPEG_SAMPLING_FACTOR_444 = 0x111111 //!< 1x1,1x1,1x1(No subsampling) + }; + + +enum ImwriteEXRTypeFlags { + /*IMWRITE_EXR_TYPE_UNIT = 0, //!< not supported */ + IMWRITE_EXR_TYPE_HALF = 1, //!< store as HALF (FP16) + IMWRITE_EXR_TYPE_FLOAT = 2 //!< store as FP32 (default) + }; + +enum ImwriteEXRCompressionFlags { + IMWRITE_EXR_COMPRESSION_NO = 0, //!< no compression + IMWRITE_EXR_COMPRESSION_RLE = 1, //!< run length encoding + IMWRITE_EXR_COMPRESSION_ZIPS = 2, //!< zlib compression, one scan line at a time + IMWRITE_EXR_COMPRESSION_ZIP = 3, //!< zlib compression, in blocks of 16 scan lines + IMWRITE_EXR_COMPRESSION_PIZ = 4, //!< piz-based wavelet compression + IMWRITE_EXR_COMPRESSION_PXR24 = 5, //!< lossy 24-bit float compression + IMWRITE_EXR_COMPRESSION_B44 = 6, //!< lossy 4-by-4 pixel block compression, fixed compression rate + IMWRITE_EXR_COMPRESSION_B44A = 7, //!< lossy 4-by-4 pixel block compression, flat fields are compressed more + IMWRITE_EXR_COMPRESSION_DWAA = 8, //!< lossy DCT based compression, in blocks of 32 scanlines. More efficient for partial buffer access. Supported since OpenEXR 2.2.0. + IMWRITE_EXR_COMPRESSION_DWAB = 9, //!< lossy DCT based compression, in blocks of 256 scanlines. More efficient space wise and faster to decode full frames than DWAA_COMPRESSION. Supported since OpenEXR 2.2.0. + }; + +//! Imwrite PNG specific flags used to tune the compression algorithm. +/** These flags will be modify the way of PNG image compression and will be passed to the underlying zlib processing stage. + +- The effect of IMWRITE_PNG_STRATEGY_FILTERED is to force more Huffman coding and less string matching; it is somewhat intermediate between IMWRITE_PNG_STRATEGY_DEFAULT and IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY. +- IMWRITE_PNG_STRATEGY_RLE is designed to be almost as fast as IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY, but give better compression for PNG image data. +- The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately. +- IMWRITE_PNG_STRATEGY_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications. +*/ +enum ImwritePNGFlags { + IMWRITE_PNG_STRATEGY_DEFAULT = 0, //!< Use this value for normal data. + IMWRITE_PNG_STRATEGY_FILTERED = 1, //!< Use this value for data produced by a filter (or predictor).Filtered data consists mostly of small values with a somewhat random distribution. In this case, the compression algorithm is tuned to compress them better. + IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2, //!< Use this value to force Huffman encoding only (no string match). + IMWRITE_PNG_STRATEGY_RLE = 3, //!< Use this value to limit match distances to one (run-length encoding). + IMWRITE_PNG_STRATEGY_FIXED = 4 //!< Using this value prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications. + }; + +//! Imwrite PAM specific tupletype flags used to define the 'TUPLETYPE' field of a PAM file. +enum ImwritePAMFlags { + IMWRITE_PAM_FORMAT_NULL = 0, + IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1, + IMWRITE_PAM_FORMAT_GRAYSCALE = 2, + IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3, + IMWRITE_PAM_FORMAT_RGB = 4, + IMWRITE_PAM_FORMAT_RGB_ALPHA = 5 + }; + +//! Imwrite HDR specific values for IMWRITE_HDR_COMPRESSION parameter key +enum ImwriteHDRCompressionFlags { + IMWRITE_HDR_COMPRESSION_NONE = 0, + IMWRITE_HDR_COMPRESSION_RLE = 1 +}; + +//! @} imgcodecs_flags + +/** @brief Loads an image from a file. + +@anchor imread + +The function imread loads an image from the specified file and returns it. If the image cannot be +read (because of missing file, improper permissions, unsupported or invalid format), the function +returns an empty matrix ( Mat::data==NULL ). + +Currently, the following file formats are supported: + +- Windows bitmaps - \*.bmp, \*.dib (always supported) +- JPEG files - \*.jpeg, \*.jpg, \*.jpe (see the *Note* section) +- JPEG 2000 files - \*.jp2 (see the *Note* section) +- Portable Network Graphics - \*.png (see the *Note* section) +- WebP - \*.webp (see the *Note* section) +- AVIF - \*.avif (see the *Note* section) +- Portable image format - \*.pbm, \*.pgm, \*.ppm \*.pxm, \*.pnm (always supported) +- PFM files - \*.pfm (see the *Note* section) +- Sun rasters - \*.sr, \*.ras (always supported) +- TIFF files - \*.tiff, \*.tif (see the *Note* section) +- OpenEXR Image files - \*.exr (see the *Note* section) +- Radiance HDR - \*.hdr, \*.pic (always supported) +- Raster and Vector geospatial data supported by GDAL (see the *Note* section) + +@note +- The function determines the type of an image by the content, not by the file extension. +- In the case of color images, the decoded images will have the channels stored in **B G R** order. +- When using IMREAD_GRAYSCALE, the codec's internal grayscale conversion will be used, if available. + Results may differ to the output of cvtColor() +- On Microsoft Windows\* OS and MacOSX\*, the codecs shipped with an OpenCV image (libjpeg, + libpng, libtiff, and libjasper) are used by default. So, OpenCV can always read JPEGs, PNGs, + and TIFFs. On MacOSX, there is also an option to use native MacOSX image readers. But beware + that currently these native image loaders give images with different pixel values because of + the color management embedded into MacOSX. +- On Linux\*, BSD flavors and other Unix-like open-source operating systems, OpenCV looks for + codecs supplied with an OS image. Install the relevant packages (do not forget the development + files, for example, "libjpeg-dev", in Debian\* and Ubuntu\*) to get the codec support or turn + on the OPENCV_BUILD_3RDPARTY_LIBS flag in CMake. +- In the case you set *WITH_GDAL* flag to true in CMake and @ref IMREAD_LOAD_GDAL to load the image, + then the [GDAL](http://www.gdal.org) driver will be used in order to decode the image, supporting + the following formats: [Raster](http://www.gdal.org/formats_list.html), + [Vector](http://www.gdal.org/ogr_formats.html). +- If EXIF information is embedded in the image file, the EXIF orientation will be taken into account + and thus the image will be rotated accordingly except if the flags @ref IMREAD_IGNORE_ORIENTATION + or @ref IMREAD_UNCHANGED are passed. +- Use the IMREAD_UNCHANGED flag to keep the floating point values from PFM image. +- By default number of pixels must be less than 2^30. Limit can be set using system + variable OPENCV_IO_MAX_IMAGE_PIXELS + +@param filename Name of file to be loaded. +@param flags Flag that can take values of cv::ImreadModes +*/ +CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR ); + +/** @brief Loads a multi-page image from a file. + +The function imreadmulti loads a multi-page image from the specified file into a vector of Mat objects. +@param filename Name of file to be loaded. +@param mats A vector of Mat objects holding each page. +@param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR. +@sa cv::imread +*/ +CV_EXPORTS_W bool imreadmulti(const String& filename, CV_OUT std::vector& mats, int flags = IMREAD_ANYCOLOR); + +/** @brief Loads a of images of a multi-page image from a file. + +The function imreadmulti loads a specified range from a multi-page image from the specified file into a vector of Mat objects. +@param filename Name of file to be loaded. +@param mats A vector of Mat objects holding each page. +@param start Start index of the image to load +@param count Count number of images to load +@param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR. +@sa cv::imread +*/ +CV_EXPORTS_W bool imreadmulti(const String& filename, CV_OUT std::vector& mats, int start, int count, int flags = IMREAD_ANYCOLOR); + +/** @brief Returns the number of images inside the give file + +The function imcount will return the number of pages in a multi-page image, or 1 for single-page images +@param filename Name of file to be loaded. +@param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR. +*/ +CV_EXPORTS_W size_t imcount(const String& filename, int flags = IMREAD_ANYCOLOR); + +/** @brief Saves an image to a specified file. + +The function imwrite saves the image to the specified file. The image format is chosen based on the +filename extension (see cv::imread for the list of extensions). In general, only 8-bit unsigned (CV_8U) +single-channel or 3-channel (with 'BGR' channel order) images +can be saved using this function, with these exceptions: + +- With OpenEXR encoder, only 32-bit float (CV_32F) images can be saved. + - 8-bit unsigned (CV_8U) images are not supported. +- With Radiance HDR encoder, non 64-bit float (CV_64F) images can be saved. + - All images will be converted to 32-bit float (CV_32F). +- With JPEG 2000 encoder, 8-bit unsigned (CV_8U) and 16-bit unsigned (CV_16U) images can be saved. +- With PAM encoder, 8-bit unsigned (CV_8U) and 16-bit unsigned (CV_16U) images can be saved. +- With PNG encoder, 8-bit unsigned (CV_8U) and 16-bit unsigned (CV_16U) images can be saved. + - PNG images with an alpha channel can be saved using this function. To do this, create + 8-bit (or 16-bit) 4-channel image BGRA, where the alpha channel goes last. Fully transparent pixels + should have alpha set to 0, fully opaque pixels should have alpha set to 255/65535 (see the code sample below). +- With PGM/PPM encoder, 8-bit unsigned (CV_8U) and 16-bit unsigned (CV_16U) images can be saved. +- With TIFF encoder, 8-bit unsigned (CV_8U), 16-bit unsigned (CV_16U), + 32-bit float (CV_32F) and 64-bit float (CV_64F) images can be saved. + - Multiple images (vector of Mat) can be saved in TIFF format (see the code sample below). + - 32-bit float 3-channel (CV_32FC3) TIFF images will be saved + using the LogLuv high dynamic range encoding (4 bytes per pixel) + +If the image format is not supported, the image will be converted to 8-bit unsigned (CV_8U) and saved that way. + +If the format, depth or channel order is different, use +Mat::convertTo and cv::cvtColor to convert it before saving. Or, use the universal FileStorage I/O +functions to save the image to XML or YAML format. + +The sample below shows how to create a BGRA image, how to set custom compression parameters and save it to a PNG file. +It also demonstrates how to save multiple images in a TIFF file: +@include snippets/imgcodecs_imwrite.cpp +@param filename Name of the file. +@param img (Mat or vector of Mat) Image or Images to be saved. +@param params Format-specific parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) see cv::ImwriteFlags +*/ +CV_EXPORTS_W bool imwrite( const String& filename, InputArray img, + const std::vector& params = std::vector()); + +/// @overload multi-image overload for bindings +CV_WRAP static inline +bool imwritemulti(const String& filename, InputArrayOfArrays img, + const std::vector& params = std::vector()) +{ + return imwrite(filename, img, params); +} + +/** @brief Reads an image from a buffer in memory. + +The function imdecode reads an image from the specified buffer in the memory. If the buffer is too short or +contains invalid data, the function returns an empty matrix ( Mat::data==NULL ). + +See cv::imread for the list of supported formats and flags description. + +@note In the case of color images, the decoded images will have the channels stored in **B G R** order. +@param buf Input array or vector of bytes. +@param flags The same flags as in cv::imread, see cv::ImreadModes. +*/ +CV_EXPORTS_W Mat imdecode( InputArray buf, int flags ); + +/** @overload +@param buf +@param flags +@param dst The optional output placeholder for the decoded matrix. It can save the image +reallocations when the function is called repeatedly for images of the same size. +*/ +CV_EXPORTS Mat imdecode( InputArray buf, int flags, Mat* dst); + +/** @brief Reads a multi-page image from a buffer in memory. + +The function imdecodemulti reads a multi-page image from the specified buffer in the memory. If the buffer is too short or +contains invalid data, the function returns false. + +See cv::imreadmulti for the list of supported formats and flags description. + +@note In the case of color images, the decoded images will have the channels stored in **B G R** order. +@param buf Input array or vector of bytes. +@param flags The same flags as in cv::imread, see cv::ImreadModes. +@param mats A vector of Mat objects holding each page, if more than one. +*/ +CV_EXPORTS_W bool imdecodemulti(InputArray buf, int flags, CV_OUT std::vector& mats); + +/** @brief Encodes an image into a memory buffer. + +The function imencode compresses the image and stores it in the memory buffer that is resized to fit the +result. See cv::imwrite for the list of supported formats and flags description. + +@param ext File extension that defines the output format. Must include a leading period. +@param img Image to be written. +@param buf Output buffer resized to fit the compressed image. +@param params Format-specific parameters. See cv::imwrite and cv::ImwriteFlags. +*/ +CV_EXPORTS_W bool imencode( const String& ext, InputArray img, + CV_OUT std::vector& buf, + const std::vector& params = std::vector()); + +/** @brief Returns true if the specified image can be decoded by OpenCV + +@param filename File name of the image +*/ +CV_EXPORTS_W bool haveImageReader( const String& filename ); + +/** @brief Returns true if an image with the specified filename can be encoded by OpenCV + + @param filename File name of the image + */ +CV_EXPORTS_W bool haveImageWriter( const String& filename ); + +/** @brief To read Multi Page images on demand + +The ImageCollection class provides iterator API to read multi page images on demand. Create iterator +to the collection of the images and iterate over the collection. Decode the necessary page with operator*. + +The performance of page decoding is O(1) if collection is increment sequentially. If the user wants to access random page, +then the time Complexity is O(n) because the collection has to be reinitialized every time in order to go to the correct page. +However, the intermediate pages are not decoded during the process, so typically it's quite fast. +This is required because multipage codecs does not support going backwards. +After decoding the one page, it is stored inside the collection cache. Hence, trying to get Mat object from already decoded page is O(1). +If you need memory, you can use .releaseCache() method to release cached index. +The space complexity is O(n) if all pages are decoded into memory. The user is able to decode and release images on demand. +*/ +class CV_EXPORTS ImageCollection { +public: + struct CV_EXPORTS iterator { + iterator(ImageCollection* col); + iterator(ImageCollection* col, int end); + Mat& operator*(); + Mat* operator->(); + iterator& operator++(); + iterator operator++(int); + friend bool operator== (const iterator& a, const iterator& b) { return a.m_curr == b.m_curr; } + friend bool operator!= (const iterator& a, const iterator& b) { return a.m_curr != b.m_curr; } + + private: + ImageCollection* m_pCollection; + int m_curr; + }; + + ImageCollection(); + ImageCollection(const String& filename, int flags); + void init(const String& img, int flags); + size_t size() const; + const Mat& at(int index); + const Mat& operator[](int index); + void releaseCache(int index); + iterator begin(); + iterator end(); + + class Impl; + Ptr getImpl(); +protected: + Ptr pImpl; +}; + +//! @} imgcodecs + +} // cv + +#endif //OPENCV_IMGCODECS_HPP diff --git a/camera_lib/include/opencv2/imgcodecs/imgcodecs.hpp b/camera_lib/include/opencv2/imgcodecs/imgcodecs.hpp new file mode 100644 index 0000000..a3cd232 --- /dev/null +++ b/camera_lib/include/opencv2/imgcodecs/imgcodecs.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/imgcodecs.hpp" diff --git a/camera_lib/include/opencv2/imgcodecs/imgcodecs_c.h b/camera_lib/include/opencv2/imgcodecs/imgcodecs_c.h new file mode 100644 index 0000000..c78b3f7 --- /dev/null +++ b/camera_lib/include/opencv2/imgcodecs/imgcodecs_c.h @@ -0,0 +1 @@ +#error "This header with legacy C API declarations has been removed from OpenCV. Legacy constants are available from legacy/constants_c.h file." diff --git a/camera_lib/include/opencv2/imgcodecs/ios.h b/camera_lib/include/opencv2/imgcodecs/ios.h new file mode 100644 index 0000000..5f17218 --- /dev/null +++ b/camera_lib/include/opencv2/imgcodecs/ios.h @@ -0,0 +1,59 @@ + +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#import +#import +#import +#import +#include "opencv2/core.hpp" + +//! @addtogroup imgcodecs_ios +//! @{ + +CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED; +CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist = false); +CV_EXPORTS UIImage* MatToUIImage(const cv::Mat& image); +CV_EXPORTS void UIImageToMat(const UIImage* image, + cv::Mat& m, bool alphaExist = false); + +//! @} diff --git a/camera_lib/include/opencv2/imgcodecs/macosx.h b/camera_lib/include/opencv2/imgcodecs/macosx.h new file mode 100644 index 0000000..cfb0770 --- /dev/null +++ b/camera_lib/include/opencv2/imgcodecs/macosx.h @@ -0,0 +1,20 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#if !defined(__APPLE__) || !defined(__MACH__) +#error This header should be used in macOS ObjC/Swift projects. +#endif + +#import +#include "opencv2/core.hpp" + +//! @addtogroup imgcodecs_macosx +//! @{ + +CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED; +CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist = false); +CV_EXPORTS NSImage* MatToNSImage(const cv::Mat& image); +CV_EXPORTS void NSImageToMat(const NSImage* image, cv::Mat& m, bool alphaExist = false); + +//! @} diff --git a/camera_lib/include/opencv2/imgproc.hpp b/camera_lib/include/opencv2/imgproc.hpp new file mode 100644 index 0000000..13ce0fc --- /dev/null +++ b/camera_lib/include/opencv2/imgproc.hpp @@ -0,0 +1,5035 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_HPP +#define OPENCV_IMGPROC_HPP + +#include "opencv2/core.hpp" + +/** + @defgroup imgproc Image Processing + +This module includes image-processing functions. + + @{ + @defgroup imgproc_filter Image Filtering + +Functions and classes described in this section are used to perform various linear or non-linear +filtering operations on 2D images (represented as Mat's). It means that for each pixel location +\f$(x,y)\f$ in the source image (normally, rectangular), its neighborhood is considered and used to +compute the response. In case of a linear filter, it is a weighted sum of pixel values. In case of +morphological operations, it is the minimum or maximum values, and so on. The computed response is +stored in the destination image at the same location \f$(x,y)\f$. It means that the output image +will be of the same size as the input image. Normally, the functions support multi-channel arrays, +in which case every channel is processed independently. Therefore, the output image will also have +the same number of channels as the input one. + +Another common feature of the functions and classes described in this section is that, unlike +simple arithmetic functions, they need to extrapolate values of some non-existing pixels. For +example, if you want to smooth an image using a Gaussian \f$3 \times 3\f$ filter, then, when +processing the left-most pixels in each row, you need pixels to the left of them, that is, outside +of the image. You can let these pixels be the same as the left-most image pixels ("replicated +border" extrapolation method), or assume that all the non-existing pixels are zeros ("constant +border" extrapolation method), and so on. OpenCV enables you to specify the extrapolation method. +For details, see #BorderTypes + +@anchor filter_depths +### Depth combinations +Input depth (src.depth()) | Output depth (ddepth) +--------------------------|---------------------- +CV_8U | -1/CV_16S/CV_32F/CV_64F +CV_16U/CV_16S | -1/CV_32F/CV_64F +CV_32F | -1/CV_32F +CV_64F | -1/CV_64F + +@note when ddepth=-1, the output image will have the same depth as the source. + +@note if you need double floating-point accuracy and using single floating-point input data +(CV_32F input and CV_64F output depth combination), you can use @ref Mat.convertTo to convert +the input data to the desired precision. + + @defgroup imgproc_transform Geometric Image Transformations + +The functions in this section perform various geometrical transformations of 2D images. They do not +change the image content but deform the pixel grid and map this deformed grid to the destination +image. In fact, to avoid sampling artifacts, the mapping is done in the reverse order, from +destination to the source. That is, for each pixel \f$(x, y)\f$ of the destination image, the +functions compute coordinates of the corresponding "donor" pixel in the source image and copy the +pixel value: + +\f[\texttt{dst} (x,y)= \texttt{src} (f_x(x,y), f_y(x,y))\f] + +In case when you specify the forward mapping \f$\left: \texttt{src} \rightarrow +\texttt{dst}\f$, the OpenCV functions first compute the corresponding inverse mapping +\f$\left: \texttt{dst} \rightarrow \texttt{src}\f$ and then use the above formula. + +The actual implementations of the geometrical transformations, from the most generic remap and to +the simplest and the fastest resize, need to solve two main problems with the above formula: + +- Extrapolation of non-existing pixels. Similarly to the filtering functions described in the +previous section, for some \f$(x,y)\f$, either one of \f$f_x(x,y)\f$, or \f$f_y(x,y)\f$, or both +of them may fall outside of the image. In this case, an extrapolation method needs to be used. +OpenCV provides the same selection of extrapolation methods as in the filtering functions. In +addition, it provides the method #BORDER_TRANSPARENT. This means that the corresponding pixels in +the destination image will not be modified at all. + +- Interpolation of pixel values. Usually \f$f_x(x,y)\f$ and \f$f_y(x,y)\f$ are floating-point +numbers. This means that \f$\left\f$ can be either an affine or perspective +transformation, or radial lens distortion correction, and so on. So, a pixel value at fractional +coordinates needs to be retrieved. In the simplest case, the coordinates can be just rounded to the +nearest integer coordinates and the corresponding pixel can be used. This is called a +nearest-neighbor interpolation. However, a better result can be achieved by using more +sophisticated [interpolation methods](http://en.wikipedia.org/wiki/Multivariate_interpolation) , +where a polynomial function is fit into some neighborhood of the computed pixel \f$(f_x(x,y), +f_y(x,y))\f$, and then the value of the polynomial at \f$(f_x(x,y), f_y(x,y))\f$ is taken as the +interpolated pixel value. In OpenCV, you can choose between several interpolation methods. See +#resize for details. + +@note The geometrical transformations do not work with `CV_8S` or `CV_32S` images. + + @defgroup imgproc_misc Miscellaneous Image Transformations + @defgroup imgproc_draw Drawing Functions + +Drawing functions work with matrices/images of arbitrary depth. The boundaries of the shapes can be +rendered with antialiasing (implemented only for 8-bit images for now). All the functions include +the parameter color that uses an RGB value (that may be constructed with the Scalar constructor ) +for color images and brightness for grayscale images. For color images, the channel ordering is +normally *Blue, Green, Red*. This is what imshow, imread, and imwrite expect. So, if you form a +color using the Scalar constructor, it should look like: + +\f[\texttt{Scalar} (blue \_ component, green \_ component, red \_ component[, alpha \_ component])\f] + +If you are using your own image rendering and I/O functions, you can use any channel ordering. The +drawing functions process each channel independently and do not depend on the channel order or even +on the used color space. The whole image can be converted from BGR to RGB or to a different color +space using cvtColor . + +If a drawn figure is partially or completely outside the image, the drawing functions clip it. Also, +many drawing functions can handle pixel coordinates specified with sub-pixel accuracy. This means +that the coordinates can be passed as fixed-point numbers encoded as integers. The number of +fractional bits is specified by the shift parameter and the real point coordinates are calculated as +\f$\texttt{Point}(x,y)\rightarrow\texttt{Point2f}(x*2^{-shift},y*2^{-shift})\f$ . This feature is +especially effective when rendering antialiased shapes. + +@note The functions do not support alpha-transparency when the target image is 4-channel. In this +case, the color[3] is simply copied to the repainted pixels. Thus, if you want to paint +semi-transparent shapes, you can paint them in a separate buffer and then blend it with the main +image. + + @defgroup imgproc_color_conversions Color Space Conversions + @defgroup imgproc_colormap ColorMaps in OpenCV + +The human perception isn't built for observing fine changes in grayscale images. Human eyes are more +sensitive to observing changes between colors, so you often need to recolor your grayscale images to +get a clue about them. OpenCV now comes with various colormaps to enhance the visualization in your +computer vision application. + +In OpenCV you only need applyColorMap to apply a colormap on a given image. The following sample +code reads the path to an image from command line, applies a Jet colormap on it and shows the +result: + +@include snippets/imgproc_applyColorMap.cpp + +@see #ColormapTypes + + @defgroup imgproc_subdiv2d Planar Subdivision + +The Subdiv2D class described in this section is used to perform various planar subdivision on +a set of 2D points (represented as vector of Point2f). OpenCV subdivides a plane into triangles +using the Delaunay's algorithm, which corresponds to the dual graph of the Voronoi diagram. +In the figure below, the Delaunay's triangulation is marked with black lines and the Voronoi +diagram with red lines. + +![Delaunay triangulation (black) and Voronoi (red)](pics/delaunay_voronoi.png) + +The subdivisions can be used for the 3D piece-wise transformation of a plane, morphing, fast +location of points on the plane, building special graphs (such as NNG,RNG), and so forth. + + @defgroup imgproc_hist Histograms + @defgroup imgproc_shape Structural Analysis and Shape Descriptors + @defgroup imgproc_motion Motion Analysis and Object Tracking + @defgroup imgproc_feature Feature Detection + @defgroup imgproc_object Object Detection + @defgroup imgproc_segmentation Image Segmentation + @defgroup imgproc_c C API + @defgroup imgproc_hal Hardware Acceleration Layer + @{ + @defgroup imgproc_hal_functions Functions + @defgroup imgproc_hal_interface Interface + @} + @} +*/ + +namespace cv +{ + +/** @addtogroup imgproc +@{ +*/ + +//! @addtogroup imgproc_filter +//! @{ + +enum SpecialFilter { + FILTER_SCHARR = -1 +}; + +//! type of morphological operation +enum MorphTypes{ + MORPH_ERODE = 0, //!< see #erode + MORPH_DILATE = 1, //!< see #dilate + MORPH_OPEN = 2, //!< an opening operation + //!< \f[\texttt{dst} = \mathrm{open} ( \texttt{src} , \texttt{element} )= \mathrm{dilate} ( \mathrm{erode} ( \texttt{src} , \texttt{element} ))\f] + MORPH_CLOSE = 3, //!< a closing operation + //!< \f[\texttt{dst} = \mathrm{close} ( \texttt{src} , \texttt{element} )= \mathrm{erode} ( \mathrm{dilate} ( \texttt{src} , \texttt{element} ))\f] + MORPH_GRADIENT = 4, //!< a morphological gradient + //!< \f[\texttt{dst} = \mathrm{morph\_grad} ( \texttt{src} , \texttt{element} )= \mathrm{dilate} ( \texttt{src} , \texttt{element} )- \mathrm{erode} ( \texttt{src} , \texttt{element} )\f] + MORPH_TOPHAT = 5, //!< "top hat" + //!< \f[\texttt{dst} = \mathrm{tophat} ( \texttt{src} , \texttt{element} )= \texttt{src} - \mathrm{open} ( \texttt{src} , \texttt{element} )\f] + MORPH_BLACKHAT = 6, //!< "black hat" + //!< \f[\texttt{dst} = \mathrm{blackhat} ( \texttt{src} , \texttt{element} )= \mathrm{close} ( \texttt{src} , \texttt{element} )- \texttt{src}\f] + MORPH_HITMISS = 7 //!< "hit or miss" + //!< .- Only supported for CV_8UC1 binary images. A tutorial can be found in the documentation +}; + +//! shape of the structuring element +enum MorphShapes { + MORPH_RECT = 0, //!< a rectangular structuring element: \f[E_{ij}=1\f] + MORPH_CROSS = 1, //!< a cross-shaped structuring element: + //!< \f[E_{ij} = \begin{cases} 1 & \texttt{if } {i=\texttt{anchor.y } {or } {j=\texttt{anchor.x}}} \\0 & \texttt{otherwise} \end{cases}\f] + MORPH_ELLIPSE = 2 //!< an elliptic structuring element, that is, a filled ellipse inscribed + //!< into the rectangle Rect(0, 0, esize.width, 0.esize.height) +}; + +//! @} imgproc_filter + +//! @addtogroup imgproc_transform +//! @{ + +//! interpolation algorithm +enum InterpolationFlags{ + /** nearest neighbor interpolation */ + INTER_NEAREST = 0, + /** bilinear interpolation */ + INTER_LINEAR = 1, + /** bicubic interpolation */ + INTER_CUBIC = 2, + /** resampling using pixel area relation. It may be a preferred method for image decimation, as + it gives moire'-free results. But when the image is zoomed, it is similar to the INTER_NEAREST + method. */ + INTER_AREA = 3, + /** Lanczos interpolation over 8x8 neighborhood */ + INTER_LANCZOS4 = 4, + /** Bit exact bilinear interpolation */ + INTER_LINEAR_EXACT = 5, + /** Bit exact nearest neighbor interpolation. This will produce same results as + the nearest neighbor method in PIL, scikit-image or Matlab. */ + INTER_NEAREST_EXACT = 6, + /** mask for interpolation codes */ + INTER_MAX = 7, + /** flag, fills all of the destination image pixels. If some of them correspond to outliers in the + source image, they are set to zero */ + WARP_FILL_OUTLIERS = 8, + /** flag, inverse transformation + + For example, #linearPolar or #logPolar transforms: + - flag is __not__ set: \f$dst( \rho , \phi ) = src(x,y)\f$ + - flag is set: \f$dst(x,y) = src( \rho , \phi )\f$ + */ + WARP_INVERSE_MAP = 16 +}; + +/** \brief Specify the polar mapping mode +@sa warpPolar +*/ +enum WarpPolarMode +{ + WARP_POLAR_LINEAR = 0, ///< Remaps an image to/from polar space. + WARP_POLAR_LOG = 256 ///< Remaps an image to/from semilog-polar space. +}; + +enum InterpolationMasks { + INTER_BITS = 5, + INTER_BITS2 = INTER_BITS * 2, + INTER_TAB_SIZE = 1 << INTER_BITS, + INTER_TAB_SIZE2 = INTER_TAB_SIZE * INTER_TAB_SIZE + }; + +//! @} imgproc_transform + +//! @addtogroup imgproc_misc +//! @{ + +//! Distance types for Distance Transform and M-estimators +//! @see distanceTransform, fitLine +enum DistanceTypes { + DIST_USER = -1, //!< User defined distance + DIST_L1 = 1, //!< distance = |x1-x2| + |y1-y2| + DIST_L2 = 2, //!< the simple euclidean distance + DIST_C = 3, //!< distance = max(|x1-x2|,|y1-y2|) + DIST_L12 = 4, //!< L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) + DIST_FAIR = 5, //!< distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 + DIST_WELSCH = 6, //!< distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 + DIST_HUBER = 7 //!< distance = |x| \texttt{thresh}\)}{0}{otherwise}\f] + THRESH_BINARY_INV = 1, //!< \f[\texttt{dst} (x,y) = \fork{0}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{maxval}}{otherwise}\f] + THRESH_TRUNC = 2, //!< \f[\texttt{dst} (x,y) = \fork{\texttt{threshold}}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{src}(x,y)}{otherwise}\f] + THRESH_TOZERO = 3, //!< \f[\texttt{dst} (x,y) = \fork{\texttt{src}(x,y)}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{0}{otherwise}\f] + THRESH_TOZERO_INV = 4, //!< \f[\texttt{dst} (x,y) = \fork{0}{if \(\texttt{src}(x,y) > \texttt{thresh}\)}{\texttt{src}(x,y)}{otherwise}\f] + THRESH_MASK = 7, + THRESH_OTSU = 8, //!< flag, use Otsu algorithm to choose the optimal threshold value + THRESH_TRIANGLE = 16 //!< flag, use Triangle algorithm to choose the optimal threshold value +}; + +//! adaptive threshold algorithm +//! @see adaptiveThreshold +enum AdaptiveThresholdTypes { + /** the threshold value \f$T(x,y)\f$ is a mean of the \f$\texttt{blockSize} \times + \texttt{blockSize}\f$ neighborhood of \f$(x, y)\f$ minus C */ + ADAPTIVE_THRESH_MEAN_C = 0, + /** the threshold value \f$T(x, y)\f$ is a weighted sum (cross-correlation with a Gaussian + window) of the \f$\texttt{blockSize} \times \texttt{blockSize}\f$ neighborhood of \f$(x, y)\f$ + minus C . The default sigma (standard deviation) is used for the specified blockSize . See + #getGaussianKernel*/ + ADAPTIVE_THRESH_GAUSSIAN_C = 1 +}; + +//! class of the pixel in GrabCut algorithm +enum GrabCutClasses { + GC_BGD = 0, //!< an obvious background pixels + GC_FGD = 1, //!< an obvious foreground (object) pixel + GC_PR_BGD = 2, //!< a possible background pixel + GC_PR_FGD = 3 //!< a possible foreground pixel +}; + +//! GrabCut algorithm flags +enum GrabCutModes { + /** The function initializes the state and the mask using the provided rectangle. After that it + runs iterCount iterations of the algorithm. */ + GC_INIT_WITH_RECT = 0, + /** The function initializes the state using the provided mask. Note that GC_INIT_WITH_RECT + and GC_INIT_WITH_MASK can be combined. Then, all the pixels outside of the ROI are + automatically initialized with GC_BGD .*/ + GC_INIT_WITH_MASK = 1, + /** The value means that the algorithm should just resume. */ + GC_EVAL = 2, + /** The value means that the algorithm should just run the grabCut algorithm (a single iteration) with the fixed model */ + GC_EVAL_FREEZE_MODEL = 3 +}; + +//! distanceTransform algorithm flags +enum DistanceTransformLabelTypes { + /** each connected component of zeros in src (as well as all the non-zero pixels closest to the + connected component) will be assigned the same label */ + DIST_LABEL_CCOMP = 0, + /** each zero pixel (and all the non-zero pixels closest to it) gets its own label. */ + DIST_LABEL_PIXEL = 1 +}; + +//! floodfill algorithm flags +enum FloodFillFlags { + /** If set, the difference between the current pixel and seed pixel is considered. Otherwise, + the difference between neighbor pixels is considered (that is, the range is floating). */ + FLOODFILL_FIXED_RANGE = 1 << 16, + /** If set, the function does not change the image ( newVal is ignored), and only fills the + mask with the value specified in bits 8-16 of flags as described above. This option only make + sense in function variants that have the mask parameter. */ + FLOODFILL_MASK_ONLY = 1 << 17 +}; + +//! @} imgproc_misc + +//! @addtogroup imgproc_shape +//! @{ + +//! connected components statistics +enum ConnectedComponentsTypes { + CC_STAT_LEFT = 0, //!< The leftmost (x) coordinate which is the inclusive start of the bounding + //!< box in the horizontal direction. + CC_STAT_TOP = 1, //!< The topmost (y) coordinate which is the inclusive start of the bounding + //!< box in the vertical direction. + CC_STAT_WIDTH = 2, //!< The horizontal size of the bounding box + CC_STAT_HEIGHT = 3, //!< The vertical size of the bounding box + CC_STAT_AREA = 4, //!< The total area (in pixels) of the connected component +#ifndef CV_DOXYGEN + CC_STAT_MAX = 5 //!< Max enumeration value. Used internally only for memory allocation +#endif +}; + +//! connected components algorithm +enum ConnectedComponentsAlgorithmsTypes { + CCL_DEFAULT = -1, //!< Spaghetti @cite Bolelli2019 algorithm for 8-way connectivity, Spaghetti4C @cite Bolelli2021 algorithm for 4-way connectivity. + CCL_WU = 0, //!< SAUF @cite Wu2009 algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity. The parallel implementation described in @cite Bolelli2017 is available for SAUF. + CCL_GRANA = 1, //!< BBDT @cite Grana2010 algorithm for 8-way connectivity, SAUF algorithm for 4-way connectivity. The parallel implementation described in @cite Bolelli2017 is available for both BBDT and SAUF. + CCL_BOLELLI = 2, //!< Spaghetti @cite Bolelli2019 algorithm for 8-way connectivity, Spaghetti4C @cite Bolelli2021 algorithm for 4-way connectivity. The parallel implementation described in @cite Bolelli2017 is available for both Spaghetti and Spaghetti4C. + CCL_SAUF = 3, //!< Same as CCL_WU. It is preferable to use the flag with the name of the algorithm (CCL_SAUF) rather than the one with the name of the first author (CCL_WU). + CCL_BBDT = 4, //!< Same as CCL_GRANA. It is preferable to use the flag with the name of the algorithm (CCL_BBDT) rather than the one with the name of the first author (CCL_GRANA). + CCL_SPAGHETTI = 5, //!< Same as CCL_BOLELLI. It is preferable to use the flag with the name of the algorithm (CCL_SPAGHETTI) rather than the one with the name of the first author (CCL_BOLELLI). +}; + +//! mode of the contour retrieval algorithm +enum RetrievalModes { + /** retrieves only the extreme outer contours. It sets `hierarchy[i][2]=hierarchy[i][3]=-1` for + all the contours. */ + RETR_EXTERNAL = 0, + /** retrieves all of the contours without establishing any hierarchical relationships. */ + RETR_LIST = 1, + /** retrieves all of the contours and organizes them into a two-level hierarchy. At the top + level, there are external boundaries of the components. At the second level, there are + boundaries of the holes. If there is another contour inside a hole of a connected component, it + is still put at the top level. */ + RETR_CCOMP = 2, + /** retrieves all of the contours and reconstructs a full hierarchy of nested contours.*/ + RETR_TREE = 3, + RETR_FLOODFILL = 4 //!< +}; + +//! the contour approximation algorithm +enum ContourApproximationModes { + /** stores absolutely all the contour points. That is, any 2 subsequent points (x1,y1) and + (x2,y2) of the contour will be either horizontal, vertical or diagonal neighbors, that is, + max(abs(x1-x2),abs(y2-y1))==1. */ + CHAIN_APPROX_NONE = 1, + /** compresses horizontal, vertical, and diagonal segments and leaves only their end points. + For example, an up-right rectangular contour is encoded with 4 points. */ + CHAIN_APPROX_SIMPLE = 2, + /** applies one of the flavors of the Teh-Chin chain approximation algorithm @cite TehChin89 */ + CHAIN_APPROX_TC89_L1 = 3, + /** applies one of the flavors of the Teh-Chin chain approximation algorithm @cite TehChin89 */ + CHAIN_APPROX_TC89_KCOS = 4 +}; + +/** @brief Shape matching methods + +\f$A\f$ denotes object1,\f$B\f$ denotes object2 + +\f$\begin{array}{l} m^A_i = \mathrm{sign} (h^A_i) \cdot \log{h^A_i} \\ m^B_i = \mathrm{sign} (h^B_i) \cdot \log{h^B_i} \end{array}\f$ + +and \f$h^A_i, h^B_i\f$ are the Hu moments of \f$A\f$ and \f$B\f$ , respectively. +*/ +enum ShapeMatchModes { + CONTOURS_MATCH_I1 =1, //!< \f[I_1(A,B) = \sum _{i=1...7} \left | \frac{1}{m^A_i} - \frac{1}{m^B_i} \right |\f] + CONTOURS_MATCH_I2 =2, //!< \f[I_2(A,B) = \sum _{i=1...7} \left | m^A_i - m^B_i \right |\f] + CONTOURS_MATCH_I3 =3 //!< \f[I_3(A,B) = \max _{i=1...7} \frac{ \left| m^A_i - m^B_i \right| }{ \left| m^A_i \right| }\f] +}; + +//! @} imgproc_shape + +//! @addtogroup imgproc_feature +//! @{ + +//! Variants of a Hough transform +enum HoughModes { + + /** classical or standard Hough transform. Every line is represented by two floating-point + numbers \f$(\rho, \theta)\f$ , where \f$\rho\f$ is a distance between (0,0) point and the line, + and \f$\theta\f$ is the angle between x-axis and the normal to the line. Thus, the matrix must + be (the created sequence will be) of CV_32FC2 type */ + HOUGH_STANDARD = 0, + /** probabilistic Hough transform (more efficient in case if the picture contains a few long + linear segments). It returns line segments rather than the whole line. Each segment is + represented by starting and ending points, and the matrix must be (the created sequence will + be) of the CV_32SC4 type. */ + HOUGH_PROBABILISTIC = 1, + /** multi-scale variant of the classical Hough transform. The lines are encoded the same way as + HOUGH_STANDARD. */ + HOUGH_MULTI_SCALE = 2, + HOUGH_GRADIENT = 3, //!< basically *21HT*, described in @cite Yuen90 + HOUGH_GRADIENT_ALT = 4, //!< variation of HOUGH_GRADIENT to get better accuracy +}; + +//! Variants of Line Segment %Detector +enum LineSegmentDetectorModes { + LSD_REFINE_NONE = 0, //!< No refinement applied + LSD_REFINE_STD = 1, //!< Standard refinement is applied. E.g. breaking arches into smaller straighter line approximations. + LSD_REFINE_ADV = 2 //!< Advanced refinement. Number of false alarms is calculated, lines are + //!< refined through increase of precision, decrement in size, etc. +}; + +//! @} imgproc_feature + +/** Histogram comparison methods + @ingroup imgproc_hist +*/ +enum HistCompMethods { + /** Correlation + \f[d(H_1,H_2) = \frac{\sum_I (H_1(I) - \bar{H_1}) (H_2(I) - \bar{H_2})}{\sqrt{\sum_I(H_1(I) - \bar{H_1})^2 \sum_I(H_2(I) - \bar{H_2})^2}}\f] + where + \f[\bar{H_k} = \frac{1}{N} \sum _J H_k(J)\f] + and \f$N\f$ is a total number of histogram bins. */ + HISTCMP_CORREL = 0, + /** Chi-Square + \f[d(H_1,H_2) = \sum _I \frac{\left(H_1(I)-H_2(I)\right)^2}{H_1(I)}\f] */ + HISTCMP_CHISQR = 1, + /** Intersection + \f[d(H_1,H_2) = \sum _I \min (H_1(I), H_2(I))\f] */ + HISTCMP_INTERSECT = 2, + /** Bhattacharyya distance + (In fact, OpenCV computes Hellinger distance, which is related to Bhattacharyya coefficient.) + \f[d(H_1,H_2) = \sqrt{1 - \frac{1}{\sqrt{\bar{H_1} \bar{H_2} N^2}} \sum_I \sqrt{H_1(I) \cdot H_2(I)}}\f] */ + HISTCMP_BHATTACHARYYA = 3, + HISTCMP_HELLINGER = HISTCMP_BHATTACHARYYA, //!< Synonym for HISTCMP_BHATTACHARYYA + /** Alternative Chi-Square + \f[d(H_1,H_2) = 2 * \sum _I \frac{\left(H_1(I)-H_2(I)\right)^2}{H_1(I)+H_2(I)}\f] + This alternative formula is regularly used for texture comparison. See e.g. @cite Puzicha1997 */ + HISTCMP_CHISQR_ALT = 4, + /** Kullback-Leibler divergence + \f[d(H_1,H_2) = \sum _I H_1(I) \log \left(\frac{H_1(I)}{H_2(I)}\right)\f] */ + HISTCMP_KL_DIV = 5 +}; + +/** the color conversion codes +@see @ref imgproc_color_conversions +@ingroup imgproc_color_conversions + */ +enum ColorConversionCodes { + COLOR_BGR2BGRA = 0, //!< add alpha channel to RGB or BGR image + COLOR_RGB2RGBA = COLOR_BGR2BGRA, + + COLOR_BGRA2BGR = 1, //!< remove alpha channel from RGB or BGR image + COLOR_RGBA2RGB = COLOR_BGRA2BGR, + + COLOR_BGR2RGBA = 2, //!< convert between RGB and BGR color spaces (with or without alpha channel) + COLOR_RGB2BGRA = COLOR_BGR2RGBA, + + COLOR_RGBA2BGR = 3, + COLOR_BGRA2RGB = COLOR_RGBA2BGR, + + COLOR_BGR2RGB = 4, + COLOR_RGB2BGR = COLOR_BGR2RGB, + + COLOR_BGRA2RGBA = 5, + COLOR_RGBA2BGRA = COLOR_BGRA2RGBA, + + COLOR_BGR2GRAY = 6, //!< convert between RGB/BGR and grayscale, @ref color_convert_rgb_gray "color conversions" + COLOR_RGB2GRAY = 7, + COLOR_GRAY2BGR = 8, + COLOR_GRAY2RGB = COLOR_GRAY2BGR, + COLOR_GRAY2BGRA = 9, + COLOR_GRAY2RGBA = COLOR_GRAY2BGRA, + COLOR_BGRA2GRAY = 10, + COLOR_RGBA2GRAY = 11, + + COLOR_BGR2BGR565 = 12, //!< convert between RGB/BGR and BGR565 (16-bit images) + COLOR_RGB2BGR565 = 13, + COLOR_BGR5652BGR = 14, + COLOR_BGR5652RGB = 15, + COLOR_BGRA2BGR565 = 16, + COLOR_RGBA2BGR565 = 17, + COLOR_BGR5652BGRA = 18, + COLOR_BGR5652RGBA = 19, + + COLOR_GRAY2BGR565 = 20, //!< convert between grayscale to BGR565 (16-bit images) + COLOR_BGR5652GRAY = 21, + + COLOR_BGR2BGR555 = 22, //!< convert between RGB/BGR and BGR555 (16-bit images) + COLOR_RGB2BGR555 = 23, + COLOR_BGR5552BGR = 24, + COLOR_BGR5552RGB = 25, + COLOR_BGRA2BGR555 = 26, + COLOR_RGBA2BGR555 = 27, + COLOR_BGR5552BGRA = 28, + COLOR_BGR5552RGBA = 29, + + COLOR_GRAY2BGR555 = 30, //!< convert between grayscale and BGR555 (16-bit images) + COLOR_BGR5552GRAY = 31, + + COLOR_BGR2XYZ = 32, //!< convert RGB/BGR to CIE XYZ, @ref color_convert_rgb_xyz "color conversions" + COLOR_RGB2XYZ = 33, + COLOR_XYZ2BGR = 34, + COLOR_XYZ2RGB = 35, + + COLOR_BGR2YCrCb = 36, //!< convert RGB/BGR to luma-chroma (aka YCC), @ref color_convert_rgb_ycrcb "color conversions" + COLOR_RGB2YCrCb = 37, + COLOR_YCrCb2BGR = 38, + COLOR_YCrCb2RGB = 39, + + COLOR_BGR2HSV = 40, //!< convert RGB/BGR to HSV (hue saturation value) with H range 0..180 if 8 bit image, @ref color_convert_rgb_hsv "color conversions" + COLOR_RGB2HSV = 41, + + COLOR_BGR2Lab = 44, //!< convert RGB/BGR to CIE Lab, @ref color_convert_rgb_lab "color conversions" + COLOR_RGB2Lab = 45, + + COLOR_BGR2Luv = 50, //!< convert RGB/BGR to CIE Luv, @ref color_convert_rgb_luv "color conversions" + COLOR_RGB2Luv = 51, + COLOR_BGR2HLS = 52, //!< convert RGB/BGR to HLS (hue lightness saturation) with H range 0..180 if 8 bit image, @ref color_convert_rgb_hls "color conversions" + COLOR_RGB2HLS = 53, + + COLOR_HSV2BGR = 54, //!< backward conversions HSV to RGB/BGR with H range 0..180 if 8 bit image + COLOR_HSV2RGB = 55, + + COLOR_Lab2BGR = 56, + COLOR_Lab2RGB = 57, + COLOR_Luv2BGR = 58, + COLOR_Luv2RGB = 59, + COLOR_HLS2BGR = 60, //!< backward conversions HLS to RGB/BGR with H range 0..180 if 8 bit image + COLOR_HLS2RGB = 61, + + COLOR_BGR2HSV_FULL = 66, //!< convert RGB/BGR to HSV (hue saturation value) with H range 0..255 if 8 bit image, @ref color_convert_rgb_hsv "color conversions" + COLOR_RGB2HSV_FULL = 67, + COLOR_BGR2HLS_FULL = 68, //!< convert RGB/BGR to HLS (hue lightness saturation) with H range 0..255 if 8 bit image, @ref color_convert_rgb_hls "color conversions" + COLOR_RGB2HLS_FULL = 69, + + COLOR_HSV2BGR_FULL = 70, //!< backward conversions HSV to RGB/BGR with H range 0..255 if 8 bit image + COLOR_HSV2RGB_FULL = 71, + COLOR_HLS2BGR_FULL = 72, //!< backward conversions HLS to RGB/BGR with H range 0..255 if 8 bit image + COLOR_HLS2RGB_FULL = 73, + + COLOR_LBGR2Lab = 74, + COLOR_LRGB2Lab = 75, + COLOR_LBGR2Luv = 76, + COLOR_LRGB2Luv = 77, + + COLOR_Lab2LBGR = 78, + COLOR_Lab2LRGB = 79, + COLOR_Luv2LBGR = 80, + COLOR_Luv2LRGB = 81, + + COLOR_BGR2YUV = 82, //!< convert between RGB/BGR and YUV + COLOR_RGB2YUV = 83, + COLOR_YUV2BGR = 84, + COLOR_YUV2RGB = 85, + + //! YUV 4:2:0 family to RGB + COLOR_YUV2RGB_NV12 = 90, + COLOR_YUV2BGR_NV12 = 91, + COLOR_YUV2RGB_NV21 = 92, + COLOR_YUV2BGR_NV21 = 93, + COLOR_YUV420sp2RGB = COLOR_YUV2RGB_NV21, + COLOR_YUV420sp2BGR = COLOR_YUV2BGR_NV21, + + COLOR_YUV2RGBA_NV12 = 94, + COLOR_YUV2BGRA_NV12 = 95, + COLOR_YUV2RGBA_NV21 = 96, + COLOR_YUV2BGRA_NV21 = 97, + COLOR_YUV420sp2RGBA = COLOR_YUV2RGBA_NV21, + COLOR_YUV420sp2BGRA = COLOR_YUV2BGRA_NV21, + + COLOR_YUV2RGB_YV12 = 98, + COLOR_YUV2BGR_YV12 = 99, + COLOR_YUV2RGB_IYUV = 100, + COLOR_YUV2BGR_IYUV = 101, + COLOR_YUV2RGB_I420 = COLOR_YUV2RGB_IYUV, + COLOR_YUV2BGR_I420 = COLOR_YUV2BGR_IYUV, + COLOR_YUV420p2RGB = COLOR_YUV2RGB_YV12, + COLOR_YUV420p2BGR = COLOR_YUV2BGR_YV12, + + COLOR_YUV2RGBA_YV12 = 102, + COLOR_YUV2BGRA_YV12 = 103, + COLOR_YUV2RGBA_IYUV = 104, + COLOR_YUV2BGRA_IYUV = 105, + COLOR_YUV2RGBA_I420 = COLOR_YUV2RGBA_IYUV, + COLOR_YUV2BGRA_I420 = COLOR_YUV2BGRA_IYUV, + COLOR_YUV420p2RGBA = COLOR_YUV2RGBA_YV12, + COLOR_YUV420p2BGRA = COLOR_YUV2BGRA_YV12, + + COLOR_YUV2GRAY_420 = 106, + COLOR_YUV2GRAY_NV21 = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_NV12 = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_YV12 = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_IYUV = COLOR_YUV2GRAY_420, + COLOR_YUV2GRAY_I420 = COLOR_YUV2GRAY_420, + COLOR_YUV420sp2GRAY = COLOR_YUV2GRAY_420, + COLOR_YUV420p2GRAY = COLOR_YUV2GRAY_420, + + //! YUV 4:2:2 family to RGB + COLOR_YUV2RGB_UYVY = 107, + COLOR_YUV2BGR_UYVY = 108, + //COLOR_YUV2RGB_VYUY = 109, + //COLOR_YUV2BGR_VYUY = 110, + COLOR_YUV2RGB_Y422 = COLOR_YUV2RGB_UYVY, + COLOR_YUV2BGR_Y422 = COLOR_YUV2BGR_UYVY, + COLOR_YUV2RGB_UYNV = COLOR_YUV2RGB_UYVY, + COLOR_YUV2BGR_UYNV = COLOR_YUV2BGR_UYVY, + + COLOR_YUV2RGBA_UYVY = 111, + COLOR_YUV2BGRA_UYVY = 112, + //COLOR_YUV2RGBA_VYUY = 113, + //COLOR_YUV2BGRA_VYUY = 114, + COLOR_YUV2RGBA_Y422 = COLOR_YUV2RGBA_UYVY, + COLOR_YUV2BGRA_Y422 = COLOR_YUV2BGRA_UYVY, + COLOR_YUV2RGBA_UYNV = COLOR_YUV2RGBA_UYVY, + COLOR_YUV2BGRA_UYNV = COLOR_YUV2BGRA_UYVY, + + COLOR_YUV2RGB_YUY2 = 115, + COLOR_YUV2BGR_YUY2 = 116, + COLOR_YUV2RGB_YVYU = 117, + COLOR_YUV2BGR_YVYU = 118, + COLOR_YUV2RGB_YUYV = COLOR_YUV2RGB_YUY2, + COLOR_YUV2BGR_YUYV = COLOR_YUV2BGR_YUY2, + COLOR_YUV2RGB_YUNV = COLOR_YUV2RGB_YUY2, + COLOR_YUV2BGR_YUNV = COLOR_YUV2BGR_YUY2, + + COLOR_YUV2RGBA_YUY2 = 119, + COLOR_YUV2BGRA_YUY2 = 120, + COLOR_YUV2RGBA_YVYU = 121, + COLOR_YUV2BGRA_YVYU = 122, + COLOR_YUV2RGBA_YUYV = COLOR_YUV2RGBA_YUY2, + COLOR_YUV2BGRA_YUYV = COLOR_YUV2BGRA_YUY2, + COLOR_YUV2RGBA_YUNV = COLOR_YUV2RGBA_YUY2, + COLOR_YUV2BGRA_YUNV = COLOR_YUV2BGRA_YUY2, + + COLOR_YUV2GRAY_UYVY = 123, + COLOR_YUV2GRAY_YUY2 = 124, + //CV_YUV2GRAY_VYUY = CV_YUV2GRAY_UYVY, + COLOR_YUV2GRAY_Y422 = COLOR_YUV2GRAY_UYVY, + COLOR_YUV2GRAY_UYNV = COLOR_YUV2GRAY_UYVY, + COLOR_YUV2GRAY_YVYU = COLOR_YUV2GRAY_YUY2, + COLOR_YUV2GRAY_YUYV = COLOR_YUV2GRAY_YUY2, + COLOR_YUV2GRAY_YUNV = COLOR_YUV2GRAY_YUY2, + + //! alpha premultiplication + COLOR_RGBA2mRGBA = 125, + COLOR_mRGBA2RGBA = 126, + + //! RGB to YUV 4:2:0 family + COLOR_RGB2YUV_I420 = 127, + COLOR_BGR2YUV_I420 = 128, + COLOR_RGB2YUV_IYUV = COLOR_RGB2YUV_I420, + COLOR_BGR2YUV_IYUV = COLOR_BGR2YUV_I420, + + COLOR_RGBA2YUV_I420 = 129, + COLOR_BGRA2YUV_I420 = 130, + COLOR_RGBA2YUV_IYUV = COLOR_RGBA2YUV_I420, + COLOR_BGRA2YUV_IYUV = COLOR_BGRA2YUV_I420, + COLOR_RGB2YUV_YV12 = 131, + COLOR_BGR2YUV_YV12 = 132, + COLOR_RGBA2YUV_YV12 = 133, + COLOR_BGRA2YUV_YV12 = 134, + + //! Demosaicing, see @ref color_convert_bayer "color conversions" for additional information + COLOR_BayerBG2BGR = 46, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2BGR = 47, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2BGR = 48, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2BGR = 49, //!< equivalent to GBRG Bayer pattern + + COLOR_BayerRGGB2BGR = COLOR_BayerBG2BGR, + COLOR_BayerGRBG2BGR = COLOR_BayerGB2BGR, + COLOR_BayerBGGR2BGR = COLOR_BayerRG2BGR, + COLOR_BayerGBRG2BGR = COLOR_BayerGR2BGR, + + COLOR_BayerRGGB2RGB = COLOR_BayerBGGR2BGR, + COLOR_BayerGRBG2RGB = COLOR_BayerGBRG2BGR, + COLOR_BayerBGGR2RGB = COLOR_BayerRGGB2BGR, + COLOR_BayerGBRG2RGB = COLOR_BayerGRBG2BGR, + + COLOR_BayerBG2RGB = COLOR_BayerRG2BGR, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2RGB = COLOR_BayerGR2BGR, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2RGB = COLOR_BayerBG2BGR, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2RGB = COLOR_BayerGB2BGR, //!< equivalent to GBRG Bayer pattern + + COLOR_BayerBG2GRAY = 86, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2GRAY = 87, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2GRAY = 88, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2GRAY = 89, //!< equivalent to GBRG Bayer pattern + + COLOR_BayerRGGB2GRAY = COLOR_BayerBG2GRAY, + COLOR_BayerGRBG2GRAY = COLOR_BayerGB2GRAY, + COLOR_BayerBGGR2GRAY = COLOR_BayerRG2GRAY, + COLOR_BayerGBRG2GRAY = COLOR_BayerGR2GRAY, + + //! Demosaicing using Variable Number of Gradients + COLOR_BayerBG2BGR_VNG = 62, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2BGR_VNG = 63, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2BGR_VNG = 64, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2BGR_VNG = 65, //!< equivalent to GBRG Bayer pattern + + COLOR_BayerRGGB2BGR_VNG = COLOR_BayerBG2BGR_VNG, + COLOR_BayerGRBG2BGR_VNG = COLOR_BayerGB2BGR_VNG, + COLOR_BayerBGGR2BGR_VNG = COLOR_BayerRG2BGR_VNG, + COLOR_BayerGBRG2BGR_VNG = COLOR_BayerGR2BGR_VNG, + + COLOR_BayerRGGB2RGB_VNG = COLOR_BayerBGGR2BGR_VNG, + COLOR_BayerGRBG2RGB_VNG = COLOR_BayerGBRG2BGR_VNG, + COLOR_BayerBGGR2RGB_VNG = COLOR_BayerRGGB2BGR_VNG, + COLOR_BayerGBRG2RGB_VNG = COLOR_BayerGRBG2BGR_VNG, + + COLOR_BayerBG2RGB_VNG = COLOR_BayerRG2BGR_VNG, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2RGB_VNG = COLOR_BayerGR2BGR_VNG, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2RGB_VNG = COLOR_BayerBG2BGR_VNG, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2RGB_VNG = COLOR_BayerGB2BGR_VNG, //!< equivalent to GBRG Bayer pattern + + //! Edge-Aware Demosaicing + COLOR_BayerBG2BGR_EA = 135, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2BGR_EA = 136, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2BGR_EA = 137, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2BGR_EA = 138, //!< equivalent to GBRG Bayer pattern + + COLOR_BayerRGGB2BGR_EA = COLOR_BayerBG2BGR_EA, + COLOR_BayerGRBG2BGR_EA = COLOR_BayerGB2BGR_EA, + COLOR_BayerBGGR2BGR_EA = COLOR_BayerRG2BGR_EA, + COLOR_BayerGBRG2BGR_EA = COLOR_BayerGR2BGR_EA, + + COLOR_BayerRGGB2RGB_EA = COLOR_BayerBGGR2BGR_EA, + COLOR_BayerGRBG2RGB_EA = COLOR_BayerGBRG2BGR_EA, + COLOR_BayerBGGR2RGB_EA = COLOR_BayerRGGB2BGR_EA, + COLOR_BayerGBRG2RGB_EA = COLOR_BayerGRBG2BGR_EA, + + COLOR_BayerBG2RGB_EA = COLOR_BayerRG2BGR_EA, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2RGB_EA = COLOR_BayerGR2BGR_EA, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2RGB_EA = COLOR_BayerBG2BGR_EA, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2RGB_EA = COLOR_BayerGB2BGR_EA, //!< equivalent to GBRG Bayer pattern + + //! Demosaicing with alpha channel + COLOR_BayerBG2BGRA = 139, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2BGRA = 140, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2BGRA = 141, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2BGRA = 142, //!< equivalent to GBRG Bayer pattern + + COLOR_BayerRGGB2BGRA = COLOR_BayerBG2BGRA, + COLOR_BayerGRBG2BGRA = COLOR_BayerGB2BGRA, + COLOR_BayerBGGR2BGRA = COLOR_BayerRG2BGRA, + COLOR_BayerGBRG2BGRA = COLOR_BayerGR2BGRA, + + COLOR_BayerRGGB2RGBA = COLOR_BayerBGGR2BGRA, + COLOR_BayerGRBG2RGBA = COLOR_BayerGBRG2BGRA, + COLOR_BayerBGGR2RGBA = COLOR_BayerRGGB2BGRA, + COLOR_BayerGBRG2RGBA = COLOR_BayerGRBG2BGRA, + + COLOR_BayerBG2RGBA = COLOR_BayerRG2BGRA, //!< equivalent to RGGB Bayer pattern + COLOR_BayerGB2RGBA = COLOR_BayerGR2BGRA, //!< equivalent to GRBG Bayer pattern + COLOR_BayerRG2RGBA = COLOR_BayerBG2BGRA, //!< equivalent to BGGR Bayer pattern + COLOR_BayerGR2RGBA = COLOR_BayerGB2BGRA, //!< equivalent to GBRG Bayer pattern + + COLOR_COLORCVT_MAX = 143 +}; + +//! @addtogroup imgproc_shape +//! @{ + +//! types of intersection between rectangles +enum RectanglesIntersectTypes { + INTERSECT_NONE = 0, //!< No intersection + INTERSECT_PARTIAL = 1, //!< There is a partial intersection + INTERSECT_FULL = 2 //!< One of the rectangle is fully enclosed in the other +}; + +/** types of line +@ingroup imgproc_draw +*/ +enum LineTypes { + FILLED = -1, + LINE_4 = 4, //!< 4-connected line + LINE_8 = 8, //!< 8-connected line + LINE_AA = 16 //!< antialiased line +}; + +/** Only a subset of Hershey fonts are supported +@ingroup imgproc_draw +*/ +enum HersheyFonts { + FONT_HERSHEY_SIMPLEX = 0, //!< normal size sans-serif font + FONT_HERSHEY_PLAIN = 1, //!< small size sans-serif font + FONT_HERSHEY_DUPLEX = 2, //!< normal size sans-serif font (more complex than FONT_HERSHEY_SIMPLEX) + FONT_HERSHEY_COMPLEX = 3, //!< normal size serif font + FONT_HERSHEY_TRIPLEX = 4, //!< normal size serif font (more complex than FONT_HERSHEY_COMPLEX) + FONT_HERSHEY_COMPLEX_SMALL = 5, //!< smaller version of FONT_HERSHEY_COMPLEX + FONT_HERSHEY_SCRIPT_SIMPLEX = 6, //!< hand-writing style font + FONT_HERSHEY_SCRIPT_COMPLEX = 7, //!< more complex variant of FONT_HERSHEY_SCRIPT_SIMPLEX + FONT_ITALIC = 16 //!< flag for italic font +}; + +/** Possible set of marker types used for the cv::drawMarker function +@ingroup imgproc_draw +*/ +enum MarkerTypes +{ + MARKER_CROSS = 0, //!< A crosshair marker shape + MARKER_TILTED_CROSS = 1, //!< A 45 degree tilted crosshair marker shape + MARKER_STAR = 2, //!< A star marker shape, combination of cross and tilted cross + MARKER_DIAMOND = 3, //!< A diamond marker shape + MARKER_SQUARE = 4, //!< A square marker shape + MARKER_TRIANGLE_UP = 5, //!< An upwards pointing triangle marker shape + MARKER_TRIANGLE_DOWN = 6 //!< A downwards pointing triangle marker shape +}; + +/** @brief finds arbitrary template in the grayscale image using Generalized Hough Transform +*/ +class CV_EXPORTS_W GeneralizedHough : public Algorithm +{ +public: + //! set template to search + CV_WRAP virtual void setTemplate(InputArray templ, Point templCenter = Point(-1, -1)) = 0; + CV_WRAP virtual void setTemplate(InputArray edges, InputArray dx, InputArray dy, Point templCenter = Point(-1, -1)) = 0; + + //! find template on image + CV_WRAP virtual void detect(InputArray image, OutputArray positions, OutputArray votes = noArray()) = 0; + CV_WRAP virtual void detect(InputArray edges, InputArray dx, InputArray dy, OutputArray positions, OutputArray votes = noArray()) = 0; + + //! Canny low threshold. + CV_WRAP virtual void setCannyLowThresh(int cannyLowThresh) = 0; + CV_WRAP virtual int getCannyLowThresh() const = 0; + + //! Canny high threshold. + CV_WRAP virtual void setCannyHighThresh(int cannyHighThresh) = 0; + CV_WRAP virtual int getCannyHighThresh() const = 0; + + //! Minimum distance between the centers of the detected objects. + CV_WRAP virtual void setMinDist(double minDist) = 0; + CV_WRAP virtual double getMinDist() const = 0; + + //! Inverse ratio of the accumulator resolution to the image resolution. + CV_WRAP virtual void setDp(double dp) = 0; + CV_WRAP virtual double getDp() const = 0; + + //! Maximal size of inner buffers. + CV_WRAP virtual void setMaxBufferSize(int maxBufferSize) = 0; + CV_WRAP virtual int getMaxBufferSize() const = 0; +}; + +/** @brief finds arbitrary template in the grayscale image using Generalized Hough Transform + +Detects position only without translation and rotation @cite Ballard1981 . +*/ +class CV_EXPORTS_W GeneralizedHoughBallard : public GeneralizedHough +{ +public: + //! R-Table levels. + CV_WRAP virtual void setLevels(int levels) = 0; + CV_WRAP virtual int getLevels() const = 0; + + //! The accumulator threshold for the template centers at the detection stage. The smaller it is, the more false positions may be detected. + CV_WRAP virtual void setVotesThreshold(int votesThreshold) = 0; + CV_WRAP virtual int getVotesThreshold() const = 0; +}; + +/** @brief finds arbitrary template in the grayscale image using Generalized Hough Transform + +Detects position, translation and rotation @cite Guil1999 . +*/ +class CV_EXPORTS_W GeneralizedHoughGuil : public GeneralizedHough +{ +public: + //! Angle difference in degrees between two points in feature. + CV_WRAP virtual void setXi(double xi) = 0; + CV_WRAP virtual double getXi() const = 0; + + //! Feature table levels. + CV_WRAP virtual void setLevels(int levels) = 0; + CV_WRAP virtual int getLevels() const = 0; + + //! Maximal difference between angles that treated as equal. + CV_WRAP virtual void setAngleEpsilon(double angleEpsilon) = 0; + CV_WRAP virtual double getAngleEpsilon() const = 0; + + //! Minimal rotation angle to detect in degrees. + CV_WRAP virtual void setMinAngle(double minAngle) = 0; + CV_WRAP virtual double getMinAngle() const = 0; + + //! Maximal rotation angle to detect in degrees. + CV_WRAP virtual void setMaxAngle(double maxAngle) = 0; + CV_WRAP virtual double getMaxAngle() const = 0; + + //! Angle step in degrees. + CV_WRAP virtual void setAngleStep(double angleStep) = 0; + CV_WRAP virtual double getAngleStep() const = 0; + + //! Angle votes threshold. + CV_WRAP virtual void setAngleThresh(int angleThresh) = 0; + CV_WRAP virtual int getAngleThresh() const = 0; + + //! Minimal scale to detect. + CV_WRAP virtual void setMinScale(double minScale) = 0; + CV_WRAP virtual double getMinScale() const = 0; + + //! Maximal scale to detect. + CV_WRAP virtual void setMaxScale(double maxScale) = 0; + CV_WRAP virtual double getMaxScale() const = 0; + + //! Scale step. + CV_WRAP virtual void setScaleStep(double scaleStep) = 0; + CV_WRAP virtual double getScaleStep() const = 0; + + //! Scale votes threshold. + CV_WRAP virtual void setScaleThresh(int scaleThresh) = 0; + CV_WRAP virtual int getScaleThresh() const = 0; + + //! Position votes threshold. + CV_WRAP virtual void setPosThresh(int posThresh) = 0; + CV_WRAP virtual int getPosThresh() const = 0; +}; + +//! @} imgproc_shape + +//! @addtogroup imgproc_hist +//! @{ + +/** @brief Base class for Contrast Limited Adaptive Histogram Equalization. +*/ +class CV_EXPORTS_W CLAHE : public Algorithm +{ +public: + /** @brief Equalizes the histogram of a grayscale image using Contrast Limited Adaptive Histogram Equalization. + + @param src Source image of type CV_8UC1 or CV_16UC1. + @param dst Destination image. + */ + CV_WRAP virtual void apply(InputArray src, OutputArray dst) = 0; + + /** @brief Sets threshold for contrast limiting. + + @param clipLimit threshold value. + */ + CV_WRAP virtual void setClipLimit(double clipLimit) = 0; + + //! Returns threshold value for contrast limiting. + CV_WRAP virtual double getClipLimit() const = 0; + + /** @brief Sets size of grid for histogram equalization. Input image will be divided into + equally sized rectangular tiles. + + @param tileGridSize defines the number of tiles in row and column. + */ + CV_WRAP virtual void setTilesGridSize(Size tileGridSize) = 0; + + //!@brief Returns Size defines the number of tiles in row and column. + CV_WRAP virtual Size getTilesGridSize() const = 0; + + CV_WRAP virtual void collectGarbage() = 0; +}; + +//! @} imgproc_hist + +//! @addtogroup imgproc_subdiv2d +//! @{ + +class CV_EXPORTS_W Subdiv2D +{ +public: + /** Subdiv2D point location cases */ + enum { PTLOC_ERROR = -2, //!< Point location error + PTLOC_OUTSIDE_RECT = -1, //!< Point outside the subdivision bounding rect + PTLOC_INSIDE = 0, //!< Point inside some facet + PTLOC_VERTEX = 1, //!< Point coincides with one of the subdivision vertices + PTLOC_ON_EDGE = 2 //!< Point on some edge + }; + + /** Subdiv2D edge type navigation (see: getEdge()) */ + enum { NEXT_AROUND_ORG = 0x00, + NEXT_AROUND_DST = 0x22, + PREV_AROUND_ORG = 0x11, + PREV_AROUND_DST = 0x33, + NEXT_AROUND_LEFT = 0x13, + NEXT_AROUND_RIGHT = 0x31, + PREV_AROUND_LEFT = 0x20, + PREV_AROUND_RIGHT = 0x02 + }; + + /** creates an empty Subdiv2D object. + To create a new empty Delaunay subdivision you need to use the #initDelaunay function. + */ + CV_WRAP Subdiv2D(); + + /** @overload + + @param rect Rectangle that includes all of the 2D points that are to be added to the subdivision. + + The function creates an empty Delaunay subdivision where 2D points can be added using the function + insert() . All of the points to be added must be within the specified rectangle, otherwise a runtime + error is raised. + */ + CV_WRAP Subdiv2D(Rect rect); + + /** @brief Creates a new empty Delaunay subdivision + + @param rect Rectangle that includes all of the 2D points that are to be added to the subdivision. + + */ + CV_WRAP void initDelaunay(Rect rect); + + /** @brief Insert a single point into a Delaunay triangulation. + + @param pt Point to insert. + + The function inserts a single point into a subdivision and modifies the subdivision topology + appropriately. If a point with the same coordinates exists already, no new point is added. + @returns the ID of the point. + + @note If the point is outside of the triangulation specified rect a runtime error is raised. + */ + CV_WRAP int insert(Point2f pt); + + /** @brief Insert multiple points into a Delaunay triangulation. + + @param ptvec Points to insert. + + The function inserts a vector of points into a subdivision and modifies the subdivision topology + appropriately. + */ + CV_WRAP void insert(const std::vector& ptvec); + + /** @brief Returns the location of a point within a Delaunay triangulation. + + @param pt Point to locate. + @param edge Output edge that the point belongs to or is located to the right of it. + @param vertex Optional output vertex the input point coincides with. + + The function locates the input point within the subdivision and gives one of the triangle edges + or vertices. + + @returns an integer which specify one of the following five cases for point location: + - The point falls into some facet. The function returns #PTLOC_INSIDE and edge will contain one of + edges of the facet. + - The point falls onto the edge. The function returns #PTLOC_ON_EDGE and edge will contain this edge. + - The point coincides with one of the subdivision vertices. The function returns #PTLOC_VERTEX and + vertex will contain a pointer to the vertex. + - The point is outside the subdivision reference rectangle. The function returns #PTLOC_OUTSIDE_RECT + and no pointers are filled. + - One of input arguments is invalid. A runtime error is raised or, if silent or "parent" error + processing mode is selected, #PTLOC_ERROR is returned. + */ + CV_WRAP int locate(Point2f pt, CV_OUT int& edge, CV_OUT int& vertex); + + /** @brief Finds the subdivision vertex closest to the given point. + + @param pt Input point. + @param nearestPt Output subdivision vertex point. + + The function is another function that locates the input point within the subdivision. It finds the + subdivision vertex that is the closest to the input point. It is not necessarily one of vertices + of the facet containing the input point, though the facet (located using locate() ) is used as a + starting point. + + @returns vertex ID. + */ + CV_WRAP int findNearest(Point2f pt, CV_OUT Point2f* nearestPt = 0); + + /** @brief Returns a list of all edges. + + @param edgeList Output vector. + + The function gives each edge as a 4 numbers vector, where each two are one of the edge + vertices. i.e. org_x = v[0], org_y = v[1], dst_x = v[2], dst_y = v[3]. + */ + CV_WRAP void getEdgeList(CV_OUT std::vector& edgeList) const; + + /** @brief Returns a list of the leading edge ID connected to each triangle. + + @param leadingEdgeList Output vector. + + The function gives one edge ID for each triangle. + */ + CV_WRAP void getLeadingEdgeList(CV_OUT std::vector& leadingEdgeList) const; + + /** @brief Returns a list of all triangles. + + @param triangleList Output vector. + + The function gives each triangle as a 6 numbers vector, where each two are one of the triangle + vertices. i.e. p1_x = v[0], p1_y = v[1], p2_x = v[2], p2_y = v[3], p3_x = v[4], p3_y = v[5]. + */ + CV_WRAP void getTriangleList(CV_OUT std::vector& triangleList) const; + + /** @brief Returns a list of all Voronoi facets. + + @param idx Vector of vertices IDs to consider. For all vertices you can pass empty vector. + @param facetList Output vector of the Voronoi facets. + @param facetCenters Output vector of the Voronoi facets center points. + + */ + CV_WRAP void getVoronoiFacetList(const std::vector& idx, CV_OUT std::vector >& facetList, + CV_OUT std::vector& facetCenters); + + /** @brief Returns vertex location from vertex ID. + + @param vertex vertex ID. + @param firstEdge Optional. The first edge ID which is connected to the vertex. + @returns vertex (x,y) + + */ + CV_WRAP Point2f getVertex(int vertex, CV_OUT int* firstEdge = 0) const; + + /** @brief Returns one of the edges related to the given edge. + + @param edge Subdivision edge ID. + @param nextEdgeType Parameter specifying which of the related edges to return. + The following values are possible: + - NEXT_AROUND_ORG next around the edge origin ( eOnext on the picture below if e is the input edge) + - NEXT_AROUND_DST next around the edge vertex ( eDnext ) + - PREV_AROUND_ORG previous around the edge origin (reversed eRnext ) + - PREV_AROUND_DST previous around the edge destination (reversed eLnext ) + - NEXT_AROUND_LEFT next around the left facet ( eLnext ) + - NEXT_AROUND_RIGHT next around the right facet ( eRnext ) + - PREV_AROUND_LEFT previous around the left facet (reversed eOnext ) + - PREV_AROUND_RIGHT previous around the right facet (reversed eDnext ) + + ![sample output](pics/quadedge.png) + + @returns edge ID related to the input edge. + */ + CV_WRAP int getEdge( int edge, int nextEdgeType ) const; + + /** @brief Returns next edge around the edge origin. + + @param edge Subdivision edge ID. + + @returns an integer which is next edge ID around the edge origin: eOnext on the + picture above if e is the input edge). + */ + CV_WRAP int nextEdge(int edge) const; + + /** @brief Returns another edge of the same quad-edge. + + @param edge Subdivision edge ID. + @param rotate Parameter specifying which of the edges of the same quad-edge as the input + one to return. The following values are possible: + - 0 - the input edge ( e on the picture below if e is the input edge) + - 1 - the rotated edge ( eRot ) + - 2 - the reversed edge (reversed e (in green)) + - 3 - the reversed rotated edge (reversed eRot (in green)) + + @returns one of the edges ID of the same quad-edge as the input edge. + */ + CV_WRAP int rotateEdge(int edge, int rotate) const; + CV_WRAP int symEdge(int edge) const; + + /** @brief Returns the edge origin. + + @param edge Subdivision edge ID. + @param orgpt Output vertex location. + + @returns vertex ID. + */ + CV_WRAP int edgeOrg(int edge, CV_OUT Point2f* orgpt = 0) const; + + /** @brief Returns the edge destination. + + @param edge Subdivision edge ID. + @param dstpt Output vertex location. + + @returns vertex ID. + */ + CV_WRAP int edgeDst(int edge, CV_OUT Point2f* dstpt = 0) const; + +protected: + int newEdge(); + void deleteEdge(int edge); + int newPoint(Point2f pt, bool isvirtual, int firstEdge = 0); + void deletePoint(int vtx); + void setEdgePoints( int edge, int orgPt, int dstPt ); + void splice( int edgeA, int edgeB ); + int connectEdges( int edgeA, int edgeB ); + void swapEdges( int edge ); + int isRightOf(Point2f pt, int edge) const; + void calcVoronoi(); + void clearVoronoi(); + void checkSubdiv() const; + + struct CV_EXPORTS Vertex + { + Vertex(); + Vertex(Point2f pt, bool isvirtual, int firstEdge=0); + bool isvirtual() const; + bool isfree() const; + + int firstEdge; + int type; + Point2f pt; + }; + + struct CV_EXPORTS QuadEdge + { + QuadEdge(); + QuadEdge(int edgeidx); + bool isfree() const; + + int next[4]; + int pt[4]; + }; + + //! All of the vertices + std::vector vtx; + //! All of the edges + std::vector qedges; + int freeQEdge; + int freePoint; + bool validGeometry; + + int recentEdge; + //! Top left corner of the bounding rect + Point2f topLeft; + //! Bottom right corner of the bounding rect + Point2f bottomRight; +}; + +//! @} imgproc_subdiv2d + +//! @addtogroup imgproc_feature +//! @{ + +/** @example samples/cpp/lsd_lines.cpp +An example using the LineSegmentDetector +\image html building_lsd.png "Sample output image" width=434 height=300 +*/ + +/** @brief Line segment detector class + +following the algorithm described at @cite Rafael12 . + +@note Implementation has been removed from OpenCV version 3.4.6 to 3.4.15 and version 4.1.0 to 4.5.3 due original code license conflict. +restored again after [Computation of a NFA](https://github.com/rafael-grompone-von-gioi/binomial_nfa) code published under the MIT license. +*/ +class CV_EXPORTS_W LineSegmentDetector : public Algorithm +{ +public: + + /** @brief Finds lines in the input image. + + This is the output of the default parameters of the algorithm on the above shown image. + + ![image](pics/building_lsd.png) + + @param image A grayscale (CV_8UC1) input image. If only a roi needs to be selected, use: + `lsd_ptr-\>detect(image(roi), lines, ...); lines += Scalar(roi.x, roi.y, roi.x, roi.y);` + @param lines A vector of Vec4f elements specifying the beginning and ending point of a line. Where + Vec4f is (x1, y1, x2, y2), point 1 is the start, point 2 - end. Returned lines are strictly + oriented depending on the gradient. + @param width Vector of widths of the regions, where the lines are found. E.g. Width of line. + @param prec Vector of precisions with which the lines are found. + @param nfa Vector containing number of false alarms in the line region, with precision of 10%. The + bigger the value, logarithmically better the detection. + - -1 corresponds to 10 mean false alarms + - 0 corresponds to 1 mean false alarm + - 1 corresponds to 0.1 mean false alarms + This vector will be calculated only when the objects type is #LSD_REFINE_ADV. + */ + CV_WRAP virtual void detect(InputArray image, OutputArray lines, + OutputArray width = noArray(), OutputArray prec = noArray(), + OutputArray nfa = noArray()) = 0; + + /** @brief Draws the line segments on a given image. + @param image The image, where the lines will be drawn. Should be bigger or equal to the image, + where the lines were found. + @param lines A vector of the lines that needed to be drawn. + */ + CV_WRAP virtual void drawSegments(InputOutputArray image, InputArray lines) = 0; + + /** @brief Draws two groups of lines in blue and red, counting the non overlapping (mismatching) pixels. + + @param size The size of the image, where lines1 and lines2 were found. + @param lines1 The first group of lines that needs to be drawn. It is visualized in blue color. + @param lines2 The second group of lines. They visualized in red color. + @param image Optional image, where the lines will be drawn. The image should be color(3-channel) + in order for lines1 and lines2 to be drawn in the above mentioned colors. + */ + CV_WRAP virtual int compareSegments(const Size& size, InputArray lines1, InputArray lines2, InputOutputArray image = noArray()) = 0; + + virtual ~LineSegmentDetector() { } +}; + +/** @brief Creates a smart pointer to a LineSegmentDetector object and initializes it. + +The LineSegmentDetector algorithm is defined using the standard values. Only advanced users may want +to edit those, as to tailor it for their own application. + +@param refine The way found lines will be refined, see #LineSegmentDetectorModes +@param scale The scale of the image that will be used to find the lines. Range (0..1]. +@param sigma_scale Sigma for Gaussian filter. It is computed as sigma = sigma_scale/scale. +@param quant Bound to the quantization error on the gradient norm. +@param ang_th Gradient angle tolerance in degrees. +@param log_eps Detection threshold: -log10(NFA) \> log_eps. Used only when advance refinement is chosen. +@param density_th Minimal density of aligned region points in the enclosing rectangle. +@param n_bins Number of bins in pseudo-ordering of gradient modulus. + */ +CV_EXPORTS_W Ptr createLineSegmentDetector( + int refine = LSD_REFINE_STD, double scale = 0.8, + double sigma_scale = 0.6, double quant = 2.0, double ang_th = 22.5, + double log_eps = 0, double density_th = 0.7, int n_bins = 1024); + +//! @} imgproc_feature + +//! @addtogroup imgproc_filter +//! @{ + +/** @brief Returns Gaussian filter coefficients. + +The function computes and returns the \f$\texttt{ksize} \times 1\f$ matrix of Gaussian filter +coefficients: + +\f[G_i= \alpha *e^{-(i-( \texttt{ksize} -1)/2)^2/(2* \texttt{sigma}^2)},\f] + +where \f$i=0..\texttt{ksize}-1\f$ and \f$\alpha\f$ is the scale factor chosen so that \f$\sum_i G_i=1\f$. + +Two of such generated kernels can be passed to sepFilter2D. Those functions automatically recognize +smoothing kernels (a symmetrical kernel with sum of weights equal to 1) and handle them accordingly. +You may also use the higher-level GaussianBlur. +@param ksize Aperture size. It should be odd ( \f$\texttt{ksize} \mod 2 = 1\f$ ) and positive. +@param sigma Gaussian standard deviation. If it is non-positive, it is computed from ksize as +`sigma = 0.3*((ksize-1)*0.5 - 1) + 0.8`. +@param ktype Type of filter coefficients. It can be CV_32F or CV_64F . +@sa sepFilter2D, getDerivKernels, getStructuringElement, GaussianBlur + */ +CV_EXPORTS_W Mat getGaussianKernel( int ksize, double sigma, int ktype = CV_64F ); + +/** @brief Returns filter coefficients for computing spatial image derivatives. + +The function computes and returns the filter coefficients for spatial image derivatives. When +`ksize=FILTER_SCHARR`, the Scharr \f$3 \times 3\f$ kernels are generated (see #Scharr). Otherwise, Sobel +kernels are generated (see #Sobel). The filters are normally passed to #sepFilter2D or to + +@param kx Output matrix of row filter coefficients. It has the type ktype . +@param ky Output matrix of column filter coefficients. It has the type ktype . +@param dx Derivative order in respect of x. +@param dy Derivative order in respect of y. +@param ksize Aperture size. It can be FILTER_SCHARR, 1, 3, 5, or 7. +@param normalize Flag indicating whether to normalize (scale down) the filter coefficients or not. +Theoretically, the coefficients should have the denominator \f$=2^{ksize*2-dx-dy-2}\f$. If you are +going to filter floating-point images, you are likely to use the normalized kernels. But if you +compute derivatives of an 8-bit image, store the results in a 16-bit image, and wish to preserve +all the fractional bits, you may want to set normalize=false . +@param ktype Type of filter coefficients. It can be CV_32f or CV_64F . + */ +CV_EXPORTS_W void getDerivKernels( OutputArray kx, OutputArray ky, + int dx, int dy, int ksize, + bool normalize = false, int ktype = CV_32F ); + +/** @brief Returns Gabor filter coefficients. + +For more details about gabor filter equations and parameters, see: [Gabor +Filter](http://en.wikipedia.org/wiki/Gabor_filter). + +@param ksize Size of the filter returned. +@param sigma Standard deviation of the gaussian envelope. +@param theta Orientation of the normal to the parallel stripes of a Gabor function. +@param lambd Wavelength of the sinusoidal factor. +@param gamma Spatial aspect ratio. +@param psi Phase offset. +@param ktype Type of filter coefficients. It can be CV_32F or CV_64F . + */ +CV_EXPORTS_W Mat getGaborKernel( Size ksize, double sigma, double theta, double lambd, + double gamma, double psi = CV_PI*0.5, int ktype = CV_64F ); + +//! returns "magic" border value for erosion and dilation. It is automatically transformed to Scalar::all(-DBL_MAX) for dilation. +static inline Scalar morphologyDefaultBorderValue() { return Scalar::all(DBL_MAX); } + +/** @brief Returns a structuring element of the specified size and shape for morphological operations. + +The function constructs and returns the structuring element that can be further passed to #erode, +#dilate or #morphologyEx. But you can also construct an arbitrary binary mask yourself and use it as +the structuring element. + +@param shape Element shape that could be one of #MorphShapes +@param ksize Size of the structuring element. +@param anchor Anchor position within the element. The default value \f$(-1, -1)\f$ means that the +anchor is at the center. Note that only the shape of a cross-shaped element depends on the anchor +position. In other cases the anchor just regulates how much the result of the morphological +operation is shifted. + */ +CV_EXPORTS_W Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1,-1)); + +/** @example samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp +Sample code for simple filters +![Sample screenshot](Smoothing_Tutorial_Result_Median_Filter.jpg) +Check @ref tutorial_gausian_median_blur_bilateral_filter "the corresponding tutorial" for more details + */ + +/** @brief Blurs an image using the median filter. + +The function smoothes an image using the median filter with the \f$\texttt{ksize} \times +\texttt{ksize}\f$ aperture. Each channel of a multi-channel image is processed independently. +In-place operation is supported. + +@note The median filter uses #BORDER_REPLICATE internally to cope with border pixels, see #BorderTypes + +@param src input 1-, 3-, or 4-channel image; when ksize is 3 or 5, the image depth should be +CV_8U, CV_16U, or CV_32F, for larger aperture sizes, it can only be CV_8U. +@param dst destination array of the same size and type as src. +@param ksize aperture linear size; it must be odd and greater than 1, for example: 3, 5, 7 ... +@sa bilateralFilter, blur, boxFilter, GaussianBlur + */ +CV_EXPORTS_W void medianBlur( InputArray src, OutputArray dst, int ksize ); + +/** @brief Blurs an image using a Gaussian filter. + +The function convolves the source image with the specified Gaussian kernel. In-place filtering is +supported. + +@param src input image; the image can have any number of channels, which are processed +independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param ksize Gaussian kernel size. ksize.width and ksize.height can differ but they both must be +positive and odd. Or, they can be zero's and then they are computed from sigma. +@param sigmaX Gaussian kernel standard deviation in X direction. +@param sigmaY Gaussian kernel standard deviation in Y direction; if sigmaY is zero, it is set to be +equal to sigmaX, if both sigmas are zeros, they are computed from ksize.width and ksize.height, +respectively (see #getGaussianKernel for details); to fully control the result regardless of +possible future modifications of all this semantics, it is recommended to specify all of ksize, +sigmaX, and sigmaY. +@param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. + +@sa sepFilter2D, filter2D, blur, boxFilter, bilateralFilter, medianBlur + */ +CV_EXPORTS_W void GaussianBlur( InputArray src, OutputArray dst, Size ksize, + double sigmaX, double sigmaY = 0, + int borderType = BORDER_DEFAULT ); + +/** @brief Applies the bilateral filter to an image. + +The function applies bilateral filtering to the input image, as described in +http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html +bilateralFilter can reduce unwanted noise very well while keeping edges fairly sharp. However, it is +very slow compared to most filters. + +_Sigma values_: For simplicity, you can set the 2 sigma values to be the same. If they are small (\< +10), the filter will not have much effect, whereas if they are large (\> 150), they will have a very +strong effect, making the image look "cartoonish". + +_Filter size_: Large filters (d \> 5) are very slow, so it is recommended to use d=5 for real-time +applications, and perhaps d=9 for offline applications that need heavy noise filtering. + +This filter does not work inplace. +@param src Source 8-bit or floating-point, 1-channel or 3-channel image. +@param dst Destination image of the same size and type as src . +@param d Diameter of each pixel neighborhood that is used during filtering. If it is non-positive, +it is computed from sigmaSpace. +@param sigmaColor Filter sigma in the color space. A larger value of the parameter means that +farther colors within the pixel neighborhood (see sigmaSpace) will be mixed together, resulting +in larger areas of semi-equal color. +@param sigmaSpace Filter sigma in the coordinate space. A larger value of the parameter means that +farther pixels will influence each other as long as their colors are close enough (see sigmaColor +). When d\>0, it specifies the neighborhood size regardless of sigmaSpace. Otherwise, d is +proportional to sigmaSpace. +@param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes + */ +CV_EXPORTS_W void bilateralFilter( InputArray src, OutputArray dst, int d, + double sigmaColor, double sigmaSpace, + int borderType = BORDER_DEFAULT ); + +/** @brief Blurs an image using the box filter. + +The function smooths an image using the kernel: + +\f[\texttt{K} = \alpha \begin{bmatrix} 1 & 1 & 1 & \cdots & 1 & 1 \\ 1 & 1 & 1 & \cdots & 1 & 1 \\ \hdotsfor{6} \\ 1 & 1 & 1 & \cdots & 1 & 1 \end{bmatrix}\f] + +where + +\f[\alpha = \begin{cases} \frac{1}{\texttt{ksize.width*ksize.height}} & \texttt{when } \texttt{normalize=true} \\1 & \texttt{otherwise}\end{cases}\f] + +Unnormalized box filter is useful for computing various integral characteristics over each pixel +neighborhood, such as covariance matrices of image derivatives (used in dense optical flow +algorithms, and so on). If you need to compute pixel sums over variable-size windows, use #integral. + +@param src input image. +@param dst output image of the same size and type as src. +@param ddepth the output image depth (-1 to use src.depth()). +@param ksize blurring kernel size. +@param anchor anchor point; default value Point(-1,-1) means that the anchor is at the kernel +center. +@param normalize flag, specifying whether the kernel is normalized by its area or not. +@param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes. #BORDER_WRAP is not supported. +@sa blur, bilateralFilter, GaussianBlur, medianBlur, integral + */ +CV_EXPORTS_W void boxFilter( InputArray src, OutputArray dst, int ddepth, + Size ksize, Point anchor = Point(-1,-1), + bool normalize = true, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates the normalized sum of squares of the pixel values overlapping the filter. + +For every pixel \f$ (x, y) \f$ in the source image, the function calculates the sum of squares of those neighboring +pixel values which overlap the filter placed over the pixel \f$ (x, y) \f$. + +The unnormalized square box filter can be useful in computing local image statistics such as the local +variance and standard deviation around the neighborhood of a pixel. + +@param src input image +@param dst output image of the same size and type as src +@param ddepth the output image depth (-1 to use src.depth()) +@param ksize kernel size +@param anchor kernel anchor point. The default value of Point(-1, -1) denotes that the anchor is at the kernel +center. +@param normalize flag, specifying whether the kernel is to be normalized by it's area or not. +@param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes. #BORDER_WRAP is not supported. +@sa boxFilter +*/ +CV_EXPORTS_W void sqrBoxFilter( InputArray src, OutputArray dst, int ddepth, + Size ksize, Point anchor = Point(-1, -1), + bool normalize = true, + int borderType = BORDER_DEFAULT ); + +/** @brief Blurs an image using the normalized box filter. + +The function smooths an image using the kernel: + +\f[\texttt{K} = \frac{1}{\texttt{ksize.width*ksize.height}} \begin{bmatrix} 1 & 1 & 1 & \cdots & 1 & 1 \\ 1 & 1 & 1 & \cdots & 1 & 1 \\ \hdotsfor{6} \\ 1 & 1 & 1 & \cdots & 1 & 1 \\ \end{bmatrix}\f] + +The call `blur(src, dst, ksize, anchor, borderType)` is equivalent to `boxFilter(src, dst, src.type(), ksize, +anchor, true, borderType)`. + +@param src input image; it can have any number of channels, which are processed independently, but +the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param ksize blurring kernel size. +@param anchor anchor point; default value Point(-1,-1) means that the anchor is at the kernel +center. +@param borderType border mode used to extrapolate pixels outside of the image, see #BorderTypes. #BORDER_WRAP is not supported. +@sa boxFilter, bilateralFilter, GaussianBlur, medianBlur + */ +CV_EXPORTS_W void blur( InputArray src, OutputArray dst, + Size ksize, Point anchor = Point(-1,-1), + int borderType = BORDER_DEFAULT ); + +/** @brief Blurs an image using the stackBlur. + +The function applies and stackBlur to an image. +stackBlur can generate similar results as Gaussian blur, and the time consumption does not increase with the increase of kernel size. +It creates a kind of moving stack of colors whilst scanning through the image. Thereby it just has to add one new block of color to the right side +of the stack and remove the leftmost color. The remaining colors on the topmost layer of the stack are either added on or reduced by one, +depending on if they are on the right or on the left side of the stack. The only supported borderType is BORDER_REPLICATE. +Original paper was proposed by Mario Klingemann, which can be found http://underdestruction.com/2004/02/25/stackblur-2004. + +@param src input image. The number of channels can be arbitrary, but the depth should be one of +CV_8U, CV_16U, CV_16S or CV_32F. +@param dst output image of the same size and type as src. +@param ksize stack-blurring kernel size. The ksize.width and ksize.height can differ but they both must be +positive and odd. +*/ +CV_EXPORTS_W void stackBlur(InputArray src, OutputArray dst, Size ksize); + +/** @brief Convolves an image with the kernel. + +The function applies an arbitrary linear filter to an image. In-place operation is supported. When +the aperture is partially outside the image, the function interpolates outlier pixel values +according to the specified border mode. + +The function does actually compute correlation, not the convolution: + +\f[\texttt{dst} (x,y) = \sum _{ \substack{0\leq x' < \texttt{kernel.cols}\\{0\leq y' < \texttt{kernel.rows}}}} \texttt{kernel} (x',y')* \texttt{src} (x+x'- \texttt{anchor.x} ,y+y'- \texttt{anchor.y} )\f] + +That is, the kernel is not mirrored around the anchor point. If you need a real convolution, flip +the kernel using #flip and set the new anchor to `(kernel.cols - anchor.x - 1, kernel.rows - +anchor.y - 1)`. + +The function uses the DFT-based algorithm in case of sufficiently large kernels (~`11 x 11` or +larger) and the direct algorithm for small kernels. + +@param src input image. +@param dst output image of the same size and the same number of channels as src. +@param ddepth desired depth of the destination image, see @ref filter_depths "combinations" +@param kernel convolution kernel (or rather a correlation kernel), a single-channel floating point +matrix; if you want to apply different kernels to different channels, split the image into +separate color planes using split and process them individually. +@param anchor anchor of the kernel that indicates the relative position of a filtered point within +the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor +is at the kernel center. +@param delta optional value added to the filtered pixels before storing them in dst. +@param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@sa sepFilter2D, dft, matchTemplate + */ +CV_EXPORTS_W void filter2D( InputArray src, OutputArray dst, int ddepth, + InputArray kernel, Point anchor = Point(-1,-1), + double delta = 0, int borderType = BORDER_DEFAULT ); + +/** @brief Applies a separable linear filter to an image. + +The function applies a separable linear filter to the image. That is, first, every row of src is +filtered with the 1D kernel kernelX. Then, every column of the result is filtered with the 1D +kernel kernelY. The final result shifted by delta is stored in dst . + +@param src Source image. +@param dst Destination image of the same size and the same number of channels as src . +@param ddepth Destination image depth, see @ref filter_depths "combinations" +@param kernelX Coefficients for filtering each row. +@param kernelY Coefficients for filtering each column. +@param anchor Anchor position within the kernel. The default value \f$(-1,-1)\f$ means that the anchor +is at the kernel center. +@param delta Value added to the filtered results before storing them. +@param borderType Pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@sa filter2D, Sobel, GaussianBlur, boxFilter, blur + */ +CV_EXPORTS_W void sepFilter2D( InputArray src, OutputArray dst, int ddepth, + InputArray kernelX, InputArray kernelY, + Point anchor = Point(-1,-1), + double delta = 0, int borderType = BORDER_DEFAULT ); + +/** @example samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp +Sample code using Sobel and/or Scharr OpenCV functions to make a simple Edge Detector +![Sample screenshot](Sobel_Derivatives_Tutorial_Result.jpg) +Check @ref tutorial_sobel_derivatives "the corresponding tutorial" for more details +*/ + +/** @brief Calculates the first, second, third, or mixed image derivatives using an extended Sobel operator. + +In all cases except one, the \f$\texttt{ksize} \times \texttt{ksize}\f$ separable kernel is used to +calculate the derivative. When \f$\texttt{ksize = 1}\f$, the \f$3 \times 1\f$ or \f$1 \times 3\f$ +kernel is used (that is, no Gaussian smoothing is done). `ksize = 1` can only be used for the first +or the second x- or y- derivatives. + +There is also the special value `ksize = #FILTER_SCHARR (-1)` that corresponds to the \f$3\times3\f$ Scharr +filter that may give more accurate results than the \f$3\times3\f$ Sobel. The Scharr aperture is + +\f[\vecthreethree{-3}{0}{3}{-10}{0}{10}{-3}{0}{3}\f] + +for the x-derivative, or transposed for the y-derivative. + +The function calculates an image derivative by convolving the image with the appropriate kernel: + +\f[\texttt{dst} = \frac{\partial^{xorder+yorder} \texttt{src}}{\partial x^{xorder} \partial y^{yorder}}\f] + +The Sobel operators combine Gaussian smoothing and differentiation, so the result is more or less +resistant to the noise. Most often, the function is called with ( xorder = 1, yorder = 0, ksize = 3) +or ( xorder = 0, yorder = 1, ksize = 3) to calculate the first x- or y- image derivative. The first +case corresponds to a kernel of: + +\f[\vecthreethree{-1}{0}{1}{-2}{0}{2}{-1}{0}{1}\f] + +The second case corresponds to a kernel of: + +\f[\vecthreethree{-1}{-2}{-1}{0}{0}{0}{1}{2}{1}\f] + +@param src input image. +@param dst output image of the same size and the same number of channels as src . +@param ddepth output image depth, see @ref filter_depths "combinations"; in the case of + 8-bit input images it will result in truncated derivatives. +@param dx order of the derivative x. +@param dy order of the derivative y. +@param ksize size of the extended Sobel kernel; it must be 1, 3, 5, or 7. +@param scale optional scale factor for the computed derivative values; by default, no scaling is +applied (see #getDerivKernels for details). +@param delta optional delta value that is added to the results prior to storing them in dst. +@param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@sa Scharr, Laplacian, sepFilter2D, filter2D, GaussianBlur, cartToPolar + */ +CV_EXPORTS_W void Sobel( InputArray src, OutputArray dst, int ddepth, + int dx, int dy, int ksize = 3, + double scale = 1, double delta = 0, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates the first order image derivative in both x and y using a Sobel operator + +Equivalent to calling: + +@code +Sobel( src, dx, CV_16SC1, 1, 0, 3 ); +Sobel( src, dy, CV_16SC1, 0, 1, 3 ); +@endcode + +@param src input image. +@param dx output image with first-order derivative in x. +@param dy output image with first-order derivative in y. +@param ksize size of Sobel kernel. It must be 3. +@param borderType pixel extrapolation method, see #BorderTypes. + Only #BORDER_DEFAULT=#BORDER_REFLECT_101 and #BORDER_REPLICATE are supported. + +@sa Sobel + */ + +CV_EXPORTS_W void spatialGradient( InputArray src, OutputArray dx, + OutputArray dy, int ksize = 3, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates the first x- or y- image derivative using Scharr operator. + +The function computes the first x- or y- spatial image derivative using the Scharr operator. The +call + +\f[\texttt{Scharr(src, dst, ddepth, dx, dy, scale, delta, borderType)}\f] + +is equivalent to + +\f[\texttt{Sobel(src, dst, ddepth, dx, dy, FILTER_SCHARR, scale, delta, borderType)} .\f] + +@param src input image. +@param dst output image of the same size and the same number of channels as src. +@param ddepth output image depth, see @ref filter_depths "combinations" +@param dx order of the derivative x. +@param dy order of the derivative y. +@param scale optional scale factor for the computed derivative values; by default, no scaling is +applied (see #getDerivKernels for details). +@param delta optional delta value that is added to the results prior to storing them in dst. +@param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@sa cartToPolar + */ +CV_EXPORTS_W void Scharr( InputArray src, OutputArray dst, int ddepth, + int dx, int dy, double scale = 1, double delta = 0, + int borderType = BORDER_DEFAULT ); + +/** @example samples/cpp/laplace.cpp +An example using Laplace transformations for edge detection +*/ + +/** @brief Calculates the Laplacian of an image. + +The function calculates the Laplacian of the source image by adding up the second x and y +derivatives calculated using the Sobel operator: + +\f[\texttt{dst} = \Delta \texttt{src} = \frac{\partial^2 \texttt{src}}{\partial x^2} + \frac{\partial^2 \texttt{src}}{\partial y^2}\f] + +This is done when `ksize > 1`. When `ksize == 1`, the Laplacian is computed by filtering the image +with the following \f$3 \times 3\f$ aperture: + +\f[\vecthreethree {0}{1}{0}{1}{-4}{1}{0}{1}{0}\f] + +@param src Source image. +@param dst Destination image of the same size and the same number of channels as src . +@param ddepth Desired depth of the destination image, see @ref filter_depths "combinations". +@param ksize Aperture size used to compute the second-derivative filters. See #getDerivKernels for +details. The size must be positive and odd. +@param scale Optional scale factor for the computed Laplacian values. By default, no scaling is +applied. See #getDerivKernels for details. +@param delta Optional delta value that is added to the results prior to storing them in dst . +@param borderType Pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@sa Sobel, Scharr + */ +CV_EXPORTS_W void Laplacian( InputArray src, OutputArray dst, int ddepth, + int ksize = 1, double scale = 1, double delta = 0, + int borderType = BORDER_DEFAULT ); + +//! @} imgproc_filter + +//! @addtogroup imgproc_feature +//! @{ + +/** @example samples/cpp/edge.cpp +This program demonstrates usage of the Canny edge detector + +Check @ref tutorial_canny_detector "the corresponding tutorial" for more details +*/ + +/** @brief Finds edges in an image using the Canny algorithm @cite Canny86 . + +The function finds edges in the input image and marks them in the output map edges using the +Canny algorithm. The smallest value between threshold1 and threshold2 is used for edge linking. The +largest value is used to find initial segments of strong edges. See + + +@param image 8-bit input image. +@param edges output edge map; single channels 8-bit image, which has the same size as image . +@param threshold1 first threshold for the hysteresis procedure. +@param threshold2 second threshold for the hysteresis procedure. +@param apertureSize aperture size for the Sobel operator. +@param L2gradient a flag, indicating whether a more accurate \f$L_2\f$ norm +\f$=\sqrt{(dI/dx)^2 + (dI/dy)^2}\f$ should be used to calculate the image gradient magnitude ( +L2gradient=true ), or whether the default \f$L_1\f$ norm \f$=|dI/dx|+|dI/dy|\f$ is enough ( +L2gradient=false ). + */ +CV_EXPORTS_W void Canny( InputArray image, OutputArray edges, + double threshold1, double threshold2, + int apertureSize = 3, bool L2gradient = false ); + +/** \overload + +Finds edges in an image using the Canny algorithm with custom image gradient. + +@param dx 16-bit x derivative of input image (CV_16SC1 or CV_16SC3). +@param dy 16-bit y derivative of input image (same type as dx). +@param edges output edge map; single channels 8-bit image, which has the same size as image . +@param threshold1 first threshold for the hysteresis procedure. +@param threshold2 second threshold for the hysteresis procedure. +@param L2gradient a flag, indicating whether a more accurate \f$L_2\f$ norm +\f$=\sqrt{(dI/dx)^2 + (dI/dy)^2}\f$ should be used to calculate the image gradient magnitude ( +L2gradient=true ), or whether the default \f$L_1\f$ norm \f$=|dI/dx|+|dI/dy|\f$ is enough ( +L2gradient=false ). + */ +CV_EXPORTS_W void Canny( InputArray dx, InputArray dy, + OutputArray edges, + double threshold1, double threshold2, + bool L2gradient = false ); + +/** @brief Calculates the minimal eigenvalue of gradient matrices for corner detection. + +The function is similar to cornerEigenValsAndVecs but it calculates and stores only the minimal +eigenvalue of the covariance matrix of derivatives, that is, \f$\min(\lambda_1, \lambda_2)\f$ in terms +of the formulae in the cornerEigenValsAndVecs description. + +@param src Input single-channel 8-bit or floating-point image. +@param dst Image to store the minimal eigenvalues. It has the type CV_32FC1 and the same size as +src . +@param blockSize Neighborhood size (see the details on #cornerEigenValsAndVecs ). +@param ksize Aperture parameter for the Sobel operator. +@param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported. + */ +CV_EXPORTS_W void cornerMinEigenVal( InputArray src, OutputArray dst, + int blockSize, int ksize = 3, + int borderType = BORDER_DEFAULT ); + +/** @brief Harris corner detector. + +The function runs the Harris corner detector on the image. Similarly to cornerMinEigenVal and +cornerEigenValsAndVecs , for each pixel \f$(x, y)\f$ it calculates a \f$2\times2\f$ gradient covariance +matrix \f$M^{(x,y)}\f$ over a \f$\texttt{blockSize} \times \texttt{blockSize}\f$ neighborhood. Then, it +computes the following characteristic: + +\f[\texttt{dst} (x,y) = \mathrm{det} M^{(x,y)} - k \cdot \left ( \mathrm{tr} M^{(x,y)} \right )^2\f] + +Corners in the image can be found as the local maxima of this response map. + +@param src Input single-channel 8-bit or floating-point image. +@param dst Image to store the Harris detector responses. It has the type CV_32FC1 and the same +size as src . +@param blockSize Neighborhood size (see the details on #cornerEigenValsAndVecs ). +@param ksize Aperture parameter for the Sobel operator. +@param k Harris detector free parameter. See the formula above. +@param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported. + */ +CV_EXPORTS_W void cornerHarris( InputArray src, OutputArray dst, int blockSize, + int ksize, double k, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates eigenvalues and eigenvectors of image blocks for corner detection. + +For every pixel \f$p\f$ , the function cornerEigenValsAndVecs considers a blockSize \f$\times\f$ blockSize +neighborhood \f$S(p)\f$ . It calculates the covariation matrix of derivatives over the neighborhood as: + +\f[M = \begin{bmatrix} \sum _{S(p)}(dI/dx)^2 & \sum _{S(p)}dI/dx dI/dy \\ \sum _{S(p)}dI/dx dI/dy & \sum _{S(p)}(dI/dy)^2 \end{bmatrix}\f] + +where the derivatives are computed using the Sobel operator. + +After that, it finds eigenvectors and eigenvalues of \f$M\f$ and stores them in the destination image as +\f$(\lambda_1, \lambda_2, x_1, y_1, x_2, y_2)\f$ where + +- \f$\lambda_1, \lambda_2\f$ are the non-sorted eigenvalues of \f$M\f$ +- \f$x_1, y_1\f$ are the eigenvectors corresponding to \f$\lambda_1\f$ +- \f$x_2, y_2\f$ are the eigenvectors corresponding to \f$\lambda_2\f$ + +The output of the function can be used for robust edge or corner detection. + +@param src Input single-channel 8-bit or floating-point image. +@param dst Image to store the results. It has the same size as src and the type CV_32FC(6) . +@param blockSize Neighborhood size (see details below). +@param ksize Aperture parameter for the Sobel operator. +@param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported. + +@sa cornerMinEigenVal, cornerHarris, preCornerDetect + */ +CV_EXPORTS_W void cornerEigenValsAndVecs( InputArray src, OutputArray dst, + int blockSize, int ksize, + int borderType = BORDER_DEFAULT ); + +/** @brief Calculates a feature map for corner detection. + +The function calculates the complex spatial derivative-based function of the source image + +\f[\texttt{dst} = (D_x \texttt{src} )^2 \cdot D_{yy} \texttt{src} + (D_y \texttt{src} )^2 \cdot D_{xx} \texttt{src} - 2 D_x \texttt{src} \cdot D_y \texttt{src} \cdot D_{xy} \texttt{src}\f] + +where \f$D_x\f$,\f$D_y\f$ are the first image derivatives, \f$D_{xx}\f$,\f$D_{yy}\f$ are the second image +derivatives, and \f$D_{xy}\f$ is the mixed derivative. + +The corners can be found as local maximums of the functions, as shown below: +@code + Mat corners, dilated_corners; + preCornerDetect(image, corners, 3); + // dilation with 3x3 rectangular structuring element + dilate(corners, dilated_corners, Mat(), 1); + Mat corner_mask = corners == dilated_corners; +@endcode + +@param src Source single-channel 8-bit of floating-point image. +@param dst Output image that has the type CV_32F and the same size as src . +@param ksize %Aperture size of the Sobel . +@param borderType Pixel extrapolation method. See #BorderTypes. #BORDER_WRAP is not supported. + */ +CV_EXPORTS_W void preCornerDetect( InputArray src, OutputArray dst, int ksize, + int borderType = BORDER_DEFAULT ); + +/** @brief Refines the corner locations. + +The function iterates to find the sub-pixel accurate location of corners or radial saddle +points as described in @cite forstner1987fast, and as shown on the figure below. + +![image](pics/cornersubpix.png) + +Sub-pixel accurate corner locator is based on the observation that every vector from the center \f$q\f$ +to a point \f$p\f$ located within a neighborhood of \f$q\f$ is orthogonal to the image gradient at \f$p\f$ +subject to image and measurement noise. Consider the expression: + +\f[\epsilon _i = {DI_{p_i}}^T \cdot (q - p_i)\f] + +where \f${DI_{p_i}}\f$ is an image gradient at one of the points \f$p_i\f$ in a neighborhood of \f$q\f$ . The +value of \f$q\f$ is to be found so that \f$\epsilon_i\f$ is minimized. A system of equations may be set up +with \f$\epsilon_i\f$ set to zero: + +\f[\sum _i(DI_{p_i} \cdot {DI_{p_i}}^T) \cdot q - \sum _i(DI_{p_i} \cdot {DI_{p_i}}^T \cdot p_i)\f] + +where the gradients are summed within a neighborhood ("search window") of \f$q\f$ . Calling the first +gradient term \f$G\f$ and the second gradient term \f$b\f$ gives: + +\f[q = G^{-1} \cdot b\f] + +The algorithm sets the center of the neighborhood window at this new center \f$q\f$ and then iterates +until the center stays within a set threshold. + +@param image Input single-channel, 8-bit or float image. +@param corners Initial coordinates of the input corners and refined coordinates provided for +output. +@param winSize Half of the side length of the search window. For example, if winSize=Size(5,5) , +then a \f$(5*2+1) \times (5*2+1) = 11 \times 11\f$ search window is used. +@param zeroZone Half of the size of the dead region in the middle of the search zone over which +the summation in the formula below is not done. It is used sometimes to avoid possible +singularities of the autocorrelation matrix. The value of (-1,-1) indicates that there is no such +a size. +@param criteria Criteria for termination of the iterative process of corner refinement. That is, +the process of corner position refinement stops either after criteria.maxCount iterations or when +the corner position moves by less than criteria.epsilon on some iteration. + */ +CV_EXPORTS_W void cornerSubPix( InputArray image, InputOutputArray corners, + Size winSize, Size zeroZone, + TermCriteria criteria ); + +/** @brief Determines strong corners on an image. + +The function finds the most prominent corners in the image or in the specified image region, as +described in @cite Shi94 + +- Function calculates the corner quality measure at every source image pixel using the + #cornerMinEigenVal or #cornerHarris . +- Function performs a non-maximum suppression (the local maximums in *3 x 3* neighborhood are + retained). +- The corners with the minimal eigenvalue less than + \f$\texttt{qualityLevel} \cdot \max_{x,y} qualityMeasureMap(x,y)\f$ are rejected. +- The remaining corners are sorted by the quality measure in the descending order. +- Function throws away each corner for which there is a stronger corner at a distance less than + maxDistance. + +The function can be used to initialize a point-based tracker of an object. + +@note If the function is called with different values A and B of the parameter qualityLevel , and +A \> B, the vector of returned corners with qualityLevel=A will be the prefix of the output vector +with qualityLevel=B . + +@param image Input 8-bit or floating-point 32-bit, single-channel image. +@param corners Output vector of detected corners. +@param maxCorners Maximum number of corners to return. If there are more corners than are found, +the strongest of them is returned. `maxCorners <= 0` implies that no limit on the maximum is set +and all detected corners are returned. +@param qualityLevel Parameter characterizing the minimal accepted quality of image corners. The +parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue +(see #cornerMinEigenVal ) or the Harris function response (see #cornerHarris ). The corners with the +quality measure less than the product are rejected. For example, if the best corner has the +quality measure = 1500, and the qualityLevel=0.01 , then all the corners with the quality measure +less than 15 are rejected. +@param minDistance Minimum possible Euclidean distance between the returned corners. +@param mask Optional region of interest. If the image is not empty (it needs to have the type +CV_8UC1 and the same size as image ), it specifies the region in which the corners are detected. +@param blockSize Size of an average block for computing a derivative covariation matrix over each +pixel neighborhood. See cornerEigenValsAndVecs . +@param useHarrisDetector Parameter indicating whether to use a Harris detector (see #cornerHarris) +or #cornerMinEigenVal. +@param k Free parameter of the Harris detector. + +@sa cornerMinEigenVal, cornerHarris, calcOpticalFlowPyrLK, estimateRigidTransform, + */ + +CV_EXPORTS_W void goodFeaturesToTrack( InputArray image, OutputArray corners, + int maxCorners, double qualityLevel, double minDistance, + InputArray mask = noArray(), int blockSize = 3, + bool useHarrisDetector = false, double k = 0.04 ); + +CV_EXPORTS_W void goodFeaturesToTrack( InputArray image, OutputArray corners, + int maxCorners, double qualityLevel, double minDistance, + InputArray mask, int blockSize, + int gradientSize, bool useHarrisDetector = false, + double k = 0.04 ); + +/** @brief Same as above, but returns also quality measure of the detected corners. + +@param image Input 8-bit or floating-point 32-bit, single-channel image. +@param corners Output vector of detected corners. +@param maxCorners Maximum number of corners to return. If there are more corners than are found, +the strongest of them is returned. `maxCorners <= 0` implies that no limit on the maximum is set +and all detected corners are returned. +@param qualityLevel Parameter characterizing the minimal accepted quality of image corners. The +parameter value is multiplied by the best corner quality measure, which is the minimal eigenvalue +(see #cornerMinEigenVal ) or the Harris function response (see #cornerHarris ). The corners with the +quality measure less than the product are rejected. For example, if the best corner has the +quality measure = 1500, and the qualityLevel=0.01 , then all the corners with the quality measure +less than 15 are rejected. +@param minDistance Minimum possible Euclidean distance between the returned corners. +@param mask Region of interest. If the image is not empty (it needs to have the type +CV_8UC1 and the same size as image ), it specifies the region in which the corners are detected. +@param cornersQuality Output vector of quality measure of the detected corners. +@param blockSize Size of an average block for computing a derivative covariation matrix over each +pixel neighborhood. See cornerEigenValsAndVecs . +@param gradientSize Aperture parameter for the Sobel operator used for derivatives computation. +See cornerEigenValsAndVecs . +@param useHarrisDetector Parameter indicating whether to use a Harris detector (see #cornerHarris) +or #cornerMinEigenVal. +@param k Free parameter of the Harris detector. + */ +CV_EXPORTS CV_WRAP_AS(goodFeaturesToTrackWithQuality) void goodFeaturesToTrack( + InputArray image, OutputArray corners, + int maxCorners, double qualityLevel, double minDistance, + InputArray mask, OutputArray cornersQuality, int blockSize = 3, + int gradientSize = 3, bool useHarrisDetector = false, double k = 0.04); + +/** @example samples/cpp/tutorial_code/ImgTrans/houghlines.cpp +An example using the Hough line detector +![Sample input image](Hough_Lines_Tutorial_Original_Image.jpg) ![Output image](Hough_Lines_Tutorial_Result.jpg) +*/ + +/** @brief Finds lines in a binary image using the standard Hough transform. + +The function implements the standard or standard multi-scale Hough transform algorithm for line +detection. See for a good explanation of Hough +transform. + +@param image 8-bit, single-channel binary source image. The image may be modified by the function. +@param lines Output vector of lines. Each line is represented by a 2 or 3 element vector +\f$(\rho, \theta)\f$ or \f$(\rho, \theta, \textrm{votes})\f$, where \f$\rho\f$ is the distance from +the coordinate origin \f$(0,0)\f$ (top-left corner of the image), \f$\theta\f$ is the line rotation +angle in radians ( \f$0 \sim \textrm{vertical line}, \pi/2 \sim \textrm{horizontal line}\f$ ), and +\f$\textrm{votes}\f$ is the value of accumulator. +@param rho Distance resolution of the accumulator in pixels. +@param theta Angle resolution of the accumulator in radians. +@param threshold %Accumulator threshold parameter. Only those lines are returned that get enough +votes ( \f$>\texttt{threshold}\f$ ). +@param srn For the multi-scale Hough transform, it is a divisor for the distance resolution rho. +The coarse accumulator distance resolution is rho and the accurate accumulator resolution is +rho/srn. If both srn=0 and stn=0, the classical Hough transform is used. Otherwise, both these +parameters should be positive. +@param stn For the multi-scale Hough transform, it is a divisor for the distance resolution theta. +@param min_theta For standard and multi-scale Hough transform, minimum angle to check for lines. +Must fall between 0 and max_theta. +@param max_theta For standard and multi-scale Hough transform, an upper bound for the angle. +Must fall between min_theta and CV_PI. The actual maximum angle in the accumulator may be slightly +less than max_theta, depending on the parameters min_theta and theta. + */ +CV_EXPORTS_W void HoughLines( InputArray image, OutputArray lines, + double rho, double theta, int threshold, + double srn = 0, double stn = 0, + double min_theta = 0, double max_theta = CV_PI ); + +/** @brief Finds line segments in a binary image using the probabilistic Hough transform. + +The function implements the probabilistic Hough transform algorithm for line detection, described +in @cite Matas00 + +See the line detection example below: +@include snippets/imgproc_HoughLinesP.cpp +This is a sample picture the function parameters have been tuned for: + +![image](pics/building.jpg) + +And this is the output of the above program in case of the probabilistic Hough transform: + +![image](pics/houghp.png) + +@param image 8-bit, single-channel binary source image. The image may be modified by the function. +@param lines Output vector of lines. Each line is represented by a 4-element vector +\f$(x_1, y_1, x_2, y_2)\f$ , where \f$(x_1,y_1)\f$ and \f$(x_2, y_2)\f$ are the ending points of each detected +line segment. +@param rho Distance resolution of the accumulator in pixels. +@param theta Angle resolution of the accumulator in radians. +@param threshold %Accumulator threshold parameter. Only those lines are returned that get enough +votes ( \f$>\texttt{threshold}\f$ ). +@param minLineLength Minimum line length. Line segments shorter than that are rejected. +@param maxLineGap Maximum allowed gap between points on the same line to link them. + +@sa LineSegmentDetector + */ +CV_EXPORTS_W void HoughLinesP( InputArray image, OutputArray lines, + double rho, double theta, int threshold, + double minLineLength = 0, double maxLineGap = 0 ); + +/** @brief Finds lines in a set of points using the standard Hough transform. + +The function finds lines in a set of points using a modification of the Hough transform. +@include snippets/imgproc_HoughLinesPointSet.cpp +@param point Input vector of points. Each vector must be encoded as a Point vector \f$(x,y)\f$. Type must be CV_32FC2 or CV_32SC2. +@param lines Output vector of found lines. Each vector is encoded as a vector \f$(votes, rho, theta)\f$. +The larger the value of 'votes', the higher the reliability of the Hough line. +@param lines_max Max count of Hough lines. +@param threshold %Accumulator threshold parameter. Only those lines are returned that get enough +votes ( \f$>\texttt{threshold}\f$ ). +@param min_rho Minimum value for \f$\rho\f$ for the accumulator (Note: \f$\rho\f$ can be negative. The absolute value \f$|\rho|\f$ is the distance of a line to the origin.). +@param max_rho Maximum value for \f$\rho\f$ for the accumulator. +@param rho_step Distance resolution of the accumulator. +@param min_theta Minimum angle value of the accumulator in radians. +@param max_theta Upper bound for the angle value of the accumulator in radians. The actual maximum +angle may be slightly less than max_theta, depending on the parameters min_theta and theta_step. +@param theta_step Angle resolution of the accumulator in radians. + */ +CV_EXPORTS_W void HoughLinesPointSet( InputArray point, OutputArray lines, int lines_max, int threshold, + double min_rho, double max_rho, double rho_step, + double min_theta, double max_theta, double theta_step ); + +/** @example samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp +An example using the Hough circle detector +*/ + +/** @brief Finds circles in a grayscale image using the Hough transform. + +The function finds circles in a grayscale image using a modification of the Hough transform. + +Example: : +@include snippets/imgproc_HoughLinesCircles.cpp + +@note Usually the function detects the centers of circles well. However, it may fail to find correct +radii. You can assist to the function by specifying the radius range ( minRadius and maxRadius ) if +you know it. Or, in the case of #HOUGH_GRADIENT method you may set maxRadius to a negative number +to return centers only without radius search, and find the correct radius using an additional procedure. + +It also helps to smooth image a bit unless it's already soft. For example, +GaussianBlur() with 7x7 kernel and 1.5x1.5 sigma or similar blurring may help. + +@param image 8-bit, single-channel, grayscale input image. +@param circles Output vector of found circles. Each vector is encoded as 3 or 4 element +floating-point vector \f$(x, y, radius)\f$ or \f$(x, y, radius, votes)\f$ . +@param method Detection method, see #HoughModes. The available methods are #HOUGH_GRADIENT and #HOUGH_GRADIENT_ALT. +@param dp Inverse ratio of the accumulator resolution to the image resolution. For example, if +dp=1 , the accumulator has the same resolution as the input image. If dp=2 , the accumulator has +half as big width and height. For #HOUGH_GRADIENT_ALT the recommended value is dp=1.5, +unless some small very circles need to be detected. +@param minDist Minimum distance between the centers of the detected circles. If the parameter is +too small, multiple neighbor circles may be falsely detected in addition to a true one. If it is +too large, some circles may be missed. +@param param1 First method-specific parameter. In case of #HOUGH_GRADIENT and #HOUGH_GRADIENT_ALT, +it is the higher threshold of the two passed to the Canny edge detector (the lower one is twice smaller). +Note that #HOUGH_GRADIENT_ALT uses #Scharr algorithm to compute image derivatives, so the threshold value +shough normally be higher, such as 300 or normally exposed and contrasty images. +@param param2 Second method-specific parameter. In case of #HOUGH_GRADIENT, it is the +accumulator threshold for the circle centers at the detection stage. The smaller it is, the more +false circles may be detected. Circles, corresponding to the larger accumulator values, will be +returned first. In the case of #HOUGH_GRADIENT_ALT algorithm, this is the circle "perfectness" measure. +The closer it to 1, the better shaped circles algorithm selects. In most cases 0.9 should be fine. +If you want get better detection of small circles, you may decrease it to 0.85, 0.8 or even less. +But then also try to limit the search range [minRadius, maxRadius] to avoid many false circles. +@param minRadius Minimum circle radius. +@param maxRadius Maximum circle radius. If <= 0, uses the maximum image dimension. If < 0, #HOUGH_GRADIENT returns +centers without finding the radius. #HOUGH_GRADIENT_ALT always computes circle radiuses. + +@sa fitEllipse, minEnclosingCircle + */ +CV_EXPORTS_W void HoughCircles( InputArray image, OutputArray circles, + int method, double dp, double minDist, + double param1 = 100, double param2 = 100, + int minRadius = 0, int maxRadius = 0 ); + +//! @} imgproc_feature + +//! @addtogroup imgproc_filter +//! @{ + +/** @example samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp +Advanced morphology Transformations sample code +![Sample screenshot](Morphology_2_Tutorial_Result.jpg) +Check @ref tutorial_opening_closing_hats "the corresponding tutorial" for more details +*/ + +/** @brief Erodes an image by using a specific structuring element. + +The function erodes the source image using the specified structuring element that determines the +shape of a pixel neighborhood over which the minimum is taken: + +\f[\texttt{dst} (x,y) = \min _{(x',y'): \, \texttt{element} (x',y') \ne0 } \texttt{src} (x+x',y+y')\f] + +The function supports the in-place mode. Erosion can be applied several ( iterations ) times. In +case of multi-channel images, each channel is processed independently. + +@param src input image; the number of channels can be arbitrary, but the depth should be one of +CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param kernel structuring element used for erosion; if `element=Mat()`, a `3 x 3` rectangular +structuring element is used. Kernel can be created using #getStructuringElement. +@param anchor position of the anchor within the element; default value (-1, -1) means that the +anchor is at the element center. +@param iterations number of times erosion is applied. +@param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@param borderValue border value in case of a constant border +@sa dilate, morphologyEx, getStructuringElement + */ +CV_EXPORTS_W void erode( InputArray src, OutputArray dst, InputArray kernel, + Point anchor = Point(-1,-1), int iterations = 1, + int borderType = BORDER_CONSTANT, + const Scalar& borderValue = morphologyDefaultBorderValue() ); + +/** @example samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp +Erosion and Dilation sample code +![Sample Screenshot-Erosion](Morphology_1_Tutorial_Erosion_Result.jpg)![Sample Screenshot-Dilation](Morphology_1_Tutorial_Dilation_Result.jpg) +Check @ref tutorial_erosion_dilatation "the corresponding tutorial" for more details +*/ + +/** @brief Dilates an image by using a specific structuring element. + +The function dilates the source image using the specified structuring element that determines the +shape of a pixel neighborhood over which the maximum is taken: +\f[\texttt{dst} (x,y) = \max _{(x',y'): \, \texttt{element} (x',y') \ne0 } \texttt{src} (x+x',y+y')\f] + +The function supports the in-place mode. Dilation can be applied several ( iterations ) times. In +case of multi-channel images, each channel is processed independently. + +@param src input image; the number of channels can be arbitrary, but the depth should be one of +CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst output image of the same size and type as src. +@param kernel structuring element used for dilation; if element=Mat(), a 3 x 3 rectangular +structuring element is used. Kernel can be created using #getStructuringElement +@param anchor position of the anchor within the element; default value (-1, -1) means that the +anchor is at the element center. +@param iterations number of times dilation is applied. +@param borderType pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not suported. +@param borderValue border value in case of a constant border +@sa erode, morphologyEx, getStructuringElement + */ +CV_EXPORTS_W void dilate( InputArray src, OutputArray dst, InputArray kernel, + Point anchor = Point(-1,-1), int iterations = 1, + int borderType = BORDER_CONSTANT, + const Scalar& borderValue = morphologyDefaultBorderValue() ); + +/** @brief Performs advanced morphological transformations. + +The function cv::morphologyEx can perform advanced morphological transformations using an erosion and dilation as +basic operations. + +Any of the operations can be done in-place. In case of multi-channel images, each channel is +processed independently. + +@param src Source image. The number of channels can be arbitrary. The depth should be one of +CV_8U, CV_16U, CV_16S, CV_32F or CV_64F. +@param dst Destination image of the same size and type as source image. +@param op Type of a morphological operation, see #MorphTypes +@param kernel Structuring element. It can be created using #getStructuringElement. +@param anchor Anchor position with the kernel. Negative values mean that the anchor is at the +kernel center. +@param iterations Number of times erosion and dilation are applied. +@param borderType Pixel extrapolation method, see #BorderTypes. #BORDER_WRAP is not supported. +@param borderValue Border value in case of a constant border. The default value has a special +meaning. +@sa dilate, erode, getStructuringElement +@note The number of iterations is the number of times erosion or dilatation operation will be applied. +For instance, an opening operation (#MORPH_OPEN) with two iterations is equivalent to apply +successively: erode -> erode -> dilate -> dilate (and not erode -> dilate -> erode -> dilate). + */ +CV_EXPORTS_W void morphologyEx( InputArray src, OutputArray dst, + int op, InputArray kernel, + Point anchor = Point(-1,-1), int iterations = 1, + int borderType = BORDER_CONSTANT, + const Scalar& borderValue = morphologyDefaultBorderValue() ); + +//! @} imgproc_filter + +//! @addtogroup imgproc_transform +//! @{ + +/** @brief Resizes an image. + +The function resize resizes the image src down to or up to the specified size. Note that the +initial dst type or size are not taken into account. Instead, the size and type are derived from +the `src`,`dsize`,`fx`, and `fy`. If you want to resize src so that it fits the pre-created dst, +you may call the function as follows: +@code + // explicitly specify dsize=dst.size(); fx and fy will be computed from that. + resize(src, dst, dst.size(), 0, 0, interpolation); +@endcode +If you want to decimate the image by factor of 2 in each direction, you can call the function this +way: +@code + // specify fx and fy and let the function compute the destination image size. + resize(src, dst, Size(), 0.5, 0.5, interpolation); +@endcode +To shrink an image, it will generally look best with #INTER_AREA interpolation, whereas to +enlarge an image, it will generally look best with #INTER_CUBIC (slow) or #INTER_LINEAR +(faster but still looks OK). + +@param src input image. +@param dst output image; it has the size dsize (when it is non-zero) or the size computed from +src.size(), fx, and fy; the type of dst is the same as of src. +@param dsize output image size; if it equals zero (`None` in Python), it is computed as: + \f[\texttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))}\f] + Either dsize or both fx and fy must be non-zero. +@param fx scale factor along the horizontal axis; when it equals 0, it is computed as +\f[\texttt{(double)dsize.width/src.cols}\f] +@param fy scale factor along the vertical axis; when it equals 0, it is computed as +\f[\texttt{(double)dsize.height/src.rows}\f] +@param interpolation interpolation method, see #InterpolationFlags + +@sa warpAffine, warpPerspective, remap + */ +CV_EXPORTS_W void resize( InputArray src, OutputArray dst, + Size dsize, double fx = 0, double fy = 0, + int interpolation = INTER_LINEAR ); + +/** @brief Applies an affine transformation to an image. + +The function warpAffine transforms the source image using the specified matrix: + +\f[\texttt{dst} (x,y) = \texttt{src} ( \texttt{M} _{11} x + \texttt{M} _{12} y + \texttt{M} _{13}, \texttt{M} _{21} x + \texttt{M} _{22} y + \texttt{M} _{23})\f] + +when the flag #WARP_INVERSE_MAP is set. Otherwise, the transformation is first inverted +with #invertAffineTransform and then put in the formula above instead of M. The function cannot +operate in-place. + +@param src input image. +@param dst output image that has the size dsize and the same type as src . +@param M \f$2\times 3\f$ transformation matrix. +@param dsize size of the output image. +@param flags combination of interpolation methods (see #InterpolationFlags) and the optional +flag #WARP_INVERSE_MAP that means that M is the inverse transformation ( +\f$\texttt{dst}\rightarrow\texttt{src}\f$ ). +@param borderMode pixel extrapolation method (see #BorderTypes); when +borderMode=#BORDER_TRANSPARENT, it means that the pixels in the destination image corresponding to +the "outliers" in the source image are not modified by the function. +@param borderValue value used in case of a constant border; by default, it is 0. + +@sa warpPerspective, resize, remap, getRectSubPix, transform + */ +CV_EXPORTS_W void warpAffine( InputArray src, OutputArray dst, + InputArray M, Size dsize, + int flags = INTER_LINEAR, + int borderMode = BORDER_CONSTANT, + const Scalar& borderValue = Scalar()); + +/** @example samples/cpp/warpPerspective_demo.cpp +An example program shows using cv::getPerspectiveTransform and cv::warpPerspective for image warping +*/ + +/** @brief Applies a perspective transformation to an image. + +The function warpPerspective transforms the source image using the specified matrix: + +\f[\texttt{dst} (x,y) = \texttt{src} \left ( \frac{M_{11} x + M_{12} y + M_{13}}{M_{31} x + M_{32} y + M_{33}} , + \frac{M_{21} x + M_{22} y + M_{23}}{M_{31} x + M_{32} y + M_{33}} \right )\f] + +when the flag #WARP_INVERSE_MAP is set. Otherwise, the transformation is first inverted with invert +and then put in the formula above instead of M. The function cannot operate in-place. + +@param src input image. +@param dst output image that has the size dsize and the same type as src . +@param M \f$3\times 3\f$ transformation matrix. +@param dsize size of the output image. +@param flags combination of interpolation methods (#INTER_LINEAR or #INTER_NEAREST) and the +optional flag #WARP_INVERSE_MAP, that sets M as the inverse transformation ( +\f$\texttt{dst}\rightarrow\texttt{src}\f$ ). +@param borderMode pixel extrapolation method (#BORDER_CONSTANT or #BORDER_REPLICATE). +@param borderValue value used in case of a constant border; by default, it equals 0. + +@sa warpAffine, resize, remap, getRectSubPix, perspectiveTransform + */ +CV_EXPORTS_W void warpPerspective( InputArray src, OutputArray dst, + InputArray M, Size dsize, + int flags = INTER_LINEAR, + int borderMode = BORDER_CONSTANT, + const Scalar& borderValue = Scalar()); + +/** @brief Applies a generic geometrical transformation to an image. + +The function remap transforms the source image using the specified map: + +\f[\texttt{dst} (x,y) = \texttt{src} (map_x(x,y),map_y(x,y))\f] + +where values of pixels with non-integer coordinates are computed using one of available +interpolation methods. \f$map_x\f$ and \f$map_y\f$ can be encoded as separate floating-point maps +in \f$map_1\f$ and \f$map_2\f$ respectively, or interleaved floating-point maps of \f$(x,y)\f$ in +\f$map_1\f$, or fixed-point maps created by using #convertMaps. The reason you might want to +convert from floating to fixed-point representations of a map is that they can yield much faster +(\~2x) remapping operations. In the converted case, \f$map_1\f$ contains pairs (cvFloor(x), +cvFloor(y)) and \f$map_2\f$ contains indices in a table of interpolation coefficients. + +This function cannot operate in-place. + +@param src Source image. +@param dst Destination image. It has the same size as map1 and the same type as src . +@param map1 The first map of either (x,y) points or just x values having the type CV_16SC2 , +CV_32FC1, or CV_32FC2. See #convertMaps for details on converting a floating point +representation to fixed-point for speed. +@param map2 The second map of y values having the type CV_16UC1, CV_32FC1, or none (empty map +if map1 is (x,y) points), respectively. +@param interpolation Interpolation method (see #InterpolationFlags). The methods #INTER_AREA +and #INTER_LINEAR_EXACT are not supported by this function. +@param borderMode Pixel extrapolation method (see #BorderTypes). When +borderMode=#BORDER_TRANSPARENT, it means that the pixels in the destination image that +corresponds to the "outliers" in the source image are not modified by the function. +@param borderValue Value used in case of a constant border. By default, it is 0. +@note +Due to current implementation limitations the size of an input and output images should be less than 32767x32767. + */ +CV_EXPORTS_W void remap( InputArray src, OutputArray dst, + InputArray map1, InputArray map2, + int interpolation, int borderMode = BORDER_CONSTANT, + const Scalar& borderValue = Scalar()); + +/** @brief Converts image transformation maps from one representation to another. + +The function converts a pair of maps for remap from one representation to another. The following +options ( (map1.type(), map2.type()) \f$\rightarrow\f$ (dstmap1.type(), dstmap2.type()) ) are +supported: + +- \f$\texttt{(CV_32FC1, CV_32FC1)} \rightarrow \texttt{(CV_16SC2, CV_16UC1)}\f$. This is the +most frequently used conversion operation, in which the original floating-point maps (see #remap) +are converted to a more compact and much faster fixed-point representation. The first output array +contains the rounded coordinates and the second array (created only when nninterpolation=false ) +contains indices in the interpolation tables. + +- \f$\texttt{(CV_32FC2)} \rightarrow \texttt{(CV_16SC2, CV_16UC1)}\f$. The same as above but +the original maps are stored in one 2-channel matrix. + +- Reverse conversion. Obviously, the reconstructed floating-point maps will not be exactly the same +as the originals. + +@param map1 The first input map of type CV_16SC2, CV_32FC1, or CV_32FC2 . +@param map2 The second input map of type CV_16UC1, CV_32FC1, or none (empty matrix), +respectively. +@param dstmap1 The first output map that has the type dstmap1type and the same size as src . +@param dstmap2 The second output map. +@param dstmap1type Type of the first output map that should be CV_16SC2, CV_32FC1, or +CV_32FC2 . +@param nninterpolation Flag indicating whether the fixed-point maps are used for the +nearest-neighbor or for a more complex interpolation. + +@sa remap, undistort, initUndistortRectifyMap + */ +CV_EXPORTS_W void convertMaps( InputArray map1, InputArray map2, + OutputArray dstmap1, OutputArray dstmap2, + int dstmap1type, bool nninterpolation = false ); + +/** @brief Calculates an affine matrix of 2D rotation. + +The function calculates the following matrix: + +\f[\begin{bmatrix} \alpha & \beta & (1- \alpha ) \cdot \texttt{center.x} - \beta \cdot \texttt{center.y} \\ - \beta & \alpha & \beta \cdot \texttt{center.x} + (1- \alpha ) \cdot \texttt{center.y} \end{bmatrix}\f] + +where + +\f[\begin{array}{l} \alpha = \texttt{scale} \cdot \cos \texttt{angle} , \\ \beta = \texttt{scale} \cdot \sin \texttt{angle} \end{array}\f] + +The transformation maps the rotation center to itself. If this is not the target, adjust the shift. + +@param center Center of the rotation in the source image. +@param angle Rotation angle in degrees. Positive values mean counter-clockwise rotation (the +coordinate origin is assumed to be the top-left corner). +@param scale Isotropic scale factor. + +@sa getAffineTransform, warpAffine, transform + */ +CV_EXPORTS_W Mat getRotationMatrix2D(Point2f center, double angle, double scale); + +/** @sa getRotationMatrix2D */ +CV_EXPORTS Matx23d getRotationMatrix2D_(Point2f center, double angle, double scale); + +inline +Mat getRotationMatrix2D(Point2f center, double angle, double scale) +{ + return Mat(getRotationMatrix2D_(center, angle, scale), true); +} + +/** @brief Calculates an affine transform from three pairs of the corresponding points. + +The function calculates the \f$2 \times 3\f$ matrix of an affine transform so that: + +\f[\begin{bmatrix} x'_i \\ y'_i \end{bmatrix} = \texttt{map_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f] + +where + +\f[dst(i)=(x'_i,y'_i), src(i)=(x_i, y_i), i=0,1,2\f] + +@param src Coordinates of triangle vertices in the source image. +@param dst Coordinates of the corresponding triangle vertices in the destination image. + +@sa warpAffine, transform + */ +CV_EXPORTS Mat getAffineTransform( const Point2f src[], const Point2f dst[] ); + +/** @brief Inverts an affine transformation. + +The function computes an inverse affine transformation represented by \f$2 \times 3\f$ matrix M: + +\f[\begin{bmatrix} a_{11} & a_{12} & b_1 \\ a_{21} & a_{22} & b_2 \end{bmatrix}\f] + +The result is also a \f$2 \times 3\f$ matrix of the same type as M. + +@param M Original affine transformation. +@param iM Output reverse affine transformation. + */ +CV_EXPORTS_W void invertAffineTransform( InputArray M, OutputArray iM ); + +/** @brief Calculates a perspective transform from four pairs of the corresponding points. + +The function calculates the \f$3 \times 3\f$ matrix of a perspective transform so that: + +\f[\begin{bmatrix} t_i x'_i \\ t_i y'_i \\ t_i \end{bmatrix} = \texttt{map_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f] + +where + +\f[dst(i)=(x'_i,y'_i), src(i)=(x_i, y_i), i=0,1,2,3\f] + +@param src Coordinates of quadrangle vertices in the source image. +@param dst Coordinates of the corresponding quadrangle vertices in the destination image. +@param solveMethod method passed to cv::solve (#DecompTypes) + +@sa findHomography, warpPerspective, perspectiveTransform + */ +CV_EXPORTS_W Mat getPerspectiveTransform(InputArray src, InputArray dst, int solveMethod = DECOMP_LU); + +/** @overload */ +CV_EXPORTS Mat getPerspectiveTransform(const Point2f src[], const Point2f dst[], int solveMethod = DECOMP_LU); + + +CV_EXPORTS_W Mat getAffineTransform( InputArray src, InputArray dst ); + +/** @brief Retrieves a pixel rectangle from an image with sub-pixel accuracy. + +The function getRectSubPix extracts pixels from src: + +\f[patch(x, y) = src(x + \texttt{center.x} - ( \texttt{dst.cols} -1)*0.5, y + \texttt{center.y} - ( \texttt{dst.rows} -1)*0.5)\f] + +where the values of the pixels at non-integer coordinates are retrieved using bilinear +interpolation. Every channel of multi-channel images is processed independently. Also +the image should be a single channel or three channel image. While the center of the +rectangle must be inside the image, parts of the rectangle may be outside. + +@param image Source image. +@param patchSize Size of the extracted patch. +@param center Floating point coordinates of the center of the extracted rectangle within the +source image. The center must be inside the image. +@param patch Extracted patch that has the size patchSize and the same number of channels as src . +@param patchType Depth of the extracted pixels. By default, they have the same depth as src . + +@sa warpAffine, warpPerspective + */ +CV_EXPORTS_W void getRectSubPix( InputArray image, Size patchSize, + Point2f center, OutputArray patch, int patchType = -1 ); + +/** @example samples/cpp/polar_transforms.cpp +An example using the cv::linearPolar and cv::logPolar operations +*/ + +/** @brief Remaps an image to semilog-polar coordinates space. + +@deprecated This function produces same result as cv::warpPolar(src, dst, src.size(), center, maxRadius, flags+WARP_POLAR_LOG); + +@internal +Transform the source image using the following transformation (See @ref polar_remaps_reference_image "Polar remaps reference image d)"): +\f[\begin{array}{l} + dst( \rho , \phi ) = src(x,y) \\ + dst.size() \leftarrow src.size() +\end{array}\f] + +where +\f[\begin{array}{l} + I = (dx,dy) = (x - center.x,y - center.y) \\ + \rho = M \cdot log_e(\texttt{magnitude} (I)) ,\\ + \phi = Kangle \cdot \texttt{angle} (I) \\ +\end{array}\f] + +and +\f[\begin{array}{l} + M = src.cols / log_e(maxRadius) \\ + Kangle = src.rows / 2\Pi \\ +\end{array}\f] + +The function emulates the human "foveal" vision and can be used for fast scale and +rotation-invariant template matching, for object tracking and so forth. +@param src Source image +@param dst Destination image. It will have same size and type as src. +@param center The transformation center; where the output precision is maximal +@param M Magnitude scale parameter. It determines the radius of the bounding circle to transform too. +@param flags A combination of interpolation methods, see #InterpolationFlags + +@note +- The function can not operate in-place. +- To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees. + +@sa cv::linearPolar +@endinternal +*/ +CV_EXPORTS_W void logPolar( InputArray src, OutputArray dst, + Point2f center, double M, int flags ); + +/** @brief Remaps an image to polar coordinates space. + +@deprecated This function produces same result as cv::warpPolar(src, dst, src.size(), center, maxRadius, flags) + +@internal +Transform the source image using the following transformation (See @ref polar_remaps_reference_image "Polar remaps reference image c)"): +\f[\begin{array}{l} + dst( \rho , \phi ) = src(x,y) \\ + dst.size() \leftarrow src.size() +\end{array}\f] + +where +\f[\begin{array}{l} + I = (dx,dy) = (x - center.x,y - center.y) \\ + \rho = Kmag \cdot \texttt{magnitude} (I) ,\\ + \phi = angle \cdot \texttt{angle} (I) +\end{array}\f] + +and +\f[\begin{array}{l} + Kx = src.cols / maxRadius \\ + Ky = src.rows / 2\Pi +\end{array}\f] + + +@param src Source image +@param dst Destination image. It will have same size and type as src. +@param center The transformation center; +@param maxRadius The radius of the bounding circle to transform. It determines the inverse magnitude scale parameter too. +@param flags A combination of interpolation methods, see #InterpolationFlags + +@note +- The function can not operate in-place. +- To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees. + +@sa cv::logPolar +@endinternal +*/ +CV_EXPORTS_W void linearPolar( InputArray src, OutputArray dst, + Point2f center, double maxRadius, int flags ); + + +/** \brief Remaps an image to polar or semilog-polar coordinates space + +@anchor polar_remaps_reference_image +![Polar remaps reference](pics/polar_remap_doc.png) + +Transform the source image using the following transformation: +\f[ +dst(\rho , \phi ) = src(x,y) +\f] + +where +\f[ +\begin{array}{l} +\vec{I} = (x - center.x, \;y - center.y) \\ +\phi = Kangle \cdot \texttt{angle} (\vec{I}) \\ +\rho = \left\{\begin{matrix} +Klin \cdot \texttt{magnitude} (\vec{I}) & default \\ +Klog \cdot log_e(\texttt{magnitude} (\vec{I})) & if \; semilog \\ +\end{matrix}\right. +\end{array} +\f] + +and +\f[ +\begin{array}{l} +Kangle = dsize.height / 2\Pi \\ +Klin = dsize.width / maxRadius \\ +Klog = dsize.width / log_e(maxRadius) \\ +\end{array} +\f] + + +\par Linear vs semilog mapping + +Polar mapping can be linear or semi-log. Add one of #WarpPolarMode to `flags` to specify the polar mapping mode. + +Linear is the default mode. + +The semilog mapping emulates the human "foveal" vision that permit very high acuity on the line of sight (central vision) +in contrast to peripheral vision where acuity is minor. + +\par Option on `dsize`: + +- if both values in `dsize <=0 ` (default), +the destination image will have (almost) same area of source bounding circle: +\f[\begin{array}{l} +dsize.area \leftarrow (maxRadius^2 \cdot \Pi) \\ +dsize.width = \texttt{cvRound}(maxRadius) \\ +dsize.height = \texttt{cvRound}(maxRadius \cdot \Pi) \\ +\end{array}\f] + + +- if only `dsize.height <= 0`, +the destination image area will be proportional to the bounding circle area but scaled by `Kx * Kx`: +\f[\begin{array}{l} +dsize.height = \texttt{cvRound}(dsize.width \cdot \Pi) \\ +\end{array} +\f] + +- if both values in `dsize > 0 `, +the destination image will have the given size therefore the area of the bounding circle will be scaled to `dsize`. + + +\par Reverse mapping + +You can get reverse mapping adding #WARP_INVERSE_MAP to `flags` +\snippet polar_transforms.cpp InverseMap + +In addiction, to calculate the original coordinate from a polar mapped coordinate \f$(rho, phi)->(x, y)\f$: +\snippet polar_transforms.cpp InverseCoordinate + +@param src Source image. +@param dst Destination image. It will have same type as src. +@param dsize The destination image size (see description for valid options). +@param center The transformation center. +@param maxRadius The radius of the bounding circle to transform. It determines the inverse magnitude scale parameter too. +@param flags A combination of interpolation methods, #InterpolationFlags + #WarpPolarMode. + - Add #WARP_POLAR_LINEAR to select linear polar mapping (default) + - Add #WARP_POLAR_LOG to select semilog polar mapping + - Add #WARP_INVERSE_MAP for reverse mapping. +@note +- The function can not operate in-place. +- To calculate magnitude and angle in degrees #cartToPolar is used internally thus angles are measured from 0 to 360 with accuracy about 0.3 degrees. +- This function uses #remap. Due to current implementation limitations the size of an input and output images should be less than 32767x32767. + +@sa cv::remap +*/ +CV_EXPORTS_W void warpPolar(InputArray src, OutputArray dst, Size dsize, + Point2f center, double maxRadius, int flags); + + +//! @} imgproc_transform + +//! @addtogroup imgproc_misc +//! @{ + +/** @brief Calculates the integral of an image. + +The function calculates one or more integral images for the source image as follows: + +\f[\texttt{sum} (X,Y) = \sum _{x + +Calculates the cross-power spectrum of two supplied source arrays. The arrays are padded if needed +with getOptimalDFTSize. + +The function performs the following equations: +- First it applies a Hanning window (see ) to each +image to remove possible edge effects. This window is cached until the array size changes to speed +up processing time. +- Next it computes the forward DFTs of each source array: +\f[\mathbf{G}_a = \mathcal{F}\{src_1\}, \; \mathbf{G}_b = \mathcal{F}\{src_2\}\f] +where \f$\mathcal{F}\f$ is the forward DFT. +- It then computes the cross-power spectrum of each frequency domain array: +\f[R = \frac{ \mathbf{G}_a \mathbf{G}_b^*}{|\mathbf{G}_a \mathbf{G}_b^*|}\f] +- Next the cross-correlation is converted back into the time domain via the inverse DFT: +\f[r = \mathcal{F}^{-1}\{R\}\f] +- Finally, it computes the peak location and computes a 5x5 weighted centroid around the peak to +achieve sub-pixel accuracy. +\f[(\Delta x, \Delta y) = \texttt{weightedCentroid} \{\arg \max_{(x, y)}\{r\}\}\f] +- If non-zero, the response parameter is computed as the sum of the elements of r within the 5x5 +centroid around the peak location. It is normalized to a maximum of 1 (meaning there is a single +peak) and will be smaller when there are multiple peaks. + +@param src1 Source floating point array (CV_32FC1 or CV_64FC1) +@param src2 Source floating point array (CV_32FC1 or CV_64FC1) +@param window Floating point array with windowing coefficients to reduce edge effects (optional). +@param response Signal power within the 5x5 centroid around the peak, between 0 and 1 (optional). +@returns detected phase shift (sub-pixel) between the two arrays. + +@sa dft, getOptimalDFTSize, idft, mulSpectrums createHanningWindow + */ +CV_EXPORTS_W Point2d phaseCorrelate(InputArray src1, InputArray src2, + InputArray window = noArray(), CV_OUT double* response = 0); + +/** @brief This function computes a Hanning window coefficients in two dimensions. + +See (http://en.wikipedia.org/wiki/Hann_function) and (http://en.wikipedia.org/wiki/Window_function) +for more information. + +An example is shown below: +@code + // create hanning window of size 100x100 and type CV_32F + Mat hann; + createHanningWindow(hann, Size(100, 100), CV_32F); +@endcode +@param dst Destination array to place Hann coefficients in +@param winSize The window size specifications (both width and height must be > 1) +@param type Created array type + */ +CV_EXPORTS_W void createHanningWindow(OutputArray dst, Size winSize, int type); + +/** @brief Performs the per-element division of the first Fourier spectrum by the second Fourier spectrum. + +The function cv::divSpectrums performs the per-element division of the first array by the second array. +The arrays are CCS-packed or complex matrices that are results of a real or complex Fourier transform. + +@param a first input array. +@param b second input array of the same size and type as src1 . +@param c output array of the same size and type as src1 . +@param flags operation flags; currently, the only supported flag is cv::DFT_ROWS, which indicates that +each row of src1 and src2 is an independent 1D Fourier spectrum. If you do not want to use this flag, then simply add a `0` as value. +@param conjB optional flag that conjugates the second input array before the multiplication (true) +or not (false). +*/ +CV_EXPORTS_W void divSpectrums(InputArray a, InputArray b, OutputArray c, + int flags, bool conjB = false); + +//! @} imgproc_motion + +//! @addtogroup imgproc_misc +//! @{ + +/** @brief Applies a fixed-level threshold to each array element. + +The function applies fixed-level thresholding to a multiple-channel array. The function is typically +used to get a bi-level (binary) image out of a grayscale image ( #compare could be also used for +this purpose) or for removing a noise, that is, filtering out pixels with too small or too large +values. There are several types of thresholding supported by the function. They are determined by +type parameter. + +Also, the special values #THRESH_OTSU or #THRESH_TRIANGLE may be combined with one of the +above values. In these cases, the function determines the optimal threshold value using the Otsu's +or Triangle algorithm and uses it instead of the specified thresh. + +@note Currently, the Otsu's and Triangle methods are implemented only for 8-bit single-channel images. + +@param src input array (multiple-channel, 8-bit or 32-bit floating point). +@param dst output array of the same size and type and the same number of channels as src. +@param thresh threshold value. +@param maxval maximum value to use with the #THRESH_BINARY and #THRESH_BINARY_INV thresholding +types. +@param type thresholding type (see #ThresholdTypes). +@return the computed threshold value if Otsu's or Triangle methods used. + +@sa adaptiveThreshold, findContours, compare, min, max + */ +CV_EXPORTS_W double threshold( InputArray src, OutputArray dst, + double thresh, double maxval, int type ); + + +/** @brief Applies an adaptive threshold to an array. + +The function transforms a grayscale image to a binary image according to the formulae: +- **THRESH_BINARY** + \f[dst(x,y) = \fork{\texttt{maxValue}}{if \(src(x,y) > T(x,y)\)}{0}{otherwise}\f] +- **THRESH_BINARY_INV** + \f[dst(x,y) = \fork{0}{if \(src(x,y) > T(x,y)\)}{\texttt{maxValue}}{otherwise}\f] +where \f$T(x,y)\f$ is a threshold calculated individually for each pixel (see adaptiveMethod parameter). + +The function can process the image in-place. + +@param src Source 8-bit single-channel image. +@param dst Destination image of the same size and the same type as src. +@param maxValue Non-zero value assigned to the pixels for which the condition is satisfied +@param adaptiveMethod Adaptive thresholding algorithm to use, see #AdaptiveThresholdTypes. +The #BORDER_REPLICATE | #BORDER_ISOLATED is used to process boundaries. +@param thresholdType Thresholding type that must be either #THRESH_BINARY or #THRESH_BINARY_INV, +see #ThresholdTypes. +@param blockSize Size of a pixel neighborhood that is used to calculate a threshold value for the +pixel: 3, 5, 7, and so on. +@param C Constant subtracted from the mean or weighted mean (see the details below). Normally, it +is positive but may be zero or negative as well. + +@sa threshold, blur, GaussianBlur + */ +CV_EXPORTS_W void adaptiveThreshold( InputArray src, OutputArray dst, + double maxValue, int adaptiveMethod, + int thresholdType, int blockSize, double C ); + +//! @} imgproc_misc + +//! @addtogroup imgproc_filter +//! @{ + +/** @example samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp +An example using pyrDown and pyrUp functions +*/ + +/** @brief Blurs an image and downsamples it. + +By default, size of the output image is computed as `Size((src.cols+1)/2, (src.rows+1)/2)`, but in +any case, the following conditions should be satisfied: + +\f[\begin{array}{l} | \texttt{dstsize.width} *2-src.cols| \leq 2 \\ | \texttt{dstsize.height} *2-src.rows| \leq 2 \end{array}\f] + +The function performs the downsampling step of the Gaussian pyramid construction. First, it +convolves the source image with the kernel: + +\f[\frac{1}{256} \begin{bmatrix} 1 & 4 & 6 & 4 & 1 \\ 4 & 16 & 24 & 16 & 4 \\ 6 & 24 & 36 & 24 & 6 \\ 4 & 16 & 24 & 16 & 4 \\ 1 & 4 & 6 & 4 & 1 \end{bmatrix}\f] + +Then, it downsamples the image by rejecting even rows and columns. + +@param src input image. +@param dst output image; it has the specified size and the same type as src. +@param dstsize size of the output image. +@param borderType Pixel extrapolation method, see #BorderTypes (#BORDER_CONSTANT isn't supported) + */ +CV_EXPORTS_W void pyrDown( InputArray src, OutputArray dst, + const Size& dstsize = Size(), int borderType = BORDER_DEFAULT ); + +/** @brief Upsamples an image and then blurs it. + +By default, size of the output image is computed as `Size(src.cols\*2, (src.rows\*2)`, but in any +case, the following conditions should be satisfied: + +\f[\begin{array}{l} | \texttt{dstsize.width} -src.cols*2| \leq ( \texttt{dstsize.width} \mod 2) \\ | \texttt{dstsize.height} -src.rows*2| \leq ( \texttt{dstsize.height} \mod 2) \end{array}\f] + +The function performs the upsampling step of the Gaussian pyramid construction, though it can +actually be used to construct the Laplacian pyramid. First, it upsamples the source image by +injecting even zero rows and columns and then convolves the result with the same kernel as in +pyrDown multiplied by 4. + +@param src input image. +@param dst output image. It has the specified size and the same type as src . +@param dstsize size of the output image. +@param borderType Pixel extrapolation method, see #BorderTypes (only #BORDER_DEFAULT is supported) + */ +CV_EXPORTS_W void pyrUp( InputArray src, OutputArray dst, + const Size& dstsize = Size(), int borderType = BORDER_DEFAULT ); + +/** @brief Constructs the Gaussian pyramid for an image. + +The function constructs a vector of images and builds the Gaussian pyramid by recursively applying +pyrDown to the previously built pyramid layers, starting from `dst[0]==src`. + +@param src Source image. Check pyrDown for the list of supported types. +@param dst Destination vector of maxlevel+1 images of the same type as src. dst[0] will be the +same as src. dst[1] is the next pyramid layer, a smoothed and down-sized src, and so on. +@param maxlevel 0-based index of the last (the smallest) pyramid layer. It must be non-negative. +@param borderType Pixel extrapolation method, see #BorderTypes (#BORDER_CONSTANT isn't supported) + */ +CV_EXPORTS void buildPyramid( InputArray src, OutputArrayOfArrays dst, + int maxlevel, int borderType = BORDER_DEFAULT ); + +//! @} imgproc_filter + +//! @addtogroup imgproc_hist +//! @{ + +/** @example samples/cpp/demhist.cpp +An example for creating histograms of an image +*/ + +/** @brief Calculates a histogram of a set of arrays. + +The function cv::calcHist calculates the histogram of one or more arrays. The elements of a tuple used +to increment a histogram bin are taken from the corresponding input arrays at the same location. The +sample below shows how to compute a 2D Hue-Saturation histogram for a color image. : +@include snippets/imgproc_calcHist.cpp + +@param images Source arrays. They all should have the same depth, CV_8U, CV_16U or CV_32F , and the same +size. Each of them can have an arbitrary number of channels. +@param nimages Number of source images. +@param channels List of the dims channels used to compute the histogram. The first array channels +are numerated from 0 to images[0].channels()-1 , the second array channels are counted from +images[0].channels() to images[0].channels() + images[1].channels()-1, and so on. +@param mask Optional mask. If the matrix is not empty, it must be an 8-bit array of the same size +as images[i] . The non-zero mask elements mark the array elements counted in the histogram. +@param hist Output histogram, which is a dense or sparse dims -dimensional array. +@param dims Histogram dimensionality that must be positive and not greater than CV_MAX_DIMS +(equal to 32 in the current OpenCV version). +@param histSize Array of histogram sizes in each dimension. +@param ranges Array of the dims arrays of the histogram bin boundaries in each dimension. When the +histogram is uniform ( uniform =true), then for each dimension i it is enough to specify the lower +(inclusive) boundary \f$L_0\f$ of the 0-th histogram bin and the upper (exclusive) boundary +\f$U_{\texttt{histSize}[i]-1}\f$ for the last histogram bin histSize[i]-1 . That is, in case of a +uniform histogram each of ranges[i] is an array of 2 elements. When the histogram is not uniform ( +uniform=false ), then each of ranges[i] contains histSize[i]+1 elements: +\f$L_0, U_0=L_1, U_1=L_2, ..., U_{\texttt{histSize[i]}-2}=L_{\texttt{histSize[i]}-1}, U_{\texttt{histSize[i]}-1}\f$ +. The array elements, that are not between \f$L_0\f$ and \f$U_{\texttt{histSize[i]}-1}\f$ , are not +counted in the histogram. +@param uniform Flag indicating whether the histogram is uniform or not (see above). +@param accumulate Accumulation flag. If it is set, the histogram is not cleared in the beginning +when it is allocated. This feature enables you to compute a single histogram from several sets of +arrays, or to update the histogram in time. +*/ +CV_EXPORTS void calcHist( const Mat* images, int nimages, + const int* channels, InputArray mask, + OutputArray hist, int dims, const int* histSize, + const float** ranges, bool uniform = true, bool accumulate = false ); + +/** @overload + +this variant uses %SparseMat for output +*/ +CV_EXPORTS void calcHist( const Mat* images, int nimages, + const int* channels, InputArray mask, + SparseMat& hist, int dims, + const int* histSize, const float** ranges, + bool uniform = true, bool accumulate = false ); + +/** @overload + +this variant supports only uniform histograms. + +ranges argument is either empty vector or a flattened vector of histSize.size()*2 elements +(histSize.size() element pairs). The first and second elements of each pair specify the lower and +upper boundaries. +*/ +CV_EXPORTS_W void calcHist( InputArrayOfArrays images, + const std::vector& channels, + InputArray mask, OutputArray hist, + const std::vector& histSize, + const std::vector& ranges, + bool accumulate = false ); + +/** @brief Calculates the back projection of a histogram. + +The function cv::calcBackProject calculates the back project of the histogram. That is, similarly to +#calcHist , at each location (x, y) the function collects the values from the selected channels +in the input images and finds the corresponding histogram bin. But instead of incrementing it, the +function reads the bin value, scales it by scale , and stores in backProject(x,y) . In terms of +statistics, the function computes probability of each element value in respect with the empirical +probability distribution represented by the histogram. See how, for example, you can find and track +a bright-colored object in a scene: + +- Before tracking, show the object to the camera so that it covers almost the whole frame. +Calculate a hue histogram. The histogram may have strong maximums, corresponding to the dominant +colors in the object. + +- When tracking, calculate a back projection of a hue plane of each input video frame using that +pre-computed histogram. Threshold the back projection to suppress weak colors. It may also make +sense to suppress pixels with non-sufficient color saturation and too dark or too bright pixels. + +- Find connected components in the resulting picture and choose, for example, the largest +component. + +This is an approximate algorithm of the CamShift color object tracker. + +@param images Source arrays. They all should have the same depth, CV_8U, CV_16U or CV_32F , and the same +size. Each of them can have an arbitrary number of channels. +@param nimages Number of source images. +@param channels The list of channels used to compute the back projection. The number of channels +must match the histogram dimensionality. The first array channels are numerated from 0 to +images[0].channels()-1 , the second array channels are counted from images[0].channels() to +images[0].channels() + images[1].channels()-1, and so on. +@param hist Input histogram that can be dense or sparse. +@param backProject Destination back projection array that is a single-channel array of the same +size and depth as images[0] . +@param ranges Array of arrays of the histogram bin boundaries in each dimension. See #calcHist . +@param scale Optional scale factor for the output back projection. +@param uniform Flag indicating whether the histogram is uniform or not (see above). + +@sa calcHist, compareHist + */ +CV_EXPORTS void calcBackProject( const Mat* images, int nimages, + const int* channels, InputArray hist, + OutputArray backProject, const float** ranges, + double scale = 1, bool uniform = true ); + +/** @overload */ +CV_EXPORTS void calcBackProject( const Mat* images, int nimages, + const int* channels, const SparseMat& hist, + OutputArray backProject, const float** ranges, + double scale = 1, bool uniform = true ); + +/** @overload */ +CV_EXPORTS_W void calcBackProject( InputArrayOfArrays images, const std::vector& channels, + InputArray hist, OutputArray dst, + const std::vector& ranges, + double scale ); + +/** @brief Compares two histograms. + +The function cv::compareHist compares two dense or two sparse histograms using the specified method. + +The function returns \f$d(H_1, H_2)\f$ . + +While the function works well with 1-, 2-, 3-dimensional dense histograms, it may not be suitable +for high-dimensional sparse histograms. In such histograms, because of aliasing and sampling +problems, the coordinates of non-zero histogram bins can slightly shift. To compare such histograms +or more general sparse configurations of weighted points, consider using the #EMD function. + +@param H1 First compared histogram. +@param H2 Second compared histogram of the same size as H1 . +@param method Comparison method, see #HistCompMethods + */ +CV_EXPORTS_W double compareHist( InputArray H1, InputArray H2, int method ); + +/** @overload */ +CV_EXPORTS double compareHist( const SparseMat& H1, const SparseMat& H2, int method ); + +/** @brief Equalizes the histogram of a grayscale image. + +The function equalizes the histogram of the input image using the following algorithm: + +- Calculate the histogram \f$H\f$ for src . +- Normalize the histogram so that the sum of histogram bins is 255. +- Compute the integral of the histogram: +\f[H'_i = \sum _{0 \le j < i} H(j)\f] +- Transform the image using \f$H'\f$ as a look-up table: \f$\texttt{dst}(x,y) = H'(\texttt{src}(x,y))\f$ + +The algorithm normalizes the brightness and increases the contrast of the image. + +@param src Source 8-bit single channel image. +@param dst Destination image of the same size and type as src . + */ +CV_EXPORTS_W void equalizeHist( InputArray src, OutputArray dst ); + +/** @brief Creates a smart pointer to a cv::CLAHE class and initializes it. + +@param clipLimit Threshold for contrast limiting. +@param tileGridSize Size of grid for histogram equalization. Input image will be divided into +equally sized rectangular tiles. tileGridSize defines the number of tiles in row and column. + */ +CV_EXPORTS_W Ptr createCLAHE(double clipLimit = 40.0, Size tileGridSize = Size(8, 8)); + +/** @brief Computes the "minimal work" distance between two weighted point configurations. + +The function computes the earth mover distance and/or a lower boundary of the distance between the +two weighted point configurations. One of the applications described in @cite RubnerSept98, +@cite Rubner2000 is multi-dimensional histogram comparison for image retrieval. EMD is a transportation +problem that is solved using some modification of a simplex algorithm, thus the complexity is +exponential in the worst case, though, on average it is much faster. In the case of a real metric +the lower boundary can be calculated even faster (using linear-time algorithm) and it can be used +to determine roughly whether the two signatures are far enough so that they cannot relate to the +same object. + +@param signature1 First signature, a \f$\texttt{size1}\times \texttt{dims}+1\f$ floating-point matrix. +Each row stores the point weight followed by the point coordinates. The matrix is allowed to have +a single column (weights only) if the user-defined cost matrix is used. The weights must be +non-negative and have at least one non-zero value. +@param signature2 Second signature of the same format as signature1 , though the number of rows +may be different. The total weights may be different. In this case an extra "dummy" point is added +to either signature1 or signature2. The weights must be non-negative and have at least one non-zero +value. +@param distType Used metric. See #DistanceTypes. +@param cost User-defined \f$\texttt{size1}\times \texttt{size2}\f$ cost matrix. Also, if a cost matrix +is used, lower boundary lowerBound cannot be calculated because it needs a metric function. +@param lowerBound Optional input/output parameter: lower boundary of a distance between the two +signatures that is a distance between mass centers. The lower boundary may not be calculated if +the user-defined cost matrix is used, the total weights of point configurations are not equal, or +if the signatures consist of weights only (the signature matrices have a single column). You +**must** initialize \*lowerBound . If the calculated distance between mass centers is greater or +equal to \*lowerBound (it means that the signatures are far enough), the function does not +calculate EMD. In any case \*lowerBound is set to the calculated distance between mass centers on +return. Thus, if you want to calculate both distance between mass centers and EMD, \*lowerBound +should be set to 0. +@param flow Resultant \f$\texttt{size1} \times \texttt{size2}\f$ flow matrix: \f$\texttt{flow}_{i,j}\f$ is +a flow from \f$i\f$ -th point of signature1 to \f$j\f$ -th point of signature2 . + */ +CV_EXPORTS float EMD( InputArray signature1, InputArray signature2, + int distType, InputArray cost=noArray(), + float* lowerBound = 0, OutputArray flow = noArray() ); + +CV_EXPORTS_AS(EMD) float wrapperEMD( InputArray signature1, InputArray signature2, + int distType, InputArray cost=noArray(), + CV_IN_OUT Ptr lowerBound = Ptr(), OutputArray flow = noArray() ); + +//! @} imgproc_hist + +//! @addtogroup imgproc_segmentation +//! @{ + +/** @example samples/cpp/watershed.cpp +An example using the watershed algorithm +*/ + +/** @brief Performs a marker-based image segmentation using the watershed algorithm. + +The function implements one of the variants of watershed, non-parametric marker-based segmentation +algorithm, described in @cite Meyer92 . + +Before passing the image to the function, you have to roughly outline the desired regions in the +image markers with positive (\>0) indices. So, every region is represented as one or more connected +components with the pixel values 1, 2, 3, and so on. Such markers can be retrieved from a binary +mask using #findContours and #drawContours (see the watershed.cpp demo). The markers are "seeds" of +the future image regions. All the other pixels in markers , whose relation to the outlined regions +is not known and should be defined by the algorithm, should be set to 0's. In the function output, +each pixel in markers is set to a value of the "seed" components or to -1 at boundaries between the +regions. + +@note Any two neighbor connected components are not necessarily separated by a watershed boundary +(-1's pixels); for example, they can touch each other in the initial marker image passed to the +function. + +@param image Input 8-bit 3-channel image. +@param markers Input/output 32-bit single-channel image (map) of markers. It should have the same +size as image . + +@sa findContours + */ +CV_EXPORTS_W void watershed( InputArray image, InputOutputArray markers ); + +//! @} imgproc_segmentation + +//! @addtogroup imgproc_filter +//! @{ + +/** @brief Performs initial step of meanshift segmentation of an image. + +The function implements the filtering stage of meanshift segmentation, that is, the output of the +function is the filtered "posterized" image with color gradients and fine-grain texture flattened. +At every pixel (X,Y) of the input image (or down-sized input image, see below) the function executes +meanshift iterations, that is, the pixel (X,Y) neighborhood in the joint space-color hyperspace is +considered: + +\f[(x,y): X- \texttt{sp} \le x \le X+ \texttt{sp} , Y- \texttt{sp} \le y \le Y+ \texttt{sp} , ||(R,G,B)-(r,g,b)|| \le \texttt{sr}\f] + +where (R,G,B) and (r,g,b) are the vectors of color components at (X,Y) and (x,y), respectively +(though, the algorithm does not depend on the color space used, so any 3-component color space can +be used instead). Over the neighborhood the average spatial value (X',Y') and average color vector +(R',G',B') are found and they act as the neighborhood center on the next iteration: + +\f[(X,Y)~(X',Y'), (R,G,B)~(R',G',B').\f] + +After the iterations over, the color components of the initial pixel (that is, the pixel from where +the iterations started) are set to the final value (average color at the last iteration): + +\f[I(X,Y) <- (R*,G*,B*)\f] + +When maxLevel \> 0, the gaussian pyramid of maxLevel+1 levels is built, and the above procedure is +run on the smallest layer first. After that, the results are propagated to the larger layer and the +iterations are run again only on those pixels where the layer colors differ by more than sr from the +lower-resolution layer of the pyramid. That makes boundaries of color regions sharper. Note that the +results will be actually different from the ones obtained by running the meanshift procedure on the +whole original image (i.e. when maxLevel==0). + +@param src The source 8-bit, 3-channel image. +@param dst The destination image of the same format and the same size as the source. +@param sp The spatial window radius. +@param sr The color window radius. +@param maxLevel Maximum level of the pyramid for the segmentation. +@param termcrit Termination criteria: when to stop meanshift iterations. + */ +CV_EXPORTS_W void pyrMeanShiftFiltering( InputArray src, OutputArray dst, + double sp, double sr, int maxLevel = 1, + TermCriteria termcrit=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS,5,1) ); + +//! @} + +//! @addtogroup imgproc_segmentation +//! @{ + +/** @example samples/cpp/grabcut.cpp +An example using the GrabCut algorithm +![Sample Screenshot](grabcut_output1.jpg) +*/ + +/** @brief Runs the GrabCut algorithm. + +The function implements the [GrabCut image segmentation algorithm](http://en.wikipedia.org/wiki/GrabCut). + +@param img Input 8-bit 3-channel image. +@param mask Input/output 8-bit single-channel mask. The mask is initialized by the function when +mode is set to #GC_INIT_WITH_RECT. Its elements may have one of the #GrabCutClasses. +@param rect ROI containing a segmented object. The pixels outside of the ROI are marked as +"obvious background". The parameter is only used when mode==#GC_INIT_WITH_RECT . +@param bgdModel Temporary array for the background model. Do not modify it while you are +processing the same image. +@param fgdModel Temporary arrays for the foreground model. Do not modify it while you are +processing the same image. +@param iterCount Number of iterations the algorithm should make before returning the result. Note +that the result can be refined with further calls with mode==#GC_INIT_WITH_MASK or +mode==GC_EVAL . +@param mode Operation mode that could be one of the #GrabCutModes + */ +CV_EXPORTS_W void grabCut( InputArray img, InputOutputArray mask, Rect rect, + InputOutputArray bgdModel, InputOutputArray fgdModel, + int iterCount, int mode = GC_EVAL ); + +//! @} imgproc_segmentation + +//! @addtogroup imgproc_misc +//! @{ + +/** @example samples/cpp/distrans.cpp +An example on using the distance transform +*/ + +/** @brief Calculates the distance to the closest zero pixel for each pixel of the source image. + +The function cv::distanceTransform calculates the approximate or precise distance from every binary +image pixel to the nearest zero pixel. For zero image pixels, the distance will obviously be zero. + +When maskSize == #DIST_MASK_PRECISE and distanceType == #DIST_L2 , the function runs the +algorithm described in @cite Felzenszwalb04 . This algorithm is parallelized with the TBB library. + +In other cases, the algorithm @cite Borgefors86 is used. This means that for a pixel the function +finds the shortest path to the nearest zero pixel consisting of basic shifts: horizontal, vertical, +diagonal, or knight's move (the latest is available for a \f$5\times 5\f$ mask). The overall +distance is calculated as a sum of these basic distances. Since the distance function should be +symmetric, all of the horizontal and vertical shifts must have the same cost (denoted as a ), all +the diagonal shifts must have the same cost (denoted as `b`), and all knight's moves must have the +same cost (denoted as `c`). For the #DIST_C and #DIST_L1 types, the distance is calculated +precisely, whereas for #DIST_L2 (Euclidean distance) the distance can be calculated only with a +relative error (a \f$5\times 5\f$ mask gives more accurate results). For `a`,`b`, and `c`, OpenCV +uses the values suggested in the original paper: +- DIST_L1: `a = 1, b = 2` +- DIST_L2: + - `3 x 3`: `a=0.955, b=1.3693` + - `5 x 5`: `a=1, b=1.4, c=2.1969` +- DIST_C: `a = 1, b = 1` + +Typically, for a fast, coarse distance estimation #DIST_L2, a \f$3\times 3\f$ mask is used. For a +more accurate distance estimation #DIST_L2, a \f$5\times 5\f$ mask or the precise algorithm is used. +Note that both the precise and the approximate algorithms are linear on the number of pixels. + +This variant of the function does not only compute the minimum distance for each pixel \f$(x, y)\f$ +but also identifies the nearest connected component consisting of zero pixels +(labelType==#DIST_LABEL_CCOMP) or the nearest zero pixel (labelType==#DIST_LABEL_PIXEL). Index of the +component/pixel is stored in `labels(x, y)`. When labelType==#DIST_LABEL_CCOMP, the function +automatically finds connected components of zero pixels in the input image and marks them with +distinct labels. When labelType==#DIST_LABEL_PIXEL, the function scans through the input image and +marks all the zero pixels with distinct labels. + +In this mode, the complexity is still linear. That is, the function provides a very fast way to +compute the Voronoi diagram for a binary image. Currently, the second variant can use only the +approximate distance transform algorithm, i.e. maskSize=#DIST_MASK_PRECISE is not supported +yet. + +@param src 8-bit, single-channel (binary) source image. +@param dst Output image with calculated distances. It is a 8-bit or 32-bit floating-point, +single-channel image of the same size as src. +@param labels Output 2D array of labels (the discrete Voronoi diagram). It has the type +CV_32SC1 and the same size as src. +@param distanceType Type of distance, see #DistanceTypes +@param maskSize Size of the distance transform mask, see #DistanceTransformMasks. +#DIST_MASK_PRECISE is not supported by this variant. In case of the #DIST_L1 or #DIST_C distance type, +the parameter is forced to 3 because a \f$3\times 3\f$ mask gives the same result as \f$5\times +5\f$ or any larger aperture. +@param labelType Type of the label array to build, see #DistanceTransformLabelTypes. + */ +CV_EXPORTS_AS(distanceTransformWithLabels) void distanceTransform( InputArray src, OutputArray dst, + OutputArray labels, int distanceType, int maskSize, + int labelType = DIST_LABEL_CCOMP ); + +/** @overload +@param src 8-bit, single-channel (binary) source image. +@param dst Output image with calculated distances. It is a 8-bit or 32-bit floating-point, +single-channel image of the same size as src . +@param distanceType Type of distance, see #DistanceTypes +@param maskSize Size of the distance transform mask, see #DistanceTransformMasks. In case of the +#DIST_L1 or #DIST_C distance type, the parameter is forced to 3 because a \f$3\times 3\f$ mask gives +the same result as \f$5\times 5\f$ or any larger aperture. +@param dstType Type of output image. It can be CV_8U or CV_32F. Type CV_8U can be used only for +the first variant of the function and distanceType == #DIST_L1. +*/ +CV_EXPORTS_W void distanceTransform( InputArray src, OutputArray dst, + int distanceType, int maskSize, int dstType=CV_32F); + +/** @brief Fills a connected component with the given color. + +The function cv::floodFill fills a connected component starting from the seed point with the specified +color. The connectivity is determined by the color/brightness closeness of the neighbor pixels. The +pixel at \f$(x,y)\f$ is considered to belong to the repainted domain if: + +- in case of a grayscale image and floating range +\f[\texttt{src} (x',y')- \texttt{loDiff} \leq \texttt{src} (x,y) \leq \texttt{src} (x',y')+ \texttt{upDiff}\f] + + +- in case of a grayscale image and fixed range +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)- \texttt{loDiff} \leq \texttt{src} (x,y) \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)+ \texttt{upDiff}\f] + + +- in case of a color image and floating range +\f[\texttt{src} (x',y')_r- \texttt{loDiff} _r \leq \texttt{src} (x,y)_r \leq \texttt{src} (x',y')_r+ \texttt{upDiff} _r,\f] +\f[\texttt{src} (x',y')_g- \texttt{loDiff} _g \leq \texttt{src} (x,y)_g \leq \texttt{src} (x',y')_g+ \texttt{upDiff} _g\f] +and +\f[\texttt{src} (x',y')_b- \texttt{loDiff} _b \leq \texttt{src} (x,y)_b \leq \texttt{src} (x',y')_b+ \texttt{upDiff} _b\f] + + +- in case of a color image and fixed range +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_r- \texttt{loDiff} _r \leq \texttt{src} (x,y)_r \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_r+ \texttt{upDiff} _r,\f] +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_g- \texttt{loDiff} _g \leq \texttt{src} (x,y)_g \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_g+ \texttt{upDiff} _g\f] +and +\f[\texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_b- \texttt{loDiff} _b \leq \texttt{src} (x,y)_b \leq \texttt{src} ( \texttt{seedPoint} .x, \texttt{seedPoint} .y)_b+ \texttt{upDiff} _b\f] + + +where \f$src(x',y')\f$ is the value of one of pixel neighbors that is already known to belong to the +component. That is, to be added to the connected component, a color/brightness of the pixel should +be close enough to: +- Color/brightness of one of its neighbors that already belong to the connected component in case +of a floating range. +- Color/brightness of the seed point in case of a fixed range. + +Use these functions to either mark a connected component with the specified color in-place, or build +a mask and then extract the contour, or copy the region to another image, and so on. + +@param image Input/output 1- or 3-channel, 8-bit, or floating-point image. It is modified by the +function unless the #FLOODFILL_MASK_ONLY flag is set in the second variant of the function. See +the details below. +@param mask Operation mask that should be a single-channel 8-bit image, 2 pixels wider and 2 pixels +taller than image. If an empty Mat is passed it will be created automatically. Since this is both an +input and output parameter, you must take responsibility of initializing it. +Flood-filling cannot go across non-zero pixels in the input mask. For example, +an edge detector output can be used as a mask to stop filling at edges. On output, pixels in the +mask corresponding to filled pixels in the image are set to 1 or to the specified value in flags +as described below. Additionally, the function fills the border of the mask with ones to simplify +internal processing. It is therefore possible to use the same mask in multiple calls to the function +to make sure the filled areas do not overlap. +@param seedPoint Starting point. +@param newVal New value of the repainted domain pixels. +@param loDiff Maximal lower brightness/color difference between the currently observed pixel and +one of its neighbors belonging to the component, or a seed pixel being added to the component. +@param upDiff Maximal upper brightness/color difference between the currently observed pixel and +one of its neighbors belonging to the component, or a seed pixel being added to the component. +@param rect Optional output parameter set by the function to the minimum bounding rectangle of the +repainted domain. +@param flags Operation flags. The first 8 bits contain a connectivity value. The default value of +4 means that only the four nearest neighbor pixels (those that share an edge) are considered. A +connectivity value of 8 means that the eight nearest neighbor pixels (those that share a corner) +will be considered. The next 8 bits (8-16) contain a value between 1 and 255 with which to fill +the mask (the default value is 1). For example, 4 | ( 255 \<\< 8 ) will consider 4 nearest +neighbours and fill the mask with a value of 255. The following additional options occupy higher +bits and therefore may be further combined with the connectivity and mask fill values using +bit-wise or (|), see #FloodFillFlags. + +@note Since the mask is larger than the filled image, a pixel \f$(x, y)\f$ in image corresponds to the +pixel \f$(x+1, y+1)\f$ in the mask . + +@sa findContours + */ +CV_EXPORTS_W int floodFill( InputOutputArray image, InputOutputArray mask, + Point seedPoint, Scalar newVal, CV_OUT Rect* rect=0, + Scalar loDiff = Scalar(), Scalar upDiff = Scalar(), + int flags = 4 ); + +/** @example samples/cpp/ffilldemo.cpp +An example using the FloodFill technique +*/ + +/** @overload + +variant without `mask` parameter +*/ +CV_EXPORTS int floodFill( InputOutputArray image, + Point seedPoint, Scalar newVal, CV_OUT Rect* rect = 0, + Scalar loDiff = Scalar(), Scalar upDiff = Scalar(), + int flags = 4 ); + +//! Performs linear blending of two images: +//! \f[ \texttt{dst}(i,j) = \texttt{weights1}(i,j)*\texttt{src1}(i,j) + \texttt{weights2}(i,j)*\texttt{src2}(i,j) \f] +//! @param src1 It has a type of CV_8UC(n) or CV_32FC(n), where n is a positive integer. +//! @param src2 It has the same type and size as src1. +//! @param weights1 It has a type of CV_32FC1 and the same size with src1. +//! @param weights2 It has a type of CV_32FC1 and the same size with src1. +//! @param dst It is created if it does not have the same size and type with src1. +CV_EXPORTS_W void blendLinear(InputArray src1, InputArray src2, InputArray weights1, InputArray weights2, OutputArray dst); + +//! @} imgproc_misc + +//! @addtogroup imgproc_color_conversions +//! @{ + +/** @brief Converts an image from one color space to another. + +The function converts an input image from one color space to another. In case of a transformation +to-from RGB color space, the order of the channels should be specified explicitly (RGB or BGR). Note +that the default color format in OpenCV is often referred to as RGB but it is actually BGR (the +bytes are reversed). So the first byte in a standard (24-bit) color image will be an 8-bit Blue +component, the second byte will be Green, and the third byte will be Red. The fourth, fifth, and +sixth bytes would then be the second pixel (Blue, then Green, then Red), and so on. + +The conventional ranges for R, G, and B channel values are: +- 0 to 255 for CV_8U images +- 0 to 65535 for CV_16U images +- 0 to 1 for CV_32F images + +In case of linear transformations, the range does not matter. But in case of a non-linear +transformation, an input RGB image should be normalized to the proper value range to get the correct +results, for example, for RGB \f$\rightarrow\f$ L\*u\*v\* transformation. For example, if you have a +32-bit floating-point image directly converted from an 8-bit image without any scaling, then it will +have the 0..255 value range instead of 0..1 assumed by the function. So, before calling #cvtColor , +you need first to scale the image down: +@code + img *= 1./255; + cvtColor(img, img, COLOR_BGR2Luv); +@endcode +If you use #cvtColor with 8-bit images, the conversion will have some information lost. For many +applications, this will not be noticeable but it is recommended to use 32-bit images in applications +that need the full range of colors or that convert an image before an operation and then convert +back. + +If conversion adds the alpha channel, its value will set to the maximum of corresponding channel +range: 255 for CV_8U, 65535 for CV_16U, 1 for CV_32F. + +@param src input image: 8-bit unsigned, 16-bit unsigned ( CV_16UC... ), or single-precision +floating-point. +@param dst output image of the same size and depth as src. +@param code color space conversion code (see #ColorConversionCodes). +@param dstCn number of channels in the destination image; if the parameter is 0, the number of the +channels is derived automatically from src and code. + +@see @ref imgproc_color_conversions + */ +CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 ); + +/** @brief Converts an image from one color space to another where the source image is +stored in two planes. + +This function only supports YUV420 to RGB conversion as of now. + +@param src1: 8-bit image (#CV_8U) of the Y plane. +@param src2: image containing interleaved U/V plane. +@param dst: output image. +@param code: Specifies the type of conversion. It can take any of the following values: +- #COLOR_YUV2BGR_NV12 +- #COLOR_YUV2RGB_NV12 +- #COLOR_YUV2BGRA_NV12 +- #COLOR_YUV2RGBA_NV12 +- #COLOR_YUV2BGR_NV21 +- #COLOR_YUV2RGB_NV21 +- #COLOR_YUV2BGRA_NV21 +- #COLOR_YUV2RGBA_NV21 +*/ +CV_EXPORTS_W void cvtColorTwoPlane( InputArray src1, InputArray src2, OutputArray dst, int code ); + +/** @brief main function for all demosaicing processes + +@param src input image: 8-bit unsigned or 16-bit unsigned. +@param dst output image of the same size and depth as src. +@param code Color space conversion code (see the description below). +@param dstCn number of channels in the destination image; if the parameter is 0, the number of the +channels is derived automatically from src and code. + +The function can do the following transformations: + +- Demosaicing using bilinear interpolation + + #COLOR_BayerBG2BGR , #COLOR_BayerGB2BGR , #COLOR_BayerRG2BGR , #COLOR_BayerGR2BGR + + #COLOR_BayerBG2GRAY , #COLOR_BayerGB2GRAY , #COLOR_BayerRG2GRAY , #COLOR_BayerGR2GRAY + +- Demosaicing using Variable Number of Gradients. + + #COLOR_BayerBG2BGR_VNG , #COLOR_BayerGB2BGR_VNG , #COLOR_BayerRG2BGR_VNG , #COLOR_BayerGR2BGR_VNG + +- Edge-Aware Demosaicing. + + #COLOR_BayerBG2BGR_EA , #COLOR_BayerGB2BGR_EA , #COLOR_BayerRG2BGR_EA , #COLOR_BayerGR2BGR_EA + +- Demosaicing with alpha channel + + #COLOR_BayerBG2BGRA , #COLOR_BayerGB2BGRA , #COLOR_BayerRG2BGRA , #COLOR_BayerGR2BGRA + +@sa cvtColor +*/ +CV_EXPORTS_W void demosaicing(InputArray src, OutputArray dst, int code, int dstCn = 0); + +//! @} imgproc_color_conversions + +//! @addtogroup imgproc_shape +//! @{ + +/** @brief Calculates all of the moments up to the third order of a polygon or rasterized shape. + +The function computes moments, up to the 3rd order, of a vector shape or a rasterized shape. The +results are returned in the structure cv::Moments. + +@param array Raster image (single-channel, 8-bit or floating-point 2D array) or an array ( +\f$1 \times N\f$ or \f$N \times 1\f$ ) of 2D points (Point or Point2f ). +@param binaryImage If it is true, all non-zero image pixels are treated as 1's. The parameter is +used for images only. +@returns moments. + +@note Only applicable to contour moments calculations from Python bindings: Note that the numpy +type for the input array should be either np.int32 or np.float32. + +@sa contourArea, arcLength + */ +CV_EXPORTS_W Moments moments( InputArray array, bool binaryImage = false ); + +/** @brief Calculates seven Hu invariants. + +The function calculates seven Hu invariants (introduced in @cite Hu62; see also +) defined as: + +\f[\begin{array}{l} hu[0]= \eta _{20}+ \eta _{02} \\ hu[1]=( \eta _{20}- \eta _{02})^{2}+4 \eta _{11}^{2} \\ hu[2]=( \eta _{30}-3 \eta _{12})^{2}+ (3 \eta _{21}- \eta _{03})^{2} \\ hu[3]=( \eta _{30}+ \eta _{12})^{2}+ ( \eta _{21}+ \eta _{03})^{2} \\ hu[4]=( \eta _{30}-3 \eta _{12})( \eta _{30}+ \eta _{12})[( \eta _{30}+ \eta _{12})^{2}-3( \eta _{21}+ \eta _{03})^{2}]+(3 \eta _{21}- \eta _{03})( \eta _{21}+ \eta _{03})[3( \eta _{30}+ \eta _{12})^{2}-( \eta _{21}+ \eta _{03})^{2}] \\ hu[5]=( \eta _{20}- \eta _{02})[( \eta _{30}+ \eta _{12})^{2}- ( \eta _{21}+ \eta _{03})^{2}]+4 \eta _{11}( \eta _{30}+ \eta _{12})( \eta _{21}+ \eta _{03}) \\ hu[6]=(3 \eta _{21}- \eta _{03})( \eta _{21}+ \eta _{03})[3( \eta _{30}+ \eta _{12})^{2}-( \eta _{21}+ \eta _{03})^{2}]-( \eta _{30}-3 \eta _{12})( \eta _{21}+ \eta _{03})[3( \eta _{30}+ \eta _{12})^{2}-( \eta _{21}+ \eta _{03})^{2}] \\ \end{array}\f] + +where \f$\eta_{ji}\f$ stands for \f$\texttt{Moments::nu}_{ji}\f$ . + +These values are proved to be invariants to the image scale, rotation, and reflection except the +seventh one, whose sign is changed by reflection. This invariance is proved with the assumption of +infinite image resolution. In case of raster images, the computed Hu invariants for the original and +transformed images are a bit different. + +@param moments Input moments computed with moments . +@param hu Output Hu invariants. + +@sa matchShapes + */ +CV_EXPORTS void HuMoments( const Moments& moments, double hu[7] ); + +/** @overload */ +CV_EXPORTS_W void HuMoments( const Moments& m, OutputArray hu ); + +//! @} imgproc_shape + +//! @addtogroup imgproc_object +//! @{ + +//! type of the template matching operation +enum TemplateMatchModes { + TM_SQDIFF = 0, /*!< \f[R(x,y)= \sum _{x',y'} (T(x',y')-I(x+x',y+y'))^2\f] + with mask: + \f[R(x,y)= \sum _{x',y'} \left( (T(x',y')-I(x+x',y+y')) \cdot + M(x',y') \right)^2\f] */ + TM_SQDIFF_NORMED = 1, /*!< \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y')-I(x+x',y+y'))^2}{\sqrt{\sum_{ + x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}}\f] + with mask: + \f[R(x,y)= \frac{\sum _{x',y'} \left( (T(x',y')-I(x+x',y+y')) \cdot + M(x',y') \right)^2}{\sqrt{\sum_{x',y'} \left( T(x',y') \cdot + M(x',y') \right)^2 \cdot \sum_{x',y'} \left( I(x+x',y+y') \cdot + M(x',y') \right)^2}}\f] */ + TM_CCORR = 2, /*!< \f[R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y'))\f] + with mask: + \f[R(x,y)= \sum _{x',y'} (T(x',y') \cdot I(x+x',y+y') \cdot M(x',y') + ^2)\f] */ + TM_CCORR_NORMED = 3, /*!< \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I(x+x',y+y'))}{\sqrt{ + \sum_{x',y'}T(x',y')^2 \cdot \sum_{x',y'} I(x+x',y+y')^2}}\f] + with mask: + \f[R(x,y)= \frac{\sum_{x',y'} (T(x',y') \cdot I(x+x',y+y') \cdot + M(x',y')^2)}{\sqrt{\sum_{x',y'} \left( T(x',y') \cdot M(x',y') + \right)^2 \cdot \sum_{x',y'} \left( I(x+x',y+y') \cdot M(x',y') + \right)^2}}\f] */ + TM_CCOEFF = 4, /*!< \f[R(x,y)= \sum _{x',y'} (T'(x',y') \cdot I'(x+x',y+y'))\f] + where + \f[\begin{array}{l} T'(x',y')=T(x',y') - 1/(w \cdot h) \cdot \sum _{ + x'',y''} T(x'',y'') \\ I'(x+x',y+y')=I(x+x',y+y') - 1/(w \cdot h) + \cdot \sum _{x'',y''} I(x+x'',y+y'') \end{array}\f] + with mask: + \f[\begin{array}{l} T'(x',y')=M(x',y') \cdot \left( T(x',y') - + \frac{1}{\sum _{x'',y''} M(x'',y'')} \cdot \sum _{x'',y''} + (T(x'',y'') \cdot M(x'',y'')) \right) \\ I'(x+x',y+y')=M(x',y') + \cdot \left( I(x+x',y+y') - \frac{1}{\sum _{x'',y''} M(x'',y'')} + \cdot \sum _{x'',y''} (I(x+x'',y+y'') \cdot M(x'',y'')) \right) + \end{array} \f] */ + TM_CCOEFF_NORMED = 5 /*!< \f[R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ + \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum_{x',y'} I'(x+x',y+y')^2} + }\f] */ +}; + +/** @example samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp +An example using Template Matching algorithm +*/ + +/** @brief Compares a template against overlapped image regions. + +The function slides through image , compares the overlapped patches of size \f$w \times h\f$ against +templ using the specified method and stores the comparison results in result . #TemplateMatchModes +describes the formulae for the available comparison methods ( \f$I\f$ denotes image, \f$T\f$ +template, \f$R\f$ result, \f$M\f$ the optional mask ). The summation is done over template and/or +the image patch: \f$x' = 0...w-1, y' = 0...h-1\f$ + +After the function finishes the comparison, the best matches can be found as global minimums (when +#TM_SQDIFF was used) or maximums (when #TM_CCORR or #TM_CCOEFF was used) using the +#minMaxLoc function. In case of a color image, template summation in the numerator and each sum in +the denominator is done over all of the channels and separate mean values are used for each channel. +That is, the function can take a color template and a color image. The result will still be a +single-channel image, which is easier to analyze. + +@param image Image where the search is running. It must be 8-bit or 32-bit floating-point. +@param templ Searched template. It must be not greater than the source image and have the same +data type. +@param result Map of comparison results. It must be single-channel 32-bit floating-point. If image +is \f$W \times H\f$ and templ is \f$w \times h\f$ , then result is \f$(W-w+1) \times (H-h+1)\f$ . +@param method Parameter specifying the comparison method, see #TemplateMatchModes +@param mask Optional mask. It must have the same size as templ. It must either have the same number + of channels as template or only one channel, which is then used for all template and + image channels. If the data type is #CV_8U, the mask is interpreted as a binary mask, + meaning only elements where mask is nonzero are used and are kept unchanged independent + of the actual mask value (weight equals 1). For data tpye #CV_32F, the mask values are + used as weights. The exact formulas are documented in #TemplateMatchModes. + */ +CV_EXPORTS_W void matchTemplate( InputArray image, InputArray templ, + OutputArray result, int method, InputArray mask = noArray() ); + +//! @} + +//! @addtogroup imgproc_shape +//! @{ + +/** @example samples/cpp/connected_components.cpp +This program demonstrates connected components and use of the trackbar +*/ + +/** @brief computes the connected components labeled image of boolean image + +image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 +represents the background label. ltype specifies the output label image type, an important +consideration based on the total number of labels or alternatively the total number of pixels in +the source image. ccltype specifies the connected components labeling algorithm to use, currently +Bolelli (Spaghetti) @cite Bolelli2019, Grana (BBDT) @cite Grana2010 and Wu's (SAUF) @cite Wu2009 algorithms +are supported, see the #ConnectedComponentsAlgorithmsTypes for details. Note that SAUF algorithm forces +a row major ordering of labels while Spaghetti and BBDT do not. +This function uses parallel version of the algorithms if at least one allowed +parallel framework is enabled and if the rows of the image are at least twice the number returned by #getNumberOfCPUs. + +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +@param ccltype connected components algorithm type (see the #ConnectedComponentsAlgorithmsTypes). +*/ +CV_EXPORTS_AS(connectedComponentsWithAlgorithm) int connectedComponents(InputArray image, OutputArray labels, + int connectivity, int ltype, int ccltype); + + +/** @overload + +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +*/ +CV_EXPORTS_W int connectedComponents(InputArray image, OutputArray labels, + int connectivity = 8, int ltype = CV_32S); + + +/** @brief computes the connected components labeled image of boolean image and also produces a statistics output for each label + +image with 4 or 8 way connectivity - returns N, the total number of labels [0, N-1] where 0 +represents the background label. ltype specifies the output label image type, an important +consideration based on the total number of labels or alternatively the total number of pixels in +the source image. ccltype specifies the connected components labeling algorithm to use, currently +Bolelli (Spaghetti) @cite Bolelli2019, Grana (BBDT) @cite Grana2010 and Wu's (SAUF) @cite Wu2009 algorithms +are supported, see the #ConnectedComponentsAlgorithmsTypes for details. Note that SAUF algorithm forces +a row major ordering of labels while Spaghetti and BBDT do not. +This function uses parallel version of the algorithms (statistics included) if at least one allowed +parallel framework is enabled and if the rows of the image are at least twice the number returned by #getNumberOfCPUs. + +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param stats statistics output for each label, including the background label. +Statistics are accessed via stats(label, COLUMN) where COLUMN is one of +#ConnectedComponentsTypes, selecting the statistic. The data type is CV_32S. +@param centroids centroid output for each label, including the background label. Centroids are +accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F. +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +@param ccltype connected components algorithm type (see #ConnectedComponentsAlgorithmsTypes). +*/ +CV_EXPORTS_AS(connectedComponentsWithStatsWithAlgorithm) int connectedComponentsWithStats(InputArray image, OutputArray labels, + OutputArray stats, OutputArray centroids, + int connectivity, int ltype, int ccltype); + +/** @overload +@param image the 8-bit single-channel image to be labeled +@param labels destination labeled image +@param stats statistics output for each label, including the background label. +Statistics are accessed via stats(label, COLUMN) where COLUMN is one of +#ConnectedComponentsTypes, selecting the statistic. The data type is CV_32S. +@param centroids centroid output for each label, including the background label. Centroids are +accessed via centroids(label, 0) for x and centroids(label, 1) for y. The data type CV_64F. +@param connectivity 8 or 4 for 8-way or 4-way connectivity respectively +@param ltype output image label type. Currently CV_32S and CV_16U are supported. +*/ +CV_EXPORTS_W int connectedComponentsWithStats(InputArray image, OutputArray labels, + OutputArray stats, OutputArray centroids, + int connectivity = 8, int ltype = CV_32S); + + +/** @brief Finds contours in a binary image. + +The function retrieves contours from the binary image using the algorithm @cite Suzuki85 . The contours +are a useful tool for shape analysis and object detection and recognition. See squares.cpp in the +OpenCV sample directory. +@note Since opencv 3.2 source image is not modified by this function. + +@param image Source, an 8-bit single-channel image. Non-zero pixels are treated as 1's. Zero +pixels remain 0's, so the image is treated as binary . You can use #compare, #inRange, #threshold , +#adaptiveThreshold, #Canny, and others to create a binary image out of a grayscale or color one. +If mode equals to #RETR_CCOMP or #RETR_FLOODFILL, the input can also be a 32-bit integer image of labels (CV_32SC1). +@param contours Detected contours. Each contour is stored as a vector of points (e.g. +std::vector >). +@param hierarchy Optional output vector (e.g. std::vector), containing information about the image topology. It has +as many elements as the number of contours. For each i-th contour contours[i], the elements +hierarchy[i][0] , hierarchy[i][1] , hierarchy[i][2] , and hierarchy[i][3] are set to 0-based indices +in contours of the next and previous contours at the same hierarchical level, the first child +contour and the parent contour, respectively. If for the contour i there are no next, previous, +parent, or nested contours, the corresponding elements of hierarchy[i] will be negative. +@note In Python, hierarchy is nested inside a top level array. Use hierarchy[0][i] to access hierarchical elements of i-th contour. +@param mode Contour retrieval mode, see #RetrievalModes +@param method Contour approximation method, see #ContourApproximationModes +@param offset Optional offset by which every contour point is shifted. This is useful if the +contours are extracted from the image ROI and then they should be analyzed in the whole image +context. + */ +CV_EXPORTS_W void findContours( InputArray image, OutputArrayOfArrays contours, + OutputArray hierarchy, int mode, + int method, Point offset = Point()); + +/** @overload */ +CV_EXPORTS void findContours( InputArray image, OutputArrayOfArrays contours, + int mode, int method, Point offset = Point()); + +/** @example samples/cpp/squares.cpp +A program using pyramid scaling, Canny, contours and contour simplification to find +squares in a list of images (pic1-6.png). Returns sequence of squares detected on the image. +*/ + +/** @example samples/tapi/squares.cpp +A program using pyramid scaling, Canny, contours and contour simplification to find +squares in the input image. +*/ + +/** @brief Approximates a polygonal curve(s) with the specified precision. + +The function cv::approxPolyDP approximates a curve or a polygon with another curve/polygon with less +vertices so that the distance between them is less or equal to the specified precision. It uses the +Douglas-Peucker algorithm + +@param curve Input vector of a 2D point stored in std::vector or Mat +@param approxCurve Result of the approximation. The type should match the type of the input curve. +@param epsilon Parameter specifying the approximation accuracy. This is the maximum distance +between the original curve and its approximation. +@param closed If true, the approximated curve is closed (its first and last vertices are +connected). Otherwise, it is not closed. + */ +CV_EXPORTS_W void approxPolyDP( InputArray curve, + OutputArray approxCurve, + double epsilon, bool closed ); + +/** @brief Calculates a contour perimeter or a curve length. + +The function computes a curve length or a closed contour perimeter. + +@param curve Input vector of 2D points, stored in std::vector or Mat. +@param closed Flag indicating whether the curve is closed or not. + */ +CV_EXPORTS_W double arcLength( InputArray curve, bool closed ); + +/** @brief Calculates the up-right bounding rectangle of a point set or non-zero pixels of gray-scale image. + +The function calculates and returns the minimal up-right bounding rectangle for the specified point set or +non-zero pixels of gray-scale image. + +@param array Input gray-scale image or 2D point set, stored in std::vector or Mat. + */ +CV_EXPORTS_W Rect boundingRect( InputArray array ); + +/** @brief Calculates a contour area. + +The function computes a contour area. Similarly to moments , the area is computed using the Green +formula. Thus, the returned area and the number of non-zero pixels, if you draw the contour using +#drawContours or #fillPoly , can be different. Also, the function will most certainly give a wrong +results for contours with self-intersections. + +Example: +@code + vector contour; + contour.push_back(Point2f(0, 0)); + contour.push_back(Point2f(10, 0)); + contour.push_back(Point2f(10, 10)); + contour.push_back(Point2f(5, 4)); + + double area0 = contourArea(contour); + vector approx; + approxPolyDP(contour, approx, 5, true); + double area1 = contourArea(approx); + + cout << "area0 =" << area0 << endl << + "area1 =" << area1 << endl << + "approx poly vertices" << approx.size() << endl; +@endcode +@param contour Input vector of 2D points (contour vertices), stored in std::vector or Mat. +@param oriented Oriented area flag. If it is true, the function returns a signed area value, +depending on the contour orientation (clockwise or counter-clockwise). Using this feature you can +determine orientation of a contour by taking the sign of an area. By default, the parameter is +false, which means that the absolute value is returned. + */ +CV_EXPORTS_W double contourArea( InputArray contour, bool oriented = false ); + +/** @brief Finds a rotated rectangle of the minimum area enclosing the input 2D point set. + +The function calculates and returns the minimum-area bounding rectangle (possibly rotated) for a +specified point set. Developer should keep in mind that the returned RotatedRect can contain negative +indices when data is close to the containing Mat element boundary. + +@param points Input vector of 2D points, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect minAreaRect( InputArray points ); + +/** @brief Finds the four vertices of a rotated rect. Useful to draw the rotated rectangle. + +The function finds the four vertices of a rotated rectangle. This function is useful to draw the +rectangle. In C++, instead of using this function, you can directly use RotatedRect::points method. Please +visit the @ref tutorial_bounding_rotated_ellipses "tutorial on Creating Bounding rotated boxes and ellipses for contours" for more information. + +@param box The input rotated rectangle. It may be the output of @ref minAreaRect. +@param points The output array of four vertices of rectangles. + */ +CV_EXPORTS_W void boxPoints(RotatedRect box, OutputArray points); + +/** @brief Finds a circle of the minimum area enclosing a 2D point set. + +The function finds the minimal enclosing circle of a 2D point set using an iterative algorithm. + +@param points Input vector of 2D points, stored in std::vector\<\> or Mat +@param center Output center of the circle. +@param radius Output radius of the circle. + */ +CV_EXPORTS_W void minEnclosingCircle( InputArray points, + CV_OUT Point2f& center, CV_OUT float& radius ); + +/** @example samples/cpp/minarea.cpp +*/ + +/** @brief Finds a triangle of minimum area enclosing a 2D point set and returns its area. + +The function finds a triangle of minimum area enclosing the given set of 2D points and returns its +area. The output for a given 2D point set is shown in the image below. 2D points are depicted in +*red* and the enclosing triangle in *yellow*. + +![Sample output of the minimum enclosing triangle function](pics/minenclosingtriangle.png) + +The implementation of the algorithm is based on O'Rourke's @cite ORourke86 and Klee and Laskowski's +@cite KleeLaskowski85 papers. O'Rourke provides a \f$\theta(n)\f$ algorithm for finding the minimal +enclosing triangle of a 2D convex polygon with n vertices. Since the #minEnclosingTriangle function +takes a 2D point set as input an additional preprocessing step of computing the convex hull of the +2D point set is required. The complexity of the #convexHull function is \f$O(n log(n))\f$ which is higher +than \f$\theta(n)\f$. Thus the overall complexity of the function is \f$O(n log(n))\f$. + +@param points Input vector of 2D points with depth CV_32S or CV_32F, stored in std::vector\<\> or Mat +@param triangle Output vector of three 2D points defining the vertices of the triangle. The depth +of the OutputArray must be CV_32F. + */ +CV_EXPORTS_W double minEnclosingTriangle( InputArray points, CV_OUT OutputArray triangle ); + +/** @brief Compares two shapes. + +The function compares two shapes. All three implemented methods use the Hu invariants (see #HuMoments) + +@param contour1 First contour or grayscale image. +@param contour2 Second contour or grayscale image. +@param method Comparison method, see #ShapeMatchModes +@param parameter Method-specific parameter (not supported now). + */ +CV_EXPORTS_W double matchShapes( InputArray contour1, InputArray contour2, + int method, double parameter ); + +/** @example samples/cpp/convexhull.cpp +An example using the convexHull functionality +*/ + +/** @brief Finds the convex hull of a point set. + +The function cv::convexHull finds the convex hull of a 2D point set using the Sklansky's algorithm @cite Sklansky82 +that has *O(N logN)* complexity in the current implementation. + +@param points Input 2D point set, stored in std::vector or Mat. +@param hull Output convex hull. It is either an integer vector of indices or vector of points. In +the first case, the hull elements are 0-based indices of the convex hull points in the original +array (since the set of convex hull points is a subset of the original point set). In the second +case, hull elements are the convex hull points themselves. +@param clockwise Orientation flag. If it is true, the output convex hull is oriented clockwise. +Otherwise, it is oriented counter-clockwise. The assumed coordinate system has its X axis pointing +to the right, and its Y axis pointing upwards. +@param returnPoints Operation flag. In case of a matrix, when the flag is true, the function +returns convex hull points. Otherwise, it returns indices of the convex hull points. When the +output array is std::vector, the flag is ignored, and the output depends on the type of the +vector: std::vector\ implies returnPoints=false, std::vector\ implies +returnPoints=true. + +@note `points` and `hull` should be different arrays, inplace processing isn't supported. + +Check @ref tutorial_hull "the corresponding tutorial" for more details. + +useful links: + +https://www.learnopencv.com/convex-hull-using-opencv-in-python-and-c/ + */ +CV_EXPORTS_W void convexHull( InputArray points, OutputArray hull, + bool clockwise = false, bool returnPoints = true ); + +/** @brief Finds the convexity defects of a contour. + +The figure below displays convexity defects of a hand contour: + +![image](pics/defects.png) + +@param contour Input contour. +@param convexhull Convex hull obtained using convexHull that should contain indices of the contour +points that make the hull. +@param convexityDefects The output vector of convexity defects. In C++ and the new Python/Java +interface each convexity defect is represented as 4-element integer vector (a.k.a. #Vec4i): +(start_index, end_index, farthest_pt_index, fixpt_depth), where indices are 0-based indices +in the original contour of the convexity defect beginning, end and the farthest point, and +fixpt_depth is fixed-point approximation (with 8 fractional bits) of the distance between the +farthest contour point and the hull. That is, to get the floating-point value of the depth will be +fixpt_depth/256.0. + */ +CV_EXPORTS_W void convexityDefects( InputArray contour, InputArray convexhull, OutputArray convexityDefects ); + +/** @brief Tests a contour convexity. + +The function tests whether the input contour is convex or not. The contour must be simple, that is, +without self-intersections. Otherwise, the function output is undefined. + +@param contour Input vector of 2D points, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W bool isContourConvex( InputArray contour ); + +/** @example samples/cpp/intersectExample.cpp +Examples of how intersectConvexConvex works +*/ + +/** @brief Finds intersection of two convex polygons + +@param p1 First polygon +@param p2 Second polygon +@param p12 Output polygon describing the intersecting area +@param handleNested When true, an intersection is found if one of the polygons is fully enclosed in the other. +When false, no intersection is found. If the polygons share a side or the vertex of one polygon lies on an edge +of the other, they are not considered nested and an intersection will be found regardless of the value of handleNested. + +@returns Absolute value of area of intersecting polygon + +@note intersectConvexConvex doesn't confirm that both polygons are convex and will return invalid results if they aren't. + */ +CV_EXPORTS_W float intersectConvexConvex( InputArray p1, InputArray p2, + OutputArray p12, bool handleNested = true ); + +/** @example samples/cpp/fitellipse.cpp +An example using the fitEllipse technique +*/ + +/** @brief Fits an ellipse around a set of 2D points. + +The function calculates the ellipse that fits (in a least-squares sense) a set of 2D points best of +all. It returns the rotated rectangle in which the ellipse is inscribed. The first algorithm described by @cite Fitzgibbon95 +is used. Developer should keep in mind that it is possible that the returned +ellipse/rotatedRect data contains negative indices, due to the data points being close to the +border of the containing Mat element. + +@param points Input 2D point set, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect fitEllipse( InputArray points ); + +/** @brief Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Approximate Mean Square (AMS) proposed by @cite Taubin1991 is used. + + For an ellipse, this basis set is \f$ \chi= \left(x^2, x y, y^2, x, y, 1\right) \f$, + which is a set of six free coefficients \f$ A^T=\left\{A_{\text{xx}},A_{\text{xy}},A_{\text{yy}},A_x,A_y,A_0\right\} \f$. + However, to specify an ellipse, all that is needed is five numbers; the major and minor axes lengths \f$ (a,b) \f$, + the position \f$ (x_0,y_0) \f$, and the orientation \f$ \theta \f$. This is because the basis set includes lines, + quadratics, parabolic and hyperbolic functions as well as elliptical functions as possible fits. + If the fit is found to be a parabolic or hyperbolic function then the standard #fitEllipse method is used. + The AMS method restricts the fit to parabolic, hyperbolic and elliptical curves + by imposing the condition that \f$ A^T ( D_x^T D_x + D_y^T D_y) A = 1 \f$ where + the matrices \f$ Dx \f$ and \f$ Dy \f$ are the partial derivatives of the design matrix \f$ D \f$ with + respect to x and y. The matrices are formed row by row applying the following to + each of the points in the set: + \f{align*}{ + D(i,:)&=\left\{x_i^2, x_i y_i, y_i^2, x_i, y_i, 1\right\} & + D_x(i,:)&=\left\{2 x_i,y_i,0,1,0,0\right\} & + D_y(i,:)&=\left\{0,x_i,2 y_i,0,1,0\right\} + \f} + The AMS method minimizes the cost function + \f{equation*}{ + \epsilon ^2=\frac{ A^T D^T D A }{ A^T (D_x^T D_x + D_y^T D_y) A^T } + \f} + + The minimum cost is found by solving the generalized eigenvalue problem. + + \f{equation*}{ + D^T D A = \lambda \left( D_x^T D_x + D_y^T D_y\right) A + \f} + + @param points Input 2D point set, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect fitEllipseAMS( InputArray points ); + + +/** @brief Fits an ellipse around a set of 2D points. + + The function calculates the ellipse that fits a set of 2D points. + It returns the rotated rectangle in which the ellipse is inscribed. + The Direct least square (Direct) method by @cite Fitzgibbon1999 is used. + + For an ellipse, this basis set is \f$ \chi= \left(x^2, x y, y^2, x, y, 1\right) \f$, + which is a set of six free coefficients \f$ A^T=\left\{A_{\text{xx}},A_{\text{xy}},A_{\text{yy}},A_x,A_y,A_0\right\} \f$. + However, to specify an ellipse, all that is needed is five numbers; the major and minor axes lengths \f$ (a,b) \f$, + the position \f$ (x_0,y_0) \f$, and the orientation \f$ \theta \f$. This is because the basis set includes lines, + quadratics, parabolic and hyperbolic functions as well as elliptical functions as possible fits. + The Direct method confines the fit to ellipses by ensuring that \f$ 4 A_{xx} A_{yy}- A_{xy}^2 > 0 \f$. + The condition imposed is that \f$ 4 A_{xx} A_{yy}- A_{xy}^2=1 \f$ which satisfies the inequality + and as the coefficients can be arbitrarily scaled is not overly restrictive. + + \f{equation*}{ + \epsilon ^2= A^T D^T D A \quad \text{with} \quad A^T C A =1 \quad \text{and} \quad C=\left(\begin{matrix} + 0 & 0 & 2 & 0 & 0 & 0 \\ + 0 & -1 & 0 & 0 & 0 & 0 \\ + 2 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 \\ + 0 & 0 & 0 & 0 & 0 & 0 + \end{matrix} \right) + \f} + + The minimum cost is found by solving the generalized eigenvalue problem. + + \f{equation*}{ + D^T D A = \lambda \left( C\right) A + \f} + + The system produces only one positive eigenvalue \f$ \lambda\f$ which is chosen as the solution + with its eigenvector \f$\mathbf{u}\f$. These are used to find the coefficients + + \f{equation*}{ + A = \sqrt{\frac{1}{\mathbf{u}^T C \mathbf{u}}} \mathbf{u} + \f} + The scaling factor guarantees that \f$A^T C A =1\f$. + + @param points Input 2D point set, stored in std::vector\<\> or Mat + */ +CV_EXPORTS_W RotatedRect fitEllipseDirect( InputArray points ); + +/** @brief Fits a line to a 2D or 3D point set. + +The function fitLine fits a line to a 2D or 3D point set by minimizing \f$\sum_i \rho(r_i)\f$ where +\f$r_i\f$ is a distance between the \f$i^{th}\f$ point, the line and \f$\rho(r)\f$ is a distance function, one +of the following: +- DIST_L2 +\f[\rho (r) = r^2/2 \quad \text{(the simplest and the fastest least-squares method)}\f] +- DIST_L1 +\f[\rho (r) = r\f] +- DIST_L12 +\f[\rho (r) = 2 \cdot ( \sqrt{1 + \frac{r^2}{2}} - 1)\f] +- DIST_FAIR +\f[\rho \left (r \right ) = C^2 \cdot \left ( \frac{r}{C} - \log{\left(1 + \frac{r}{C}\right)} \right ) \quad \text{where} \quad C=1.3998\f] +- DIST_WELSCH +\f[\rho \left (r \right ) = \frac{C^2}{2} \cdot \left ( 1 - \exp{\left(-\left(\frac{r}{C}\right)^2\right)} \right ) \quad \text{where} \quad C=2.9846\f] +- DIST_HUBER +\f[\rho (r) = \fork{r^2/2}{if \(r < C\)}{C \cdot (r-C/2)}{otherwise} \quad \text{where} \quad C=1.345\f] + +The algorithm is based on the M-estimator ( ) technique +that iteratively fits the line using the weighted least-squares algorithm. After each iteration the +weights \f$w_i\f$ are adjusted to be inversely proportional to \f$\rho(r_i)\f$ . + +@param points Input vector of 2D or 3D points, stored in std::vector\<\> or Mat. +@param line Output line parameters. In case of 2D fitting, it should be a vector of 4 elements +(like Vec4f) - (vx, vy, x0, y0), where (vx, vy) is a normalized vector collinear to the line and +(x0, y0) is a point on the line. In case of 3D fitting, it should be a vector of 6 elements (like +Vec6f) - (vx, vy, vz, x0, y0, z0), where (vx, vy, vz) is a normalized vector collinear to the line +and (x0, y0, z0) is a point on the line. +@param distType Distance used by the M-estimator, see #DistanceTypes +@param param Numerical parameter ( C ) for some types of distances. If it is 0, an optimal value +is chosen. +@param reps Sufficient accuracy for the radius (distance between the coordinate origin and the line). +@param aeps Sufficient accuracy for the angle. 0.01 would be a good default value for reps and aeps. + */ +CV_EXPORTS_W void fitLine( InputArray points, OutputArray line, int distType, + double param, double reps, double aeps ); + +/** @brief Performs a point-in-contour test. + +The function determines whether the point is inside a contour, outside, or lies on an edge (or +coincides with a vertex). It returns positive (inside), negative (outside), or zero (on an edge) +value, correspondingly. When measureDist=false , the return value is +1, -1, and 0, respectively. +Otherwise, the return value is a signed distance between the point and the nearest contour edge. + +See below a sample output of the function where each image pixel is tested against the contour: + +![sample output](pics/pointpolygon.png) + +@param contour Input contour. +@param pt Point tested against the contour. +@param measureDist If true, the function estimates the signed distance from the point to the +nearest contour edge. Otherwise, the function only checks if the point is inside a contour or not. + */ +CV_EXPORTS_W double pointPolygonTest( InputArray contour, Point2f pt, bool measureDist ); + +/** @brief Finds out if there is any intersection between two rotated rectangles. + +If there is then the vertices of the intersecting region are returned as well. + +Below are some examples of intersection configurations. The hatched pattern indicates the +intersecting region and the red vertices are returned by the function. + +![intersection examples](pics/intersection.png) + +@param rect1 First rectangle +@param rect2 Second rectangle +@param intersectingRegion The output array of the vertices of the intersecting region. It returns +at most 8 vertices. Stored as std::vector\ or cv::Mat as Mx1 of type CV_32FC2. +@returns One of #RectanglesIntersectTypes + */ +CV_EXPORTS_W int rotatedRectangleIntersection( const RotatedRect& rect1, const RotatedRect& rect2, OutputArray intersectingRegion ); + +/** @brief Creates a smart pointer to a cv::GeneralizedHoughBallard class and initializes it. +*/ +CV_EXPORTS_W Ptr createGeneralizedHoughBallard(); + +/** @brief Creates a smart pointer to a cv::GeneralizedHoughGuil class and initializes it. +*/ +CV_EXPORTS_W Ptr createGeneralizedHoughGuil(); + +//! @} imgproc_shape + +//! @addtogroup imgproc_colormap +//! @{ + +//! GNU Octave/MATLAB equivalent colormaps +enum ColormapTypes +{ + COLORMAP_AUTUMN = 0, //!< ![autumn](pics/colormaps/colorscale_autumn.jpg) + COLORMAP_BONE = 1, //!< ![bone](pics/colormaps/colorscale_bone.jpg) + COLORMAP_JET = 2, //!< ![jet](pics/colormaps/colorscale_jet.jpg) + COLORMAP_WINTER = 3, //!< ![winter](pics/colormaps/colorscale_winter.jpg) + COLORMAP_RAINBOW = 4, //!< ![rainbow](pics/colormaps/colorscale_rainbow.jpg) + COLORMAP_OCEAN = 5, //!< ![ocean](pics/colormaps/colorscale_ocean.jpg) + COLORMAP_SUMMER = 6, //!< ![summer](pics/colormaps/colorscale_summer.jpg) + COLORMAP_SPRING = 7, //!< ![spring](pics/colormaps/colorscale_spring.jpg) + COLORMAP_COOL = 8, //!< ![cool](pics/colormaps/colorscale_cool.jpg) + COLORMAP_HSV = 9, //!< ![HSV](pics/colormaps/colorscale_hsv.jpg) + COLORMAP_PINK = 10, //!< ![pink](pics/colormaps/colorscale_pink.jpg) + COLORMAP_HOT = 11, //!< ![hot](pics/colormaps/colorscale_hot.jpg) + COLORMAP_PARULA = 12, //!< ![parula](pics/colormaps/colorscale_parula.jpg) + COLORMAP_MAGMA = 13, //!< ![magma](pics/colormaps/colorscale_magma.jpg) + COLORMAP_INFERNO = 14, //!< ![inferno](pics/colormaps/colorscale_inferno.jpg) + COLORMAP_PLASMA = 15, //!< ![plasma](pics/colormaps/colorscale_plasma.jpg) + COLORMAP_VIRIDIS = 16, //!< ![viridis](pics/colormaps/colorscale_viridis.jpg) + COLORMAP_CIVIDIS = 17, //!< ![cividis](pics/colormaps/colorscale_cividis.jpg) + COLORMAP_TWILIGHT = 18, //!< ![twilight](pics/colormaps/colorscale_twilight.jpg) + COLORMAP_TWILIGHT_SHIFTED = 19, //!< ![twilight shifted](pics/colormaps/colorscale_twilight_shifted.jpg) + COLORMAP_TURBO = 20, //!< ![turbo](pics/colormaps/colorscale_turbo.jpg) + COLORMAP_DEEPGREEN = 21 //!< ![deepgreen](pics/colormaps/colorscale_deepgreen.jpg) +}; + +/** @example samples/cpp/falsecolor.cpp +An example using applyColorMap function +*/ + +/** @brief Applies a GNU Octave/MATLAB equivalent colormap on a given image. + +@param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. +@param dst The result is the colormapped source image. Note: Mat::create is called on dst. +@param colormap The colormap to apply, see #ColormapTypes +*/ +CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, int colormap); + +/** @brief Applies a user colormap on a given image. + +@param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. +@param dst The result is the colormapped source image. Note: Mat::create is called on dst. +@param userColor The colormap to apply of type CV_8UC1 or CV_8UC3 and size 256 +*/ +CV_EXPORTS_W void applyColorMap(InputArray src, OutputArray dst, InputArray userColor); + +//! @} imgproc_colormap + +//! @addtogroup imgproc_draw +//! @{ + + +/** OpenCV color channel order is BGR[A] */ +#define CV_RGB(r, g, b) cv::Scalar((b), (g), (r), 0) + +/** @brief Draws a line segment connecting two points. + +The function line draws the line segment between pt1 and pt2 points in the image. The line is +clipped by the image boundaries. For non-antialiased lines with integer coordinates, the 8-connected +or 4-connected Bresenham algorithm is used. Thick lines are drawn with rounding endings. Antialiased +lines are drawn using Gaussian filtering. + +@param img Image. +@param pt1 First point of the line segment. +@param pt2 Second point of the line segment. +@param color Line color. +@param thickness Line thickness. +@param lineType Type of the line. See #LineTypes. +@param shift Number of fractional bits in the point coordinates. + */ +CV_EXPORTS_W void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, + int thickness = 1, int lineType = LINE_8, int shift = 0); + +/** @brief Draws an arrow segment pointing from the first point to the second one. + +The function cv::arrowedLine draws an arrow between pt1 and pt2 points in the image. See also #line. + +@param img Image. +@param pt1 The point the arrow starts from. +@param pt2 The point the arrow points to. +@param color Line color. +@param thickness Line thickness. +@param line_type Type of the line. See #LineTypes +@param shift Number of fractional bits in the point coordinates. +@param tipLength The length of the arrow tip in relation to the arrow length + */ +CV_EXPORTS_W void arrowedLine(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, + int thickness=1, int line_type=8, int shift=0, double tipLength=0.1); + +/** @brief Draws a simple, thick, or filled up-right rectangle. + +The function cv::rectangle draws a rectangle outline or a filled rectangle whose two opposite corners +are pt1 and pt2. + +@param img Image. +@param pt1 Vertex of the rectangle. +@param pt2 Vertex of the rectangle opposite to pt1 . +@param color Rectangle color or brightness (grayscale image). +@param thickness Thickness of lines that make up the rectangle. Negative values, like #FILLED, +mean that the function has to draw a filled rectangle. +@param lineType Type of the line. See #LineTypes +@param shift Number of fractional bits in the point coordinates. + */ +CV_EXPORTS_W void rectangle(InputOutputArray img, Point pt1, Point pt2, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @overload + +use `rec` parameter as alternative specification of the drawn rectangle: `r.tl() and +r.br()-Point(1,1)` are opposite corners +*/ +CV_EXPORTS_W void rectangle(InputOutputArray img, Rect rec, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @example samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_2.cpp +An example using drawing functions +*/ + +/** @brief Draws a circle. + +The function cv::circle draws a simple or filled circle with a given center and radius. +@param img Image where the circle is drawn. +@param center Center of the circle. +@param radius Radius of the circle. +@param color Circle color. +@param thickness Thickness of the circle outline, if positive. Negative values, like #FILLED, +mean that a filled circle is to be drawn. +@param lineType Type of the circle boundary. See #LineTypes +@param shift Number of fractional bits in the coordinates of the center and in the radius value. + */ +CV_EXPORTS_W void circle(InputOutputArray img, Point center, int radius, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @brief Draws a simple or thick elliptic arc or fills an ellipse sector. + +The function cv::ellipse with more parameters draws an ellipse outline, a filled ellipse, an elliptic +arc, or a filled ellipse sector. The drawing code uses general parametric form. +A piecewise-linear curve is used to approximate the elliptic arc +boundary. If you need more control of the ellipse rendering, you can retrieve the curve using +#ellipse2Poly and then render it with #polylines or fill it with #fillPoly. If you use the first +variant of the function and want to draw the whole ellipse, not an arc, pass `startAngle=0` and +`endAngle=360`. If `startAngle` is greater than `endAngle`, they are swapped. The figure below explains +the meaning of the parameters to draw the blue arc. + +![Parameters of Elliptic Arc](pics/ellipse.svg) + +@param img Image. +@param center Center of the ellipse. +@param axes Half of the size of the ellipse main axes. +@param angle Ellipse rotation angle in degrees. +@param startAngle Starting angle of the elliptic arc in degrees. +@param endAngle Ending angle of the elliptic arc in degrees. +@param color Ellipse color. +@param thickness Thickness of the ellipse arc outline, if positive. Otherwise, this indicates that +a filled ellipse sector is to be drawn. +@param lineType Type of the ellipse boundary. See #LineTypes +@param shift Number of fractional bits in the coordinates of the center and values of axes. + */ +CV_EXPORTS_W void ellipse(InputOutputArray img, Point center, Size axes, + double angle, double startAngle, double endAngle, + const Scalar& color, int thickness = 1, + int lineType = LINE_8, int shift = 0); + +/** @overload +@param img Image. +@param box Alternative ellipse representation via RotatedRect. This means that the function draws +an ellipse inscribed in the rotated rectangle. +@param color Ellipse color. +@param thickness Thickness of the ellipse arc outline, if positive. Otherwise, this indicates that +a filled ellipse sector is to be drawn. +@param lineType Type of the ellipse boundary. See #LineTypes +*/ +CV_EXPORTS_W void ellipse(InputOutputArray img, const RotatedRect& box, const Scalar& color, + int thickness = 1, int lineType = LINE_8); + +/* ----------------------------------------------------------------------------------------- */ +/* ADDING A SET OF PREDEFINED MARKERS WHICH COULD BE USED TO HIGHLIGHT POSITIONS IN AN IMAGE */ +/* ----------------------------------------------------------------------------------------- */ + +/** @brief Draws a marker on a predefined position in an image. + +The function cv::drawMarker draws a marker on a given position in the image. For the moment several +marker types are supported, see #MarkerTypes for more information. + +@param img Image. +@param position The point where the crosshair is positioned. +@param color Line color. +@param markerType The specific type of marker you want to use, see #MarkerTypes +@param thickness Line thickness. +@param line_type Type of the line, See #LineTypes +@param markerSize The length of the marker axis [default = 20 pixels] + */ +CV_EXPORTS_W void drawMarker(InputOutputArray img, Point position, const Scalar& color, + int markerType = MARKER_CROSS, int markerSize=20, int thickness=1, + int line_type=8); + +/* ----------------------------------------------------------------------------------------- */ +/* END OF MARKER SECTION */ +/* ----------------------------------------------------------------------------------------- */ + +/** @brief Fills a convex polygon. + +The function cv::fillConvexPoly draws a filled convex polygon. This function is much faster than the +function #fillPoly . It can fill not only convex polygons but any monotonic polygon without +self-intersections, that is, a polygon whose contour intersects every horizontal line (scan line) +twice at the most (though, its top-most and/or the bottom edge could be horizontal). + +@param img Image. +@param points Polygon vertices. +@param color Polygon color. +@param lineType Type of the polygon boundaries. See #LineTypes +@param shift Number of fractional bits in the vertex coordinates. + */ +CV_EXPORTS_W void fillConvexPoly(InputOutputArray img, InputArray points, + const Scalar& color, int lineType = LINE_8, + int shift = 0); + +/** @overload */ +CV_EXPORTS void fillConvexPoly(InputOutputArray img, const Point* pts, int npts, + const Scalar& color, int lineType = LINE_8, + int shift = 0); + +/** @example samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_1.cpp +An example using drawing functions +Check @ref tutorial_random_generator_and_text "the corresponding tutorial" for more details +*/ + +/** @brief Fills the area bounded by one or more polygons. + +The function cv::fillPoly fills an area bounded by several polygonal contours. The function can fill +complex areas, for example, areas with holes, contours with self-intersections (some of their +parts), and so forth. + +@param img Image. +@param pts Array of polygons where each polygon is represented as an array of points. +@param color Polygon color. +@param lineType Type of the polygon boundaries. See #LineTypes +@param shift Number of fractional bits in the vertex coordinates. +@param offset Optional offset of all points of the contours. + */ +CV_EXPORTS_W void fillPoly(InputOutputArray img, InputArrayOfArrays pts, + const Scalar& color, int lineType = LINE_8, int shift = 0, + Point offset = Point() ); + +/** @overload */ +CV_EXPORTS void fillPoly(InputOutputArray img, const Point** pts, + const int* npts, int ncontours, + const Scalar& color, int lineType = LINE_8, int shift = 0, + Point offset = Point() ); + +/** @brief Draws several polygonal curves. + +@param img Image. +@param pts Array of polygonal curves. +@param isClosed Flag indicating whether the drawn polylines are closed or not. If they are closed, +the function draws a line from the last vertex of each curve to its first vertex. +@param color Polyline color. +@param thickness Thickness of the polyline edges. +@param lineType Type of the line segments. See #LineTypes +@param shift Number of fractional bits in the vertex coordinates. + +The function cv::polylines draws one or more polygonal curves. + */ +CV_EXPORTS_W void polylines(InputOutputArray img, InputArrayOfArrays pts, + bool isClosed, const Scalar& color, + int thickness = 1, int lineType = LINE_8, int shift = 0 ); + +/** @overload */ +CV_EXPORTS void polylines(InputOutputArray img, const Point* const* pts, const int* npts, + int ncontours, bool isClosed, const Scalar& color, + int thickness = 1, int lineType = LINE_8, int shift = 0 ); + +/** @example samples/cpp/contours2.cpp +An example program illustrates the use of cv::findContours and cv::drawContours +\image html WindowsQtContoursOutput.png "Screenshot of the program" +*/ + +/** @example samples/cpp/segment_objects.cpp +An example using drawContours to clean up a background segmentation result +*/ + +/** @brief Draws contours outlines or filled contours. + +The function draws contour outlines in the image if \f$\texttt{thickness} \ge 0\f$ or fills the area +bounded by the contours if \f$\texttt{thickness}<0\f$ . The example below shows how to retrieve +connected components from the binary image and label them: : +@include snippets/imgproc_drawContours.cpp + +@param image Destination image. +@param contours All the input contours. Each contour is stored as a point vector. +@param contourIdx Parameter indicating a contour to draw. If it is negative, all the contours are drawn. +@param color Color of the contours. +@param thickness Thickness of lines the contours are drawn with. If it is negative (for example, +thickness=#FILLED ), the contour interiors are drawn. +@param lineType Line connectivity. See #LineTypes +@param hierarchy Optional information about hierarchy. It is only needed if you want to draw only +some of the contours (see maxLevel ). +@param maxLevel Maximal level for drawn contours. If it is 0, only the specified contour is drawn. +If it is 1, the function draws the contour(s) and all the nested contours. If it is 2, the function +draws the contours, all the nested contours, all the nested-to-nested contours, and so on. This +parameter is only taken into account when there is hierarchy available. +@param offset Optional contour shift parameter. Shift all the drawn contours by the specified +\f$\texttt{offset}=(dx,dy)\f$ . +@note When thickness=#FILLED, the function is designed to handle connected components with holes correctly +even when no hierarchy data is provided. This is done by analyzing all the outlines together +using even-odd rule. This may give incorrect results if you have a joint collection of separately retrieved +contours. In order to solve this problem, you need to call #drawContours separately for each sub-group +of contours, or iterate over the collection using contourIdx parameter. + */ +CV_EXPORTS_W void drawContours( InputOutputArray image, InputArrayOfArrays contours, + int contourIdx, const Scalar& color, + int thickness = 1, int lineType = LINE_8, + InputArray hierarchy = noArray(), + int maxLevel = INT_MAX, Point offset = Point() ); + +/** @brief Clips the line against the image rectangle. + +The function cv::clipLine calculates a part of the line segment that is entirely within the specified +rectangle. It returns false if the line segment is completely outside the rectangle. Otherwise, +it returns true . +@param imgSize Image size. The image rectangle is Rect(0, 0, imgSize.width, imgSize.height) . +@param pt1 First line point. +@param pt2 Second line point. + */ +CV_EXPORTS bool clipLine(Size imgSize, CV_IN_OUT Point& pt1, CV_IN_OUT Point& pt2); + +/** @overload +@param imgSize Image size. The image rectangle is Rect(0, 0, imgSize.width, imgSize.height) . +@param pt1 First line point. +@param pt2 Second line point. +*/ +CV_EXPORTS bool clipLine(Size2l imgSize, CV_IN_OUT Point2l& pt1, CV_IN_OUT Point2l& pt2); + +/** @overload +@param imgRect Image rectangle. +@param pt1 First line point. +@param pt2 Second line point. +*/ +CV_EXPORTS_W bool clipLine(Rect imgRect, CV_OUT CV_IN_OUT Point& pt1, CV_OUT CV_IN_OUT Point& pt2); + +/** @brief Approximates an elliptic arc with a polyline. + +The function ellipse2Poly computes the vertices of a polyline that approximates the specified +elliptic arc. It is used by #ellipse. If `arcStart` is greater than `arcEnd`, they are swapped. + +@param center Center of the arc. +@param axes Half of the size of the ellipse main axes. See #ellipse for details. +@param angle Rotation angle of the ellipse in degrees. See #ellipse for details. +@param arcStart Starting angle of the elliptic arc in degrees. +@param arcEnd Ending angle of the elliptic arc in degrees. +@param delta Angle between the subsequent polyline vertices. It defines the approximation +accuracy. +@param pts Output vector of polyline vertices. + */ +CV_EXPORTS_W void ellipse2Poly( Point center, Size axes, int angle, + int arcStart, int arcEnd, int delta, + CV_OUT std::vector& pts ); + +/** @overload +@param center Center of the arc. +@param axes Half of the size of the ellipse main axes. See #ellipse for details. +@param angle Rotation angle of the ellipse in degrees. See #ellipse for details. +@param arcStart Starting angle of the elliptic arc in degrees. +@param arcEnd Ending angle of the elliptic arc in degrees. +@param delta Angle between the subsequent polyline vertices. It defines the approximation accuracy. +@param pts Output vector of polyline vertices. +*/ +CV_EXPORTS void ellipse2Poly(Point2d center, Size2d axes, int angle, + int arcStart, int arcEnd, int delta, + CV_OUT std::vector& pts); + +/** @brief Draws a text string. + +The function cv::putText renders the specified text string in the image. Symbols that cannot be rendered +using the specified font are replaced by question marks. See #getTextSize for a text rendering code +example. + +@param img Image. +@param text Text string to be drawn. +@param org Bottom-left corner of the text string in the image. +@param fontFace Font type, see #HersheyFonts. +@param fontScale Font scale factor that is multiplied by the font-specific base size. +@param color Text color. +@param thickness Thickness of the lines used to draw a text. +@param lineType Line type. See #LineTypes +@param bottomLeftOrigin When true, the image data origin is at the bottom-left corner. Otherwise, +it is at the top-left corner. + */ +CV_EXPORTS_W void putText( InputOutputArray img, const String& text, Point org, + int fontFace, double fontScale, Scalar color, + int thickness = 1, int lineType = LINE_8, + bool bottomLeftOrigin = false ); + +/** @brief Calculates the width and height of a text string. + +The function cv::getTextSize calculates and returns the size of a box that contains the specified text. +That is, the following code renders some text, the tight box surrounding it, and the baseline: : +@code + String text = "Funny text inside the box"; + int fontFace = FONT_HERSHEY_SCRIPT_SIMPLEX; + double fontScale = 2; + int thickness = 3; + + Mat img(600, 800, CV_8UC3, Scalar::all(0)); + + int baseline=0; + Size textSize = getTextSize(text, fontFace, + fontScale, thickness, &baseline); + baseline += thickness; + + // center the text + Point textOrg((img.cols - textSize.width)/2, + (img.rows + textSize.height)/2); + + // draw the box + rectangle(img, textOrg + Point(0, baseline), + textOrg + Point(textSize.width, -textSize.height), + Scalar(0,0,255)); + // ... and the baseline first + line(img, textOrg + Point(0, thickness), + textOrg + Point(textSize.width, thickness), + Scalar(0, 0, 255)); + + // then put the text itself + putText(img, text, textOrg, fontFace, fontScale, + Scalar::all(255), thickness, 8); +@endcode + +@param text Input text string. +@param fontFace Font to use, see #HersheyFonts. +@param fontScale Font scale factor that is multiplied by the font-specific base size. +@param thickness Thickness of lines used to render the text. See #putText for details. +@param[out] baseLine y-coordinate of the baseline relative to the bottom-most text +point. +@return The size of a box that contains the specified text. + +@see putText + */ +CV_EXPORTS_W Size getTextSize(const String& text, int fontFace, + double fontScale, int thickness, + CV_OUT int* baseLine); + + +/** @brief Calculates the font-specific size to use to achieve a given height in pixels. + +@param fontFace Font to use, see cv::HersheyFonts. +@param pixelHeight Pixel height to compute the fontScale for +@param thickness Thickness of lines used to render the text.See putText for details. +@return The fontSize to use for cv::putText + +@see cv::putText +*/ +CV_EXPORTS_W double getFontScaleFromHeight(const int fontFace, + const int pixelHeight, + const int thickness = 1); + +/** @brief Class for iterating over all pixels on a raster line segment. + +The class LineIterator is used to get each pixel of a raster line connecting +two specified points. +It can be treated as a versatile implementation of the Bresenham algorithm +where you can stop at each pixel and do some extra processing, for +example, grab pixel values along the line or draw a line with an effect +(for example, with XOR operation). + +The number of pixels along the line is stored in LineIterator::count. +The method LineIterator::pos returns the current position in the image: + +@code{.cpp} +// grabs pixels along the line (pt1, pt2) +// from 8-bit 3-channel image to the buffer +LineIterator it(img, pt1, pt2, 8); +LineIterator it2 = it; +vector buf(it.count); + +for(int i = 0; i < it.count; i++, ++it) + buf[i] = *(const Vec3b*)*it; + +// alternative way of iterating through the line +for(int i = 0; i < it2.count; i++, ++it2) +{ + Vec3b val = img.at(it2.pos()); + CV_Assert(buf[i] == val); +} +@endcode +*/ +class CV_EXPORTS LineIterator +{ +public: + /** @brief Initializes iterator object for the given line and image. + + The returned iterator can be used to traverse all pixels on a line that + connects the given two points. + The line will be clipped on the image boundaries. + + @param img Underlying image. + @param pt1 First endpoint of the line. + @param pt2 The other endpoint of the line. + @param connectivity Pixel connectivity of the iterator. Valid values are 4 (iterator can move + up, down, left and right) and 8 (iterator can also move diagonally). + @param leftToRight If true, the line is traversed from the leftmost endpoint to the rightmost + endpoint. Otherwise, the line is traversed from \p pt1 to \p pt2. + */ + LineIterator( const Mat& img, Point pt1, Point pt2, + int connectivity = 8, bool leftToRight = false ) + { + init(&img, Rect(0, 0, img.cols, img.rows), pt1, pt2, connectivity, leftToRight); + ptmode = false; + } + LineIterator( Point pt1, Point pt2, + int connectivity = 8, bool leftToRight = false ) + { + init(0, Rect(std::min(pt1.x, pt2.x), + std::min(pt1.y, pt2.y), + std::max(pt1.x, pt2.x) - std::min(pt1.x, pt2.x) + 1, + std::max(pt1.y, pt2.y) - std::min(pt1.y, pt2.y) + 1), + pt1, pt2, connectivity, leftToRight); + ptmode = true; + } + LineIterator( Size boundingAreaSize, Point pt1, Point pt2, + int connectivity = 8, bool leftToRight = false ) + { + init(0, Rect(0, 0, boundingAreaSize.width, boundingAreaSize.height), + pt1, pt2, connectivity, leftToRight); + ptmode = true; + } + LineIterator( Rect boundingAreaRect, Point pt1, Point pt2, + int connectivity = 8, bool leftToRight = false ) + { + init(0, boundingAreaRect, pt1, pt2, connectivity, leftToRight); + ptmode = true; + } + void init(const Mat* img, Rect boundingAreaRect, Point pt1, Point pt2, int connectivity, bool leftToRight); + + /** @brief Returns pointer to the current pixel. + */ + uchar* operator *(); + + /** @brief Moves iterator to the next pixel on the line. + + This is the prefix version (++it). + */ + LineIterator& operator ++(); + + /** @brief Moves iterator to the next pixel on the line. + + This is the postfix version (it++). + */ + LineIterator operator ++(int); + + /** @brief Returns coordinates of the current pixel. + */ + Point pos() const; + + uchar* ptr; + const uchar* ptr0; + int step, elemSize; + int err, count; + int minusDelta, plusDelta; + int minusStep, plusStep; + int minusShift, plusShift; + Point p; + bool ptmode; +}; + +//! @cond IGNORED + +// === LineIterator implementation === + +inline +uchar* LineIterator::operator *() +{ + return ptmode ? 0 : ptr; +} + +inline +LineIterator& LineIterator::operator ++() +{ + int mask = err < 0 ? -1 : 0; + err += minusDelta + (plusDelta & mask); + if(!ptmode) + { + ptr += minusStep + (plusStep & mask); + } + else + { + p.x += minusShift + (plusShift & mask); + p.y += minusStep + (plusStep & mask); + } + return *this; +} + +inline +LineIterator LineIterator::operator ++(int) +{ + LineIterator it = *this; + ++(*this); + return it; +} + +inline +Point LineIterator::pos() const +{ + if(!ptmode) + { + size_t offset = (size_t)(ptr - ptr0); + int y = (int)(offset/step); + int x = (int)((offset - (size_t)y*step)/elemSize); + return Point(x, y); + } + return p; +} + +//! @endcond + +//! @} imgproc_draw + +//! @} imgproc + +} // cv + + +#include "./imgproc/segmentation.hpp" + + +#endif diff --git a/camera_lib/include/opencv2/imgproc/bindings.hpp b/camera_lib/include/opencv2/imgproc/bindings.hpp new file mode 100644 index 0000000..c69527a --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/bindings.hpp @@ -0,0 +1,34 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_IMGPROC_BINDINGS_HPP +#define OPENCV_IMGPROC_BINDINGS_HPP + +// This file contains special overloads for OpenCV bindings +// No need to use these functions in C++ code. + +namespace cv { + +/** @brief Finds lines in a binary image using the standard Hough transform and get accumulator. + * + * @note This function is for bindings use only. Use original function in C++ code + * + * @sa HoughLines + */ +CV_WRAP static inline +void HoughLinesWithAccumulator( + InputArray image, OutputArray lines, + double rho, double theta, int threshold, + double srn = 0, double stn = 0, + double min_theta = 0, double max_theta = CV_PI +) +{ + std::vector lines_acc; + HoughLines(image, lines_acc, rho, theta, threshold, srn, stn, min_theta, max_theta); + Mat(lines_acc).copyTo(lines); +} + +} // namespace + +#endif // OPENCV_IMGPROC_BINDINGS_HPP diff --git a/camera_lib/include/opencv2/imgproc/detail/gcgraph.hpp b/camera_lib/include/opencv2/imgproc/detail/gcgraph.hpp new file mode 100644 index 0000000..f17c6e7 --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/detail/gcgraph.hpp @@ -0,0 +1,395 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_DETAIL_GCGRAPH_HPP +#define OPENCV_IMGPROC_DETAIL_GCGRAPH_HPP + +//! @cond IGNORED + +namespace cv { namespace detail { +template class GCGraph +{ +public: + GCGraph(); + GCGraph( unsigned int vtxCount, unsigned int edgeCount ); + ~GCGraph(); + void create( unsigned int vtxCount, unsigned int edgeCount ); + int addVtx(); + void addEdges( int i, int j, TWeight w, TWeight revw ); + void addTermWeights( int i, TWeight sourceW, TWeight sinkW ); + TWeight maxFlow(); + bool inSourceSegment( int i ); +private: + class Vtx + { + public: + Vtx *next; // initialized and used in maxFlow() only + int parent; + int first; + int ts; + int dist; + TWeight weight; + uchar t; + }; + class Edge + { + public: + int dst; + int next; + TWeight weight; + }; + + std::vector vtcs; + std::vector edges; + TWeight flow; +}; + +template +GCGraph::GCGraph() +{ + flow = 0; +} +template +GCGraph::GCGraph( unsigned int vtxCount, unsigned int edgeCount ) +{ + create( vtxCount, edgeCount ); +} +template +GCGraph::~GCGraph() +{ +} +template +void GCGraph::create( unsigned int vtxCount, unsigned int edgeCount ) +{ + vtcs.reserve( vtxCount ); + edges.reserve( edgeCount + 2 ); + flow = 0; +} + +template +int GCGraph::addVtx() +{ + Vtx v; + memset( &v, 0, sizeof(Vtx)); + vtcs.push_back(v); + return (int)vtcs.size() - 1; +} + +template +void GCGraph::addEdges( int i, int j, TWeight w, TWeight revw ) +{ + CV_Assert( i>=0 && i<(int)vtcs.size() ); + CV_Assert( j>=0 && j<(int)vtcs.size() ); + CV_Assert( w>=0 && revw>=0 ); + CV_Assert( i != j ); + + if( !edges.size() ) + edges.resize( 2 ); + + Edge fromI, toI; + fromI.dst = j; + fromI.next = vtcs[i].first; + fromI.weight = w; + vtcs[i].first = (int)edges.size(); + edges.push_back( fromI ); + + toI.dst = i; + toI.next = vtcs[j].first; + toI.weight = revw; + vtcs[j].first = (int)edges.size(); + edges.push_back( toI ); +} + +template +void GCGraph::addTermWeights( int i, TWeight sourceW, TWeight sinkW ) +{ + CV_Assert( i>=0 && i<(int)vtcs.size() ); + + TWeight dw = vtcs[i].weight; + if( dw > 0 ) + sourceW += dw; + else + sinkW -= dw; + flow += (sourceW < sinkW) ? sourceW : sinkW; + vtcs[i].weight = sourceW - sinkW; +} + +template +TWeight GCGraph::maxFlow() +{ + CV_Assert(!vtcs.empty()); + CV_Assert(!edges.empty()); + const int TERMINAL = -1, ORPHAN = -2; + Vtx stub, *nilNode = &stub, *first = nilNode, *last = nilNode; + int curr_ts = 0; + stub.next = nilNode; + Vtx *vtxPtr = &vtcs[0]; + Edge *edgePtr = &edges[0]; + + std::vector orphans; + + // initialize the active queue and the graph vertices + for( int i = 0; i < (int)vtcs.size(); i++ ) + { + Vtx* v = vtxPtr + i; + v->ts = 0; + if( v->weight != 0 ) + { + last = last->next = v; + v->dist = 1; + v->parent = TERMINAL; + v->t = v->weight < 0; + } + else + v->parent = 0; + } + first = first->next; + last->next = nilNode; + nilNode->next = 0; + + // run the search-path -> augment-graph -> restore-trees loop + for(;;) + { + Vtx* v, *u; + int e0 = -1, ei = 0, ej = 0; + TWeight minWeight, weight; + uchar vt; + + // grow S & T search trees, find an edge connecting them + while( first != nilNode ) + { + v = first; + if( v->parent ) + { + vt = v->t; + for( ei = v->first; ei != 0; ei = edgePtr[ei].next ) + { + if( edgePtr[ei^vt].weight == 0 ) + continue; + u = vtxPtr+edgePtr[ei].dst; + if( !u->parent ) + { + u->t = vt; + u->parent = ei ^ 1; + u->ts = v->ts; + u->dist = v->dist + 1; + if( !u->next ) + { + u->next = nilNode; + last = last->next = u; + } + continue; + } + + if( u->t != vt ) + { + e0 = ei ^ vt; + break; + } + + if( u->dist > v->dist+1 && u->ts <= v->ts ) + { + // reassign the parent + u->parent = ei ^ 1; + u->ts = v->ts; + u->dist = v->dist + 1; + } + } + if( e0 > 0 ) + break; + } + // exclude the vertex from the active list + first = first->next; + v->next = 0; + } + + if( e0 <= 0 ) + break; + + // find the minimum edge weight along the path + minWeight = edgePtr[e0].weight; + CV_Assert( minWeight > 0 ); + // k = 1: source tree, k = 0: destination tree + for( int k = 1; k >= 0; k-- ) + { + for( v = vtxPtr+edgePtr[e0^k].dst;; v = vtxPtr+edgePtr[ei].dst ) + { + if( (ei = v->parent) < 0 ) + break; + weight = edgePtr[ei^k].weight; + minWeight = MIN(minWeight, weight); + CV_Assert( minWeight > 0 ); + } + weight = fabs(v->weight); + minWeight = MIN(minWeight, weight); + CV_Assert( minWeight > 0 ); + } + + // modify weights of the edges along the path and collect orphans + edgePtr[e0].weight -= minWeight; + edgePtr[e0^1].weight += minWeight; + flow += minWeight; + + // k = 1: source tree, k = 0: destination tree + for( int k = 1; k >= 0; k-- ) + { + for( v = vtxPtr+edgePtr[e0^k].dst;; v = vtxPtr+edgePtr[ei].dst ) + { + if( (ei = v->parent) < 0 ) + break; + edgePtr[ei^(k^1)].weight += minWeight; + if( (edgePtr[ei^k].weight -= minWeight) == 0 ) + { + orphans.push_back(v); + v->parent = ORPHAN; + } + } + + v->weight = v->weight + minWeight*(1-k*2); + if( v->weight == 0 ) + { + orphans.push_back(v); + v->parent = ORPHAN; + } + } + + // restore the search trees by finding new parents for the orphans + curr_ts++; + while( !orphans.empty() ) + { + Vtx* v2 = orphans.back(); + orphans.pop_back(); + + int d, minDist = INT_MAX; + e0 = 0; + vt = v2->t; + + for( ei = v2->first; ei != 0; ei = edgePtr[ei].next ) + { + if( edgePtr[ei^(vt^1)].weight == 0 ) + continue; + u = vtxPtr+edgePtr[ei].dst; + if( u->t != vt || u->parent == 0 ) + continue; + // compute the distance to the tree root + for( d = 0;; ) + { + if( u->ts == curr_ts ) + { + d += u->dist; + break; + } + ej = u->parent; + d++; + if( ej < 0 ) + { + if( ej == ORPHAN ) + d = INT_MAX-1; + else + { + u->ts = curr_ts; + u->dist = 1; + } + break; + } + u = vtxPtr+edgePtr[ej].dst; + } + + // update the distance + if( ++d < INT_MAX ) + { + if( d < minDist ) + { + minDist = d; + e0 = ei; + } + for( u = vtxPtr+edgePtr[ei].dst; u->ts != curr_ts; u = vtxPtr+edgePtr[u->parent].dst ) + { + u->ts = curr_ts; + u->dist = --d; + } + } + } + + if( (v2->parent = e0) > 0 ) + { + v2->ts = curr_ts; + v2->dist = minDist; + continue; + } + + /* no parent is found */ + v2->ts = 0; + for( ei = v2->first; ei != 0; ei = edgePtr[ei].next ) + { + u = vtxPtr+edgePtr[ei].dst; + ej = u->parent; + if( u->t != vt || !ej ) + continue; + if( edgePtr[ei^(vt^1)].weight && !u->next ) + { + u->next = nilNode; + last = last->next = u; + } + if( ej > 0 && vtxPtr+edgePtr[ej].dst == v2 ) + { + orphans.push_back(u); + u->parent = ORPHAN; + } + } + } + } + return flow; +} + +template +bool GCGraph::inSourceSegment( int i ) +{ + CV_Assert( i>=0 && i<(int)vtcs.size() ); + return vtcs[i].t == 0; +} + +}} // namespace detail, cv + + +//! @endcond + +#endif // OPENCV_IMGPROC_DETAIL_GCGRAPH_HPP diff --git a/camera_lib/include/opencv2/imgproc/hal/hal.hpp b/camera_lib/include/opencv2/imgproc/hal/hal.hpp new file mode 100644 index 0000000..f129012 --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/hal/hal.hpp @@ -0,0 +1,246 @@ +#ifndef CV_IMGPROC_HAL_HPP +#define CV_IMGPROC_HAL_HPP + +#include "opencv2/core/cvdef.h" +#include "opencv2/core/cvstd.hpp" +#include "opencv2/core/hal/interface.h" + +namespace cv { namespace hal { + +//! @addtogroup imgproc_hal_functions +//! @{ + +//--------------------------- +//! @cond IGNORED + +struct CV_EXPORTS Filter2D +{ + CV_DEPRECATED static Ptr create(uchar * , size_t , int , + int , int , + int , int , + int , int , + int , double , + int , int , + bool , bool ); + virtual void apply(uchar * , size_t , + uchar * , size_t , + int , int , + int , int , + int , int ) = 0; + virtual ~Filter2D() {} +}; + +struct CV_EXPORTS SepFilter2D +{ + CV_DEPRECATED static Ptr create(int , int , int , + uchar * , int , + uchar * , int , + int , int , + double , int ); + virtual void apply(uchar * , size_t , + uchar * , size_t , + int , int , + int , int , + int , int ) = 0; + virtual ~SepFilter2D() {} +}; + + +struct CV_EXPORTS Morph +{ + CV_DEPRECATED static Ptr create(int , int , int , int , int , + int , uchar * , size_t , + int , int , + int , int , + int , const double *, + int , bool , bool ); + virtual void apply(uchar * , size_t , uchar * , size_t , int , int , + int , int , int , int , + int , int , int , int ) = 0; + virtual ~Morph() {} +}; + +//! @endcond +//--------------------------- + +CV_EXPORTS void filter2D(int stype, int dtype, int kernel_type, + uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int full_width, int full_height, + int offset_x, int offset_y, + uchar * kernel_data, size_t kernel_step, + int kernel_width, int kernel_height, + int anchor_x, int anchor_y, + double delta, int borderType, + bool isSubmatrix); + +CV_EXPORTS void sepFilter2D(int stype, int dtype, int ktype, + uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int full_width, int full_height, + int offset_x, int offset_y, + uchar * kernelx_data, int kernelx_len, + uchar * kernely_data, int kernely_len, + int anchor_x, int anchor_y, + double delta, int borderType); + +CV_EXPORTS void morph(int op, int src_type, int dst_type, + uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int roi_width, int roi_height, int roi_x, int roi_y, + int roi_width2, int roi_height2, int roi_x2, int roi_y2, + int kernel_type, uchar * kernel_data, size_t kernel_step, + int kernel_width, int kernel_height, int anchor_x, int anchor_y, + int borderType, const double borderValue[4], + int iterations, bool isSubmatrix); + + +CV_EXPORTS void resize(int src_type, + const uchar * src_data, size_t src_step, int src_width, int src_height, + uchar * dst_data, size_t dst_step, int dst_width, int dst_height, + double inv_scale_x, double inv_scale_y, int interpolation); + +CV_EXPORTS void warpAffine(int src_type, + const uchar * src_data, size_t src_step, int src_width, int src_height, + uchar * dst_data, size_t dst_step, int dst_width, int dst_height, + const double M[6], int interpolation, int borderType, const double borderValue[4]); + +CV_EXPORTS void warpPerspective(int src_type, + const uchar * src_data, size_t src_step, int src_width, int src_height, + uchar * dst_data, size_t dst_step, int dst_width, int dst_height, + const double M[9], int interpolation, int borderType, const double borderValue[4]); + +CV_EXPORTS void cvtBGRtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, int dcn, bool swapBlue); + +CV_EXPORTS void cvtBGRtoBGR5x5(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int scn, bool swapBlue, int greenBits); + +CV_EXPORTS void cvtBGR5x5toBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int dcn, bool swapBlue, int greenBits); + +CV_EXPORTS void cvtBGRtoGray(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue); + +CV_EXPORTS void cvtGraytoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn); + +CV_EXPORTS void cvtBGR5x5toGray(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int greenBits); + +CV_EXPORTS void cvtGraytoBGR5x5(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int greenBits); +CV_EXPORTS void cvtBGRtoYUV(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue, bool isCbCr); + +CV_EXPORTS void cvtYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue, bool isCbCr); + +CV_EXPORTS void cvtBGRtoXYZ(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue); + +CV_EXPORTS void cvtXYZtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue); + +CV_EXPORTS void cvtBGRtoHSV(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue, bool isFullRange, bool isHSV); + +CV_EXPORTS void cvtHSVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue, bool isFullRange, bool isHSV); + +CV_EXPORTS void cvtBGRtoLab(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int scn, bool swapBlue, bool isLab, bool srgb); + +CV_EXPORTS void cvtLabtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int depth, int dcn, bool swapBlue, bool isLab, bool srgb); + +CV_EXPORTS void cvtTwoPlaneYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int dst_width, int dst_height, + int dcn, bool swapBlue, int uIdx); + +//! Separate Y and UV planes +CV_EXPORTS void cvtTwoPlaneYUVtoBGR(const uchar * y_data, const uchar * uv_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int dst_width, int dst_height, + int dcn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtTwoPlaneYUVtoBGR(const uchar * y_data, size_t y_step, const uchar * uv_data, size_t uv_step, + uchar * dst_data, size_t dst_step, + int dst_width, int dst_height, + int dcn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtThreePlaneYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int dst_width, int dst_height, + int dcn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtBGRtoThreePlaneYUV(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int scn, bool swapBlue, int uIdx); + +//! Separate Y and UV planes +CV_EXPORTS void cvtBGRtoTwoPlaneYUV(const uchar * src_data, size_t src_step, + uchar * y_data, uchar * uv_data, size_t dst_step, + int width, int height, + int scn, bool swapBlue, int uIdx); + +CV_EXPORTS void cvtOnePlaneYUVtoBGR(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height, + int dcn, bool swapBlue, int uIdx, int ycn); + +CV_EXPORTS void cvtRGBAtoMultipliedRGBA(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height); + +CV_EXPORTS void cvtMultipliedRGBAtoRGBA(const uchar * src_data, size_t src_step, + uchar * dst_data, size_t dst_step, + int width, int height); + +CV_EXPORTS void integral(int depth, int sdepth, int sqdepth, + const uchar* src, size_t srcstep, + uchar* sum, size_t sumstep, + uchar* sqsum, size_t sqsumstep, + uchar* tilted, size_t tstep, + int width, int height, int cn); + +//! @} + +}} + +#endif // CV_IMGPROC_HAL_HPP diff --git a/camera_lib/include/opencv2/imgproc/hal/interface.h b/camera_lib/include/opencv2/imgproc/hal/interface.h new file mode 100644 index 0000000..f8dbcfe --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/hal/interface.h @@ -0,0 +1,46 @@ +#ifndef OPENCV_IMGPROC_HAL_INTERFACE_H +#define OPENCV_IMGPROC_HAL_INTERFACE_H + +//! @addtogroup imgproc_hal_interface +//! @{ + +//! @name Interpolation modes +//! @sa cv::InterpolationFlags +//! @{ +#define CV_HAL_INTER_NEAREST 0 +#define CV_HAL_INTER_LINEAR 1 +#define CV_HAL_INTER_CUBIC 2 +#define CV_HAL_INTER_AREA 3 +#define CV_HAL_INTER_LANCZOS4 4 +//! @} + +//! @name Morphology operations +//! @sa cv::MorphTypes +//! @{ +#define CV_HAL_MORPH_ERODE 0 +#define CV_HAL_MORPH_DILATE 1 +//! @} + +//! @name Threshold types +//! @sa cv::ThresholdTypes +//! @{ +#define CV_HAL_THRESH_BINARY 0 +#define CV_HAL_THRESH_BINARY_INV 1 +#define CV_HAL_THRESH_TRUNC 2 +#define CV_HAL_THRESH_TOZERO 3 +#define CV_HAL_THRESH_TOZERO_INV 4 +#define CV_HAL_THRESH_MASK 7 +#define CV_HAL_THRESH_OTSU 8 +#define CV_HAL_THRESH_TRIANGLE 16 +//! @} + +//! @name Adaptive threshold algorithm +//! @sa cv::AdaptiveThresholdTypes +//! @{ +#define CV_HAL_ADAPTIVE_THRESH_MEAN_C 0 +#define CV_HAL_ADAPTIVE_THRESH_GAUSSIAN_C 1 +//! @} + +//! @} + +#endif diff --git a/camera_lib/include/opencv2/imgproc/imgproc.hpp b/camera_lib/include/opencv2/imgproc/imgproc.hpp new file mode 100644 index 0000000..4175bd0 --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/imgproc.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/imgproc.hpp" diff --git a/camera_lib/include/opencv2/imgproc/imgproc_c.h b/camera_lib/include/opencv2/imgproc/imgproc_c.h new file mode 100644 index 0000000..86dc119 --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/imgproc_c.h @@ -0,0 +1,1177 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_IMGPROC_C_H +#define OPENCV_IMGPROC_IMGPROC_C_H + +#include "opencv2/imgproc/types_c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup imgproc_c +@{ +*/ + +/*********************** Background statistics accumulation *****************************/ + +/** @brief Adds image to accumulator +@see cv::accumulate +*/ +CVAPI(void) cvAcc( const CvArr* image, CvArr* sum, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Adds squared image to accumulator +@see cv::accumulateSquare +*/ +CVAPI(void) cvSquareAcc( const CvArr* image, CvArr* sqsum, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Adds a product of two images to accumulator +@see cv::accumulateProduct +*/ +CVAPI(void) cvMultiplyAcc( const CvArr* image1, const CvArr* image2, CvArr* acc, + const CvArr* mask CV_DEFAULT(NULL) ); + +/** @brief Adds image to accumulator with weights: acc = acc*(1-alpha) + image*alpha +@see cv::accumulateWeighted +*/ +CVAPI(void) cvRunningAvg( const CvArr* image, CvArr* acc, double alpha, + const CvArr* mask CV_DEFAULT(NULL) ); + +/****************************************************************************************\ +* Image Processing * +\****************************************************************************************/ + +/** Copies source 2D array inside of the larger destination array and + makes a border of the specified type (IPL_BORDER_*) around the copied area. */ +CVAPI(void) cvCopyMakeBorder( const CvArr* src, CvArr* dst, CvPoint offset, + int bordertype, CvScalar value CV_DEFAULT(cvScalarAll(0))); + +/** @brief Smooths the image in one of several ways. + +@param src The source image +@param dst The destination image +@param smoothtype Type of the smoothing, see SmoothMethod_c +@param size1 The first parameter of the smoothing operation, the aperture width. Must be a +positive odd number (1, 3, 5, ...) +@param size2 The second parameter of the smoothing operation, the aperture height. Ignored by +CV_MEDIAN and CV_BILATERAL methods. In the case of simple scaled/non-scaled and Gaussian blur if +size2 is zero, it is set to size1. Otherwise it must be a positive odd number. +@param sigma1 In the case of a Gaussian parameter this parameter may specify Gaussian \f$\sigma\f$ +(standard deviation). If it is zero, it is calculated from the kernel size: +\f[\sigma = 0.3 (n/2 - 1) + 0.8 \quad \text{where} \quad n= \begin{array}{l l} \mbox{\texttt{size1} for horizontal kernel} \\ \mbox{\texttt{size2} for vertical kernel} \end{array}\f] +Using standard sigma for small kernels ( \f$3\times 3\f$ to \f$7\times 7\f$ ) gives better speed. If +sigma1 is not zero, while size1 and size2 are zeros, the kernel size is calculated from the +sigma (to provide accurate enough operation). +@param sigma2 additional parameter for bilateral filtering + +@see cv::GaussianBlur, cv::blur, cv::medianBlur, cv::bilateralFilter. + */ +CVAPI(void) cvSmooth( const CvArr* src, CvArr* dst, + int smoothtype CV_DEFAULT(CV_GAUSSIAN), + int size1 CV_DEFAULT(3), + int size2 CV_DEFAULT(0), + double sigma1 CV_DEFAULT(0), + double sigma2 CV_DEFAULT(0)); + +/** @brief Convolves an image with the kernel. + +@param src input image. +@param dst output image of the same size and the same number of channels as src. +@param kernel convolution kernel (or rather a correlation kernel), a single-channel floating point +matrix; if you want to apply different kernels to different channels, split the image into +separate color planes using split and process them individually. +@param anchor anchor of the kernel that indicates the relative position of a filtered point within +the kernel; the anchor should lie within the kernel; default value (-1,-1) means that the anchor +is at the kernel center. + +@see cv::filter2D + */ +CVAPI(void) cvFilter2D( const CvArr* src, CvArr* dst, const CvMat* kernel, + CvPoint anchor CV_DEFAULT(cvPoint(-1,-1))); + +/** @brief Finds integral image: SUM(X,Y) = sum(x \texttt{hist1}(I)\)}{\frac{\texttt{hist2}(I) \cdot \texttt{scale}}{\texttt{hist1}(I)}}{if \(\texttt{hist1}(I) \ne 0\) and \(\texttt{hist2}(I) \le \texttt{hist1}(I)\)}\f] + +@param hist1 First histogram (the divisor). +@param hist2 Second histogram. +@param dst_hist Destination histogram. +@param scale Scale factor for the destination histogram. + */ +CVAPI(void) cvCalcProbDensity( const CvHistogram* hist1, const CvHistogram* hist2, + CvHistogram* dst_hist, double scale CV_DEFAULT(255) ); + +/** @brief equalizes histogram of 8-bit single-channel image +@see cv::equalizeHist +*/ +CVAPI(void) cvEqualizeHist( const CvArr* src, CvArr* dst ); + + +/** @brief Applies distance transform to binary image +@see cv::distanceTransform +*/ +CVAPI(void) cvDistTransform( const CvArr* src, CvArr* dst, + int distance_type CV_DEFAULT(CV_DIST_L2), + int mask_size CV_DEFAULT(3), + const float* mask CV_DEFAULT(NULL), + CvArr* labels CV_DEFAULT(NULL), + int labelType CV_DEFAULT(CV_DIST_LABEL_CCOMP)); + + +/** @brief Applies fixed-level threshold to grayscale image. + + This is a basic operation applied before retrieving contours +@see cv::threshold +*/ +CVAPI(double) cvThreshold( const CvArr* src, CvArr* dst, + double threshold, double max_value, + int threshold_type ); + +/** @brief Applies adaptive threshold to grayscale image. + + The two parameters for methods CV_ADAPTIVE_THRESH_MEAN_C and + CV_ADAPTIVE_THRESH_GAUSSIAN_C are: + neighborhood size (3, 5, 7 etc.), + and a constant subtracted from mean (...,-3,-2,-1,0,1,2,3,...) +@see cv::adaptiveThreshold +*/ +CVAPI(void) cvAdaptiveThreshold( const CvArr* src, CvArr* dst, double max_value, + int adaptive_method CV_DEFAULT(CV_ADAPTIVE_THRESH_MEAN_C), + int threshold_type CV_DEFAULT(CV_THRESH_BINARY), + int block_size CV_DEFAULT(3), + double param1 CV_DEFAULT(5)); + +/** @brief Fills the connected component until the color difference gets large enough +@see cv::floodFill +*/ +CVAPI(void) cvFloodFill( CvArr* image, CvPoint seed_point, + CvScalar new_val, CvScalar lo_diff CV_DEFAULT(cvScalarAll(0)), + CvScalar up_diff CV_DEFAULT(cvScalarAll(0)), + CvConnectedComp* comp CV_DEFAULT(NULL), + int flags CV_DEFAULT(4), + CvArr* mask CV_DEFAULT(NULL)); + +/****************************************************************************************\ +* Feature detection * +\****************************************************************************************/ + +/** @brief Runs canny edge detector +@see cv::Canny +*/ +CVAPI(void) cvCanny( const CvArr* image, CvArr* edges, double threshold1, + double threshold2, int aperture_size CV_DEFAULT(3) ); + +/** @brief Calculates constraint image for corner detection + + Dx^2 * Dyy + Dxx * Dy^2 - 2 * Dx * Dy * Dxy. + Applying threshold to the result gives coordinates of corners +@see cv::preCornerDetect +*/ +CVAPI(void) cvPreCornerDetect( const CvArr* image, CvArr* corners, + int aperture_size CV_DEFAULT(3) ); + +/** @brief Calculates eigen values and vectors of 2x2 + gradient covariation matrix at every image pixel +@see cv::cornerEigenValsAndVecs +*/ +CVAPI(void) cvCornerEigenValsAndVecs( const CvArr* image, CvArr* eigenvv, + int block_size, int aperture_size CV_DEFAULT(3) ); + +/** @brief Calculates minimal eigenvalue for 2x2 gradient covariation matrix at + every image pixel +@see cv::cornerMinEigenVal +*/ +CVAPI(void) cvCornerMinEigenVal( const CvArr* image, CvArr* eigenval, + int block_size, int aperture_size CV_DEFAULT(3) ); + +/** @brief Harris corner detector: + + Calculates det(M) - k*(trace(M)^2), where M is 2x2 gradient covariation matrix for each pixel +@see cv::cornerHarris +*/ +CVAPI(void) cvCornerHarris( const CvArr* image, CvArr* harris_response, + int block_size, int aperture_size CV_DEFAULT(3), + double k CV_DEFAULT(0.04) ); + +/** @brief Adjust corner position using some sort of gradient search +@see cv::cornerSubPix +*/ +CVAPI(void) cvFindCornerSubPix( const CvArr* image, CvPoint2D32f* corners, + int count, CvSize win, CvSize zero_zone, + CvTermCriteria criteria ); + +/** @brief Finds a sparse set of points within the selected region + that seem to be easy to track +@see cv::goodFeaturesToTrack +*/ +CVAPI(void) cvGoodFeaturesToTrack( const CvArr* image, CvArr* eig_image, + CvArr* temp_image, CvPoint2D32f* corners, + int* corner_count, double quality_level, + double min_distance, + const CvArr* mask CV_DEFAULT(NULL), + int block_size CV_DEFAULT(3), + int use_harris CV_DEFAULT(0), + double k CV_DEFAULT(0.04) ); + +/** @brief Finds lines on binary image using one of several methods. + + line_storage is either memory storage or 1 x _max number of lines_ CvMat, its + number of columns is changed by the function. + method is one of CV_HOUGH_*; + rho, theta and threshold are used for each of those methods; + param1 ~ line length, param2 ~ line gap - for probabilistic, + param1 ~ srn, param2 ~ stn - for multi-scale +@see cv::HoughLines +*/ +CVAPI(CvSeq*) cvHoughLines2( CvArr* image, void* line_storage, int method, + double rho, double theta, int threshold, + double param1 CV_DEFAULT(0), double param2 CV_DEFAULT(0), + double min_theta CV_DEFAULT(0), double max_theta CV_DEFAULT(CV_PI)); + +/** @brief Finds circles in the image +@see cv::HoughCircles +*/ +CVAPI(CvSeq*) cvHoughCircles( CvArr* image, void* circle_storage, + int method, double dp, double min_dist, + double param1 CV_DEFAULT(100), + double param2 CV_DEFAULT(100), + int min_radius CV_DEFAULT(0), + int max_radius CV_DEFAULT(0)); + +/** @brief Fits a line into set of 2d or 3d points in a robust way (M-estimator technique) +@see cv::fitLine +*/ +CVAPI(void) cvFitLine( const CvArr* points, int dist_type, double param, + double reps, double aeps, float* line ); + +/****************************************************************************************\ +* Drawing * +\****************************************************************************************/ + +/****************************************************************************************\ +* Drawing functions work with images/matrices of arbitrary type. * +* For color images the channel order is BGR[A] * +* Antialiasing is supported only for 8-bit image now. * +* All the functions include parameter color that means rgb value (that may be * +* constructed with CV_RGB macro) for color images and brightness * +* for grayscale images. * +* If a drawn figure is partially or completely outside of the image, it is clipped.* +\****************************************************************************************/ + +#define CV_FILLED -1 + +#define CV_AA 16 + +/** @brief Draws 4-connected, 8-connected or antialiased line segment connecting two points +@see cv::line +*/ +CVAPI(void) cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ); + +/** @brief Draws a rectangle given two opposite corners of the rectangle (pt1 & pt2) + + if thickness<0 (e.g. thickness == CV_FILLED), the filled box is drawn +@see cv::rectangle +*/ +CVAPI(void) cvRectangle( CvArr* img, CvPoint pt1, CvPoint pt2, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), + int shift CV_DEFAULT(0)); + +/** @brief Draws a rectangle specified by a CvRect structure +@see cv::rectangle +*/ +CVAPI(void) cvRectangleR( CvArr* img, CvRect r, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), + int shift CV_DEFAULT(0)); + + +/** @brief Draws a circle with specified center and radius. + + Thickness works in the same way as with cvRectangle +@see cv::circle +*/ +CVAPI(void) cvCircle( CvArr* img, CvPoint center, int radius, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0)); + +/** @brief Draws ellipse outline, filled ellipse, elliptic arc or filled elliptic sector + + depending on _thickness_, _start_angle_ and _end_angle_ parameters. The resultant figure + is rotated by _angle_. All the angles are in degrees +@see cv::ellipse +*/ +CVAPI(void) cvEllipse( CvArr* img, CvPoint center, CvSize axes, + double angle, double start_angle, double end_angle, + CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0)); + +CV_INLINE void cvEllipseBox( CvArr* img, CvBox2D box, CvScalar color, + int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ) +{ + CvSize axes = cvSize( + cvRound(box.size.width*0.5), + cvRound(box.size.height*0.5) + ); + + cvEllipse( img, cvPointFrom32f( box.center ), axes, box.angle, + 0, 360, color, thickness, line_type, shift ); +} + +/** @brief Fills convex or monotonous polygon. +@see cv::fillConvexPoly +*/ +CVAPI(void) cvFillConvexPoly( CvArr* img, const CvPoint* pts, int npts, CvScalar color, + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0)); + +/** @brief Fills an area bounded by one or more arbitrary polygons +@see cv::fillPoly +*/ +CVAPI(void) cvFillPoly( CvArr* img, CvPoint** pts, const int* npts, + int contours, CvScalar color, + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ); + +/** @brief Draws one or more polygonal curves +@see cv::polylines +*/ +CVAPI(void) cvPolyLine( CvArr* img, CvPoint** pts, const int* npts, int contours, + int is_closed, CvScalar color, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), int shift CV_DEFAULT(0) ); + +#define cvDrawRect cvRectangle +#define cvDrawLine cvLine +#define cvDrawCircle cvCircle +#define cvDrawEllipse cvEllipse +#define cvDrawPolyLine cvPolyLine + +/** @brief Clips the line segment connecting *pt1 and *pt2 + by the rectangular window + + (0<=xptr will point to pt1 (or pt2, see left_to_right description) location in +the image. Returns the number of pixels on the line between the ending points. +@see cv::LineIterator +*/ +CVAPI(int) cvInitLineIterator( const CvArr* image, CvPoint pt1, CvPoint pt2, + CvLineIterator* line_iterator, + int connectivity CV_DEFAULT(8), + int left_to_right CV_DEFAULT(0)); + +#define CV_NEXT_LINE_POINT( line_iterator ) \ +{ \ + int _line_iterator_mask = (line_iterator).err < 0 ? -1 : 0; \ + (line_iterator).err += (line_iterator).minus_delta + \ + ((line_iterator).plus_delta & _line_iterator_mask); \ + (line_iterator).ptr += (line_iterator).minus_step + \ + ((line_iterator).plus_step & _line_iterator_mask); \ +} + + +#define CV_FONT_HERSHEY_SIMPLEX 0 +#define CV_FONT_HERSHEY_PLAIN 1 +#define CV_FONT_HERSHEY_DUPLEX 2 +#define CV_FONT_HERSHEY_COMPLEX 3 +#define CV_FONT_HERSHEY_TRIPLEX 4 +#define CV_FONT_HERSHEY_COMPLEX_SMALL 5 +#define CV_FONT_HERSHEY_SCRIPT_SIMPLEX 6 +#define CV_FONT_HERSHEY_SCRIPT_COMPLEX 7 + +#define CV_FONT_ITALIC 16 + +#define CV_FONT_VECTOR0 CV_FONT_HERSHEY_SIMPLEX + + +/** Font structure */ +typedef struct CvFont +{ + const char* nameFont; //Qt:nameFont + CvScalar color; //Qt:ColorFont -> cvScalar(blue_component, green_component, red_component[, alpha_component]) + int font_face; //Qt: bool italic /** =CV_FONT_* */ + const int* ascii; //!< font data and metrics + const int* greek; + const int* cyrillic; + float hscale, vscale; + float shear; //!< slope coefficient: 0 - normal, >0 - italic + int thickness; //!< Qt: weight /** letters thickness */ + float dx; //!< horizontal interval between letters + int line_type; //!< Qt: PointSize +} +CvFont; + +/** @brief Initializes font structure (OpenCV 1.x API). + +The function initializes the font structure that can be passed to text rendering functions. + +@param font Pointer to the font structure initialized by the function +@param font_face Font name identifier. See cv::HersheyFonts and corresponding old CV_* identifiers. +@param hscale Horizontal scale. If equal to 1.0f , the characters have the original width +depending on the font type. If equal to 0.5f , the characters are of half the original width. +@param vscale Vertical scale. If equal to 1.0f , the characters have the original height depending +on the font type. If equal to 0.5f , the characters are of half the original height. +@param shear Approximate tangent of the character slope relative to the vertical line. A zero +value means a non-italic font, 1.0f means about a 45 degree slope, etc. +@param thickness Thickness of the text strokes +@param line_type Type of the strokes, see line description + +@sa cvPutText + */ +CVAPI(void) cvInitFont( CvFont* font, int font_face, + double hscale, double vscale, + double shear CV_DEFAULT(0), + int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8)); + +CV_INLINE CvFont cvFont( double scale, int thickness CV_DEFAULT(1) ) +{ + CvFont font; + cvInitFont( &font, CV_FONT_HERSHEY_PLAIN, scale, scale, 0, thickness, CV_AA ); + return font; +} + +/** @brief Renders text stroke with specified font and color at specified location. + CvFont should be initialized with cvInitFont +@see cvInitFont, cvGetTextSize, cvFont, cv::putText +*/ +CVAPI(void) cvPutText( CvArr* img, const char* text, CvPoint org, + const CvFont* font, CvScalar color ); + +/** @brief Calculates bounding box of text stroke (useful for alignment) +@see cv::getTextSize +*/ +CVAPI(void) cvGetTextSize( const char* text_string, const CvFont* font, + CvSize* text_size, int* baseline ); + +/** @brief Unpacks color value + +if arrtype is CV_8UC?, _color_ is treated as packed color value, otherwise the first channels +(depending on arrtype) of destination scalar are set to the same value = _color_ +*/ +CVAPI(CvScalar) cvColorToScalar( double packed_color, int arrtype ); + +/** @brief Returns the polygon points which make up the given ellipse. + +The ellipse is define by the box of size 'axes' rotated 'angle' around the 'center'. A partial +sweep of the ellipse arc can be done by specifying arc_start and arc_end to be something other than +0 and 360, respectively. The input array 'pts' must be large enough to hold the result. The total +number of points stored into 'pts' is returned by this function. +@see cv::ellipse2Poly +*/ +CVAPI(int) cvEllipse2Poly( CvPoint center, CvSize axes, + int angle, int arc_start, int arc_end, CvPoint * pts, int delta ); + +/** @brief Draws contour outlines or filled interiors on the image +@see cv::drawContours +*/ +CVAPI(void) cvDrawContours( CvArr *img, CvSeq* contour, + CvScalar external_color, CvScalar hole_color, + int max_level, int thickness CV_DEFAULT(1), + int line_type CV_DEFAULT(8), + CvPoint offset CV_DEFAULT(cvPoint(0,0))); + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/camera_lib/include/opencv2/imgproc/segmentation.hpp b/camera_lib/include/opencv2/imgproc/segmentation.hpp new file mode 100644 index 0000000..c40d501 --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/segmentation.hpp @@ -0,0 +1,141 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_IMGPROC_SEGMENTATION_HPP +#define OPENCV_IMGPROC_SEGMENTATION_HPP + +#include "opencv2/imgproc.hpp" + +namespace cv { + +namespace segmentation { + +//! @addtogroup imgproc_segmentation +//! @{ + + +/** @brief Intelligent Scissors image segmentation + * + * This class is used to find the path (contour) between two points + * which can be used for image segmentation. + * + * Usage example: + * @snippet snippets/imgproc_segmentation.cpp usage_example_intelligent_scissors + * + * Reference: "Intelligent Scissors for Image Composition" + * algorithm designed by Eric N. Mortensen and William A. Barrett, Brigham Young University + * @cite Mortensen95intelligentscissors + */ +class CV_EXPORTS_W_SIMPLE IntelligentScissorsMB +{ +public: + CV_WRAP + IntelligentScissorsMB(); + + /** @brief Specify weights of feature functions + * + * Consider keeping weights normalized (sum of weights equals to 1.0) + * Discrete dynamic programming (DP) goal is minimization of costs between pixels. + * + * @param weight_non_edge Specify cost of non-edge pixels (default: 0.43f) + * @param weight_gradient_direction Specify cost of gradient direction function (default: 0.43f) + * @param weight_gradient_magnitude Specify cost of gradient magnitude function (default: 0.14f) + */ + CV_WRAP + IntelligentScissorsMB& setWeights(float weight_non_edge, float weight_gradient_direction, float weight_gradient_magnitude); + + /** @brief Specify gradient magnitude max value threshold + * + * Zero limit value is used to disable gradient magnitude thresholding (default behavior, as described in original article). + * Otherwize pixels with `gradient magnitude >= threshold` have zero cost. + * + * @note Thresholding should be used for images with irregular regions (to avoid stuck on parameters from high-contract areas, like embedded logos). + * + * @param gradient_magnitude_threshold_max Specify gradient magnitude max value threshold (default: 0, disabled) + */ + CV_WRAP + IntelligentScissorsMB& setGradientMagnitudeMaxLimit(float gradient_magnitude_threshold_max = 0.0f); + + /** @brief Switch to "Laplacian Zero-Crossing" edge feature extractor and specify its parameters + * + * This feature extractor is used by default according to article. + * + * Implementation has additional filtering for regions with low-amplitude noise. + * This filtering is enabled through parameter of minimal gradient amplitude (use some small value 4, 8, 16). + * + * @note Current implementation of this feature extractor is based on processing of grayscale images (color image is converted to grayscale image first). + * + * @note Canny edge detector is a bit slower, but provides better results (especially on color images): use setEdgeFeatureCannyParameters(). + * + * @param gradient_magnitude_min_value Minimal gradient magnitude value for edge pixels (default: 0, check is disabled) + */ + CV_WRAP + IntelligentScissorsMB& setEdgeFeatureZeroCrossingParameters(float gradient_magnitude_min_value = 0.0f); + + /** @brief Switch edge feature extractor to use Canny edge detector + * + * @note "Laplacian Zero-Crossing" feature extractor is used by default (following to original article) + * + * @sa Canny + */ + CV_WRAP + IntelligentScissorsMB& setEdgeFeatureCannyParameters( + double threshold1, double threshold2, + int apertureSize = 3, bool L2gradient = false + ); + + /** @brief Specify input image and extract image features + * + * @param image input image. Type is #CV_8UC1 / #CV_8UC3 + */ + CV_WRAP + IntelligentScissorsMB& applyImage(InputArray image); + + /** @brief Specify custom features of input image + * + * Customized advanced variant of applyImage() call. + * + * @param non_edge Specify cost of non-edge pixels. Type is CV_8UC1. Expected values are `{0, 1}`. + * @param gradient_direction Specify gradient direction feature. Type is CV_32FC2. Values are expected to be normalized: `x^2 + y^2 == 1` + * @param gradient_magnitude Specify cost of gradient magnitude function: Type is CV_32FC1. Values should be in range `[0, 1]`. + * @param image **Optional parameter**. Must be specified if subset of features is specified (non-specified features are calculated internally) + */ + CV_WRAP + IntelligentScissorsMB& applyImageFeatures( + InputArray non_edge, InputArray gradient_direction, InputArray gradient_magnitude, + InputArray image = noArray() + ); + + /** @brief Prepares a map of optimal paths for the given source point on the image + * + * @note applyImage() / applyImageFeatures() must be called before this call + * + * @param sourcePt The source point used to find the paths + */ + CV_WRAP void buildMap(const Point& sourcePt); + + /** @brief Extracts optimal contour for the given target point on the image + * + * @note buildMap() must be called before this call + * + * @param targetPt The target point + * @param[out] contour The list of pixels which contains optimal path between the source and the target points of the image. Type is CV_32SC2 (compatible with `std::vector`) + * @param backward Flag to indicate reverse order of retrived pixels (use "true" value to fetch points from the target to the source point) + */ + CV_WRAP void getContour(const Point& targetPt, OutputArray contour, bool backward = false) const; + +#ifndef CV_DOXYGEN + struct Impl; + inline Impl* getImpl() const { return impl.get(); } +protected: + std::shared_ptr impl; +#endif +}; + +//! @} + +} // namespace segmentation +} // namespace cv + +#endif // OPENCV_IMGPROC_SEGMENTATION_HPP diff --git a/camera_lib/include/opencv2/imgproc/types_c.h b/camera_lib/include/opencv2/imgproc/types_c.h new file mode 100644 index 0000000..d3e55f5 --- /dev/null +++ b/camera_lib/include/opencv2/imgproc/types_c.h @@ -0,0 +1,659 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_IMGPROC_TYPES_C_H +#define OPENCV_IMGPROC_TYPES_C_H + +#include "opencv2/core/core_c.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @addtogroup imgproc_c + @{ +*/ + +/** Connected component structure */ +typedef struct CvConnectedComp +{ + double area; /** DBL_EPSILON ? 1./std::sqrt(am00) : 0; + } + operator cv::Moments() const + { + return cv::Moments(m00, m10, m01, m20, m11, m02, m30, m21, m12, m03); + } +#endif +} +CvMoments; + +#ifdef __cplusplus +} // extern "C" + +CV_INLINE CvMoments cvMoments() +{ +#if !defined(CV__ENABLE_C_API_CTORS) + CvMoments self = CV_STRUCT_INITIALIZER; return self; +#else + return CvMoments(); +#endif +} + +CV_INLINE CvMoments cvMoments(const cv::Moments& m) +{ +#if !defined(CV__ENABLE_C_API_CTORS) + double am00 = std::abs(m.m00); + CvMoments self = { + m.m00, m.m10, m.m01, m.m20, m.m11, m.m02, m.m30, m.m21, m.m12, m.m03, + m.mu20, m.mu11, m.mu02, m.mu30, m.mu21, m.mu12, m.mu03, + am00 > DBL_EPSILON ? 1./std::sqrt(am00) : 0 + }; + return self; +#else + return CvMoments(m); +#endif +} + +extern "C" { +#endif // __cplusplus + +/** Hu invariants */ +typedef struct CvHuMoments +{ + double hu1, hu2, hu3, hu4, hu5, hu6, hu7; /**< Hu invariants */ +} +CvHuMoments; + +/** Template matching methods */ +enum +{ + CV_TM_SQDIFF =0, + CV_TM_SQDIFF_NORMED =1, + CV_TM_CCORR =2, + CV_TM_CCORR_NORMED =3, + CV_TM_CCOEFF =4, + CV_TM_CCOEFF_NORMED =5 +}; + +typedef float (CV_CDECL * CvDistanceFunction)( const float* a, const float* b, void* user_param ); + +/** Contour retrieval modes */ +enum +{ + CV_RETR_EXTERNAL=0, + CV_RETR_LIST=1, + CV_RETR_CCOMP=2, + CV_RETR_TREE=3, + CV_RETR_FLOODFILL=4 +}; + +/** Contour approximation methods */ +enum +{ + CV_CHAIN_CODE=0, + CV_CHAIN_APPROX_NONE=1, + CV_CHAIN_APPROX_SIMPLE=2, + CV_CHAIN_APPROX_TC89_L1=3, + CV_CHAIN_APPROX_TC89_KCOS=4, + CV_LINK_RUNS=5 +}; + +/* +Internal structure that is used for sequential retrieving contours from the image. +It supports both hierarchical and plane variants of Suzuki algorithm. +*/ +typedef struct _CvContourScanner* CvContourScanner; + +/** Freeman chain reader state */ +typedef struct CvChainPtReader +{ + CV_SEQ_READER_FIELDS() + char code; + CvPoint pt; + schar deltas[8][2]; +} +CvChainPtReader; + +/** initializes 8-element array for fast access to 3x3 neighborhood of a pixel */ +#define CV_INIT_3X3_DELTAS( deltas, step, nch ) \ + ((deltas)[0] = (nch), (deltas)[1] = -(step) + (nch), \ + (deltas)[2] = -(step), (deltas)[3] = -(step) - (nch), \ + (deltas)[4] = -(nch), (deltas)[5] = (step) - (nch), \ + (deltas)[6] = (step), (deltas)[7] = (step) + (nch)) + + +/** Contour approximation algorithms */ +enum +{ + CV_POLY_APPROX_DP = 0 +}; + +/** Shape matching methods */ +enum +{ + CV_CONTOURS_MATCH_I1 =1, //!< \f[I_1(A,B) = \sum _{i=1...7} \left | \frac{1}{m^A_i} - \frac{1}{m^B_i} \right |\f] + CV_CONTOURS_MATCH_I2 =2, //!< \f[I_2(A,B) = \sum _{i=1...7} \left | m^A_i - m^B_i \right |\f] + CV_CONTOURS_MATCH_I3 =3 //!< \f[I_3(A,B) = \max _{i=1...7} \frac{ \left| m^A_i - m^B_i \right| }{ \left| m^A_i \right| }\f] +}; + +/** Shape orientation */ +enum +{ + CV_CLOCKWISE =1, + CV_COUNTER_CLOCKWISE =2 +}; + + +/** Convexity defect */ +typedef struct CvConvexityDefect +{ + CvPoint* start; /**< point of the contour where the defect begins */ + CvPoint* end; /**< point of the contour where the defect ends */ + CvPoint* depth_point; /**< the farthest from the convex hull point within the defect */ + float depth; /**< distance between the farthest point and the convex hull */ +} CvConvexityDefect; + + +/** Histogram comparison methods */ +enum +{ + CV_COMP_CORREL =0, + CV_COMP_CHISQR =1, + CV_COMP_INTERSECT =2, + CV_COMP_BHATTACHARYYA =3, + CV_COMP_HELLINGER =CV_COMP_BHATTACHARYYA, + CV_COMP_CHISQR_ALT =4, + CV_COMP_KL_DIV =5 +}; + +/** Mask size for distance transform */ +enum +{ + CV_DIST_MASK_3 =3, + CV_DIST_MASK_5 =5, + CV_DIST_MASK_PRECISE =0 +}; + +/** Content of output label array: connected components or pixels */ +enum +{ + CV_DIST_LABEL_CCOMP = 0, + CV_DIST_LABEL_PIXEL = 1 +}; + +/** Distance types for Distance Transform and M-estimators */ +enum +{ + CV_DIST_USER =-1, /**< User defined distance */ + CV_DIST_L1 =1, /**< distance = |x1-x2| + |y1-y2| */ + CV_DIST_L2 =2, /**< the simple euclidean distance */ + CV_DIST_C =3, /**< distance = max(|x1-x2|,|y1-y2|) */ + CV_DIST_L12 =4, /**< L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) */ + CV_DIST_FAIR =5, /**< distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998 */ + CV_DIST_WELSCH =6, /**< distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846 */ + CV_DIST_HUBER =7 /**< distance = |x| threshold ? max_value : 0 */ + CV_THRESH_BINARY_INV =1, /**< value = value > threshold ? 0 : max_value */ + CV_THRESH_TRUNC =2, /**< value = value > threshold ? threshold : value */ + CV_THRESH_TOZERO =3, /**< value = value > threshold ? value : 0 */ + CV_THRESH_TOZERO_INV =4, /**< value = value > threshold ? 0 : value */ + CV_THRESH_MASK =7, + CV_THRESH_OTSU =8, /**< use Otsu algorithm to choose the optimal threshold value; + combine the flag with one of the above CV_THRESH_* values */ + CV_THRESH_TRIANGLE =16 /**< use Triangle algorithm to choose the optimal threshold value; + combine the flag with one of the above CV_THRESH_* values, but not + with CV_THRESH_OTSU */ +}; + +/** Adaptive threshold methods */ +enum +{ + CV_ADAPTIVE_THRESH_MEAN_C =0, + CV_ADAPTIVE_THRESH_GAUSSIAN_C =1 +}; + +/** FloodFill flags */ +enum +{ + CV_FLOODFILL_FIXED_RANGE =(1 << 16), + CV_FLOODFILL_MASK_ONLY =(1 << 17) +}; + + +/** Canny edge detector flags */ +enum +{ + CV_CANNY_L2_GRADIENT =(1 << 31) +}; + +/** Variants of a Hough transform */ +enum +{ + CV_HOUGH_STANDARD =0, + CV_HOUGH_PROBABILISTIC =1, + CV_HOUGH_MULTI_SCALE =2, + CV_HOUGH_GRADIENT =3 +}; + + +/* Fast search data structures */ +struct CvFeatureTree; +struct CvLSH; +struct CvLSHOperations; + +/** @} */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/camera_lib/include/opencv2/opencv.hpp b/camera_lib/include/opencv2/opencv.hpp new file mode 100644 index 0000000..d17b94a --- /dev/null +++ b/camera_lib/include/opencv2/opencv.hpp @@ -0,0 +1,95 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009-2010, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_ALL_HPP +#define OPENCV_ALL_HPP + +// File that defines what modules where included during the build of OpenCV +// These are purely the defines of the correct HAVE_OPENCV_modulename values +#include "opencv2/opencv_modules.hpp" + +// Then the list of defines is checked to include the correct headers +// Core library is always included --> without no OpenCV functionality available +#include "opencv2/core.hpp" + +// Then the optional modules are checked +#ifdef HAVE_OPENCV_CALIB3D +#include "opencv2/calib3d.hpp" +#endif +#ifdef HAVE_OPENCV_FEATURES2D +#include "opencv2/features2d.hpp" +#endif +#ifdef HAVE_OPENCV_DNN +#include "opencv2/dnn.hpp" +#endif +#ifdef HAVE_OPENCV_FLANN +#include "opencv2/flann.hpp" +#endif +#ifdef HAVE_OPENCV_HIGHGUI +#include "opencv2/highgui.hpp" +#endif +#ifdef HAVE_OPENCV_IMGCODECS +#include "opencv2/imgcodecs.hpp" +#endif +#ifdef HAVE_OPENCV_IMGPROC +#include "opencv2/imgproc.hpp" +#endif +#ifdef HAVE_OPENCV_ML +#include "opencv2/ml.hpp" +#endif +#ifdef HAVE_OPENCV_OBJDETECT +#include "opencv2/objdetect.hpp" +#endif +#ifdef HAVE_OPENCV_PHOTO +#include "opencv2/photo.hpp" +#endif +#ifdef HAVE_OPENCV_STITCHING +#include "opencv2/stitching.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEO +#include "opencv2/video.hpp" +#endif +#ifdef HAVE_OPENCV_VIDEOIO +#include "opencv2/videoio.hpp" +#endif + +#endif diff --git a/camera_lib/include/opencv2/opencv_modules.hpp b/camera_lib/include/opencv2/opencv_modules.hpp new file mode 100644 index 0000000..61e037b --- /dev/null +++ b/camera_lib/include/opencv2/opencv_modules.hpp @@ -0,0 +1,19 @@ +/* + * ** File generated automatically, do not modify ** + * + * This file defines the list of modules available in current build configuration + * + * +*/ + +// This definition means that OpenCV is built with enabled non-free code. +// For example, patented algorithms for non-profit/non-commercial use only. +/* #undef OPENCV_ENABLE_NONFREE */ + +#define HAVE_OPENCV_CORE +#define HAVE_OPENCV_HIGHGUI +#define HAVE_OPENCV_IMGCODECS +#define HAVE_OPENCV_IMGPROC +#define HAVE_OPENCV_VIDEOIO + + diff --git a/camera_lib/include/opencv2/videoio.hpp b/camera_lib/include/opencv2/videoio.hpp new file mode 100644 index 0000000..1c3f0f5 --- /dev/null +++ b/camera_lib/include/opencv2/videoio.hpp @@ -0,0 +1,1169 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOIO_HPP +#define OPENCV_VIDEOIO_HPP + +#include "opencv2/core.hpp" + +/** + @defgroup videoio Video I/O + + @brief Read and write video or images sequence with OpenCV + + ### See also: + - @ref videoio_overview + - Tutorials: @ref tutorial_table_of_content_app + @{ + @defgroup videoio_flags_base Flags for video I/O + @defgroup videoio_flags_others Additional flags for video I/O API backends + @defgroup videoio_hwaccel Hardware-accelerated video decoding and encoding + @defgroup videoio_c C API for video I/O + @defgroup videoio_ios iOS glue for video I/O + @defgroup videoio_winrt WinRT glue for video I/O + @defgroup videoio_registry Query I/O API backends registry + @} +*/ + +////////////////////////////////// video io ///////////////////////////////// + +typedef struct CvCapture CvCapture; +typedef struct CvVideoWriter CvVideoWriter; + +namespace cv +{ + +//! @addtogroup videoio +//! @{ + +//! @addtogroup videoio_flags_base +//! @{ + + +/** @brief cv::VideoCapture API backends identifier. + +Select preferred API for a capture object. +To be used in the VideoCapture::VideoCapture() constructor or VideoCapture::open() + +@note +- Backends are available only if they have been built with your OpenCV binaries. +See @ref videoio_overview for more information. +- Microsoft Media Foundation backend tries to use hardware accelerated transformations +if possible. Environment flag "OPENCV_VIDEOIO_MSMF_ENABLE_HW_TRANSFORMS" set to 0 +disables it and may improve initialization time. More details: +https://learn.microsoft.com/en-us/windows/win32/medfound/mf-readwrite-enable-hardware-transforms +*/ +enum VideoCaptureAPIs { + CAP_ANY = 0, //!< Auto detect == 0 + CAP_VFW = 200, //!< Video For Windows (obsolete, removed) + CAP_V4L = 200, //!< V4L/V4L2 capturing support + CAP_V4L2 = CAP_V4L, //!< Same as CAP_V4L + CAP_FIREWIRE = 300, //!< IEEE 1394 drivers + CAP_FIREWARE = CAP_FIREWIRE, //!< Same value as CAP_FIREWIRE + CAP_IEEE1394 = CAP_FIREWIRE, //!< Same value as CAP_FIREWIRE + CAP_DC1394 = CAP_FIREWIRE, //!< Same value as CAP_FIREWIRE + CAP_CMU1394 = CAP_FIREWIRE, //!< Same value as CAP_FIREWIRE + CAP_QT = 500, //!< QuickTime (obsolete, removed) + CAP_UNICAP = 600, //!< Unicap drivers (obsolete, removed) + CAP_DSHOW = 700, //!< DirectShow (via videoInput) + CAP_PVAPI = 800, //!< PvAPI, Prosilica GigE SDK + CAP_OPENNI = 900, //!< OpenNI (for Kinect) + CAP_OPENNI_ASUS = 910, //!< OpenNI (for Asus Xtion) + CAP_ANDROID = 1000, //!< Android - not used + CAP_XIAPI = 1100, //!< XIMEA Camera API + CAP_AVFOUNDATION = 1200, //!< AVFoundation framework for iOS (OS X Lion will have the same API) + CAP_GIGANETIX = 1300, //!< Smartek Giganetix GigEVisionSDK + CAP_MSMF = 1400, //!< Microsoft Media Foundation (via videoInput). See platform specific notes above. + CAP_WINRT = 1410, //!< Microsoft Windows Runtime using Media Foundation + CAP_INTELPERC = 1500, //!< RealSense (former Intel Perceptual Computing SDK) + CAP_REALSENSE = 1500, //!< Synonym for CAP_INTELPERC + CAP_OPENNI2 = 1600, //!< OpenNI2 (for Kinect) + CAP_OPENNI2_ASUS = 1610, //!< OpenNI2 (for Asus Xtion and Occipital Structure sensors) + CAP_OPENNI2_ASTRA= 1620, //!< OpenNI2 (for Orbbec Astra) + CAP_GPHOTO2 = 1700, //!< gPhoto2 connection + CAP_GSTREAMER = 1800, //!< GStreamer + CAP_FFMPEG = 1900, //!< Open and record video file or stream using the FFMPEG library + CAP_IMAGES = 2000, //!< OpenCV Image Sequence (e.g. img_%02d.jpg) + CAP_ARAVIS = 2100, //!< Aravis SDK + CAP_OPENCV_MJPEG = 2200, //!< Built-in OpenCV MotionJPEG codec + CAP_INTEL_MFX = 2300, //!< Intel MediaSDK + CAP_XINE = 2400, //!< XINE engine (Linux) + CAP_UEYE = 2500, //!< uEye Camera API + CAP_OBSENSOR = 2600, //!< For Orbbec 3D-Sensor device/module (Astra+, Femto) + }; + + +/** @brief cv::VideoCapture generic properties identifier. + + Reading / writing properties involves many layers. Some unexpected result might happens along this chain. + Effective behaviour depends from device hardware, driver and API Backend. + @sa videoio_flags_others, VideoCapture::get(), VideoCapture::set() +*/ +enum VideoCaptureProperties { + CAP_PROP_POS_MSEC =0, //!< Current position of the video file in milliseconds. + CAP_PROP_POS_FRAMES =1, //!< 0-based index of the frame to be decoded/captured next. + CAP_PROP_POS_AVI_RATIO =2, //!< Relative position of the video file: 0=start of the film, 1=end of the film. + CAP_PROP_FRAME_WIDTH =3, //!< Width of the frames in the video stream. + CAP_PROP_FRAME_HEIGHT =4, //!< Height of the frames in the video stream. + CAP_PROP_FPS =5, //!< Frame rate. + CAP_PROP_FOURCC =6, //!< 4-character code of codec. see VideoWriter::fourcc . + CAP_PROP_FRAME_COUNT =7, //!< Number of frames in the video file. + CAP_PROP_FORMAT =8, //!< Format of the %Mat objects (see Mat::type()) returned by VideoCapture::retrieve(). + //!< Set value -1 to fetch undecoded RAW video streams (as Mat 8UC1). + CAP_PROP_MODE =9, //!< Backend-specific value indicating the current capture mode. + CAP_PROP_BRIGHTNESS =10, //!< Brightness of the image (only for those cameras that support). + CAP_PROP_CONTRAST =11, //!< Contrast of the image (only for cameras). + CAP_PROP_SATURATION =12, //!< Saturation of the image (only for cameras). + CAP_PROP_HUE =13, //!< Hue of the image (only for cameras). + CAP_PROP_GAIN =14, //!< Gain of the image (only for those cameras that support). + CAP_PROP_EXPOSURE =15, //!< Exposure (only for those cameras that support). + CAP_PROP_CONVERT_RGB =16, //!< Boolean flags indicating whether images should be converted to RGB.
+ //!< *GStreamer note*: The flag is ignored in case if custom pipeline is used. It's user responsibility to interpret pipeline output. + CAP_PROP_WHITE_BALANCE_BLUE_U =17, //!< Currently unsupported. + CAP_PROP_RECTIFICATION =18, //!< Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend currently). + CAP_PROP_MONOCHROME =19, + CAP_PROP_SHARPNESS =20, + CAP_PROP_AUTO_EXPOSURE =21, //!< DC1394: exposure control done by camera, user can adjust reference level using this feature. + CAP_PROP_GAMMA =22, + CAP_PROP_TEMPERATURE =23, + CAP_PROP_TRIGGER =24, + CAP_PROP_TRIGGER_DELAY =25, + CAP_PROP_WHITE_BALANCE_RED_V =26, + CAP_PROP_ZOOM =27, + CAP_PROP_FOCUS =28, + CAP_PROP_GUID =29, + CAP_PROP_ISO_SPEED =30, + CAP_PROP_BACKLIGHT =32, + CAP_PROP_PAN =33, + CAP_PROP_TILT =34, + CAP_PROP_ROLL =35, + CAP_PROP_IRIS =36, + CAP_PROP_SETTINGS =37, //!< Pop up video/camera filter dialog (note: only supported by DSHOW backend currently. The property value is ignored) + CAP_PROP_BUFFERSIZE =38, + CAP_PROP_AUTOFOCUS =39, + CAP_PROP_SAR_NUM =40, //!< Sample aspect ratio: num/den (num) + CAP_PROP_SAR_DEN =41, //!< Sample aspect ratio: num/den (den) + CAP_PROP_BACKEND =42, //!< Current backend (enum VideoCaptureAPIs). Read-only property + CAP_PROP_CHANNEL =43, //!< Video input or Channel Number (only for those cameras that support) + CAP_PROP_AUTO_WB =44, //!< enable/ disable auto white-balance + CAP_PROP_WB_TEMPERATURE=45, //!< white-balance color temperature + CAP_PROP_CODEC_PIXEL_FORMAT =46, //!< (read-only) codec's pixel format. 4-character code - see VideoWriter::fourcc . Subset of [AV_PIX_FMT_*](https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/raw.c) or -1 if unknown + CAP_PROP_BITRATE =47, //!< (read-only) Video bitrate in kbits/s + CAP_PROP_ORIENTATION_META=48, //!< (read-only) Frame rotation defined by stream meta (applicable for FFmpeg and AVFoundation back-ends only) + CAP_PROP_ORIENTATION_AUTO=49, //!< if true - rotates output frames of CvCapture considering video file's metadata (applicable for FFmpeg and AVFoundation back-ends only) (https://github.com/opencv/opencv/issues/15499) + CAP_PROP_HW_ACCELERATION=50, //!< (**open-only**) Hardware acceleration type (see #VideoAccelerationType). Setting supported only via `params` parameter in cv::VideoCapture constructor / .open() method. Default value is backend-specific. + CAP_PROP_HW_DEVICE =51, //!< (**open-only**) Hardware device index (select GPU if multiple available). Device enumeration is acceleration type specific. + CAP_PROP_HW_ACCELERATION_USE_OPENCL=52, //!< (**open-only**) If non-zero, create new OpenCL context and bind it to current thread. The OpenCL context created with Video Acceleration context attached it (if not attached yet) for optimized GPU data copy between HW accelerated decoder and cv::UMat. + CAP_PROP_OPEN_TIMEOUT_MSEC=53, //!< (**open-only**) timeout in milliseconds for opening a video capture (applicable for FFmpeg and GStreamer back-ends only) + CAP_PROP_READ_TIMEOUT_MSEC=54, //!< (**open-only**) timeout in milliseconds for reading from a video capture (applicable for FFmpeg and GStreamer back-ends only) + CAP_PROP_STREAM_OPEN_TIME_USEC =55, //). E.g. When reading from a h264 encoded RTSP stream, the FFmpeg backend could return the SPS and/or PPS if available (if sent in reply to a DESCRIBE request), from calls to cap.retrieve(data, ). + CAP_PROP_FRAME_TYPE = 69, //!< (read-only) FFmpeg back-end only - Frame type ascii code (73 = 'I', 80 = 'P', 66 = 'B' or 63 = '?' if unknown) of the most recently read frame. + CAP_PROP_N_THREADS = 70, //!< (**open-only**) Set the maximum number of threads to use. Use 0 to use as many threads as CPU cores (applicable for FFmpeg back-end only). +#ifndef CV_DOXYGEN + CV__CAP_PROP_LATEST +#endif + }; + +/** @brief cv::VideoWriter generic properties identifier. + @sa VideoWriter::get(), VideoWriter::set() +*/ +enum VideoWriterProperties { + VIDEOWRITER_PROP_QUALITY = 1, //!< Current quality (0..100%) of the encoded videostream. Can be adjusted dynamically in some codecs. + VIDEOWRITER_PROP_FRAMEBYTES = 2, //!< (Read-only): Size of just encoded video frame. Note that the encoding order may be different from representation order. + VIDEOWRITER_PROP_NSTRIPES = 3, //!< Number of stripes for parallel encoding. -1 for auto detection. + VIDEOWRITER_PROP_IS_COLOR = 4, //!< If it is not zero, the encoder will expect and encode color frames, otherwise it + //!< will work with grayscale frames. + VIDEOWRITER_PROP_DEPTH = 5, //!< Defaults to CV_8U. + VIDEOWRITER_PROP_HW_ACCELERATION = 6, //!< (**open-only**) Hardware acceleration type (see #VideoAccelerationType). Setting supported only via `params` parameter in VideoWriter constructor / .open() method. Default value is backend-specific. + VIDEOWRITER_PROP_HW_DEVICE = 7, //!< (**open-only**) Hardware device index (select GPU if multiple available). Device enumeration is acceleration type specific. + VIDEOWRITER_PROP_HW_ACCELERATION_USE_OPENCL= 8, //!< (**open-only**) If non-zero, create new OpenCL context and bind it to current thread. The OpenCL context created with Video Acceleration context attached it (if not attached yet) for optimized GPU data copy between cv::UMat and HW accelerated encoder. +#ifndef CV_DOXYGEN + CV__VIDEOWRITER_PROP_LATEST +#endif +}; + +//! @} videoio_flags_base + +//! @addtogroup videoio_flags_others +//! @{ + +/** @name Hardware acceleration support + @{ +*/ + +/** @brief Video Acceleration type + * + * Used as value in #CAP_PROP_HW_ACCELERATION and #VIDEOWRITER_PROP_HW_ACCELERATION + * + * @note In case of FFmpeg backend, it translated to enum AVHWDeviceType (https://github.com/FFmpeg/FFmpeg/blob/master/libavutil/hwcontext.h) + */ +enum VideoAccelerationType +{ + VIDEO_ACCELERATION_NONE = 0, //!< Do not require any specific H/W acceleration, prefer software processing. + //!< Reading of this value means that special H/W accelerated handling is not added or not detected by OpenCV. + + VIDEO_ACCELERATION_ANY = 1, //!< Prefer to use H/W acceleration. If no one supported, then fallback to software processing. + //!< @note H/W acceleration may require special configuration of used environment. + //!< @note Results in encoding scenario may differ between software and hardware accelerated encoders. + + VIDEO_ACCELERATION_D3D11 = 2, //!< DirectX 11 + VIDEO_ACCELERATION_VAAPI = 3, //!< VAAPI + VIDEO_ACCELERATION_MFX = 4, //!< libmfx (Intel MediaSDK/oneVPL) +}; + +//! @} Hardware acceleration support + +/** @name IEEE 1394 drivers + @{ +*/ + +/** @brief Modes of the IEEE 1394 controlling registers +(can be: auto, manual, auto single push, absolute Latter allowed with any other mode) +every feature can have only one mode turned on at a time +*/ +enum { CAP_PROP_DC1394_OFF = -4, //!< turn the feature off (not controlled manually nor automatically). + CAP_PROP_DC1394_MODE_MANUAL = -3, //!< set automatically when a value of the feature is set by the user. + CAP_PROP_DC1394_MODE_AUTO = -2, + CAP_PROP_DC1394_MODE_ONE_PUSH_AUTO = -1, + CAP_PROP_DC1394_MAX = 31 + }; + +//! @} IEEE 1394 drivers + +/** @name OpenNI (for Kinect) + @{ +*/ + +//! OpenNI map generators +enum { CAP_OPENNI_DEPTH_GENERATOR = 1 << 31, + CAP_OPENNI_IMAGE_GENERATOR = 1 << 30, + CAP_OPENNI_IR_GENERATOR = 1 << 29, + CAP_OPENNI_GENERATORS_MASK = CAP_OPENNI_DEPTH_GENERATOR + CAP_OPENNI_IMAGE_GENERATOR + CAP_OPENNI_IR_GENERATOR + }; + +//! Properties of cameras available through OpenNI backend +enum { CAP_PROP_OPENNI_OUTPUT_MODE = 100, + CAP_PROP_OPENNI_FRAME_MAX_DEPTH = 101, //!< In mm + CAP_PROP_OPENNI_BASELINE = 102, //!< In mm + CAP_PROP_OPENNI_FOCAL_LENGTH = 103, //!< In pixels + CAP_PROP_OPENNI_REGISTRATION = 104, //!< Flag that synchronizes the remapping depth map to image map + //!< by changing depth generator's view point (if the flag is "on") or + //!< sets this view point to its normal one (if the flag is "off"). + CAP_PROP_OPENNI_REGISTRATION_ON = CAP_PROP_OPENNI_REGISTRATION, + CAP_PROP_OPENNI_APPROX_FRAME_SYNC = 105, + CAP_PROP_OPENNI_MAX_BUFFER_SIZE = 106, + CAP_PROP_OPENNI_CIRCLE_BUFFER = 107, + CAP_PROP_OPENNI_MAX_TIME_DURATION = 108, + CAP_PROP_OPENNI_GENERATOR_PRESENT = 109, + CAP_PROP_OPENNI2_SYNC = 110, + CAP_PROP_OPENNI2_MIRROR = 111 + }; + +//! OpenNI shortcuts +enum { CAP_OPENNI_IMAGE_GENERATOR_PRESENT = CAP_OPENNI_IMAGE_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT, + CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CAP_OPENNI_IMAGE_GENERATOR + CAP_PROP_OPENNI_OUTPUT_MODE, + CAP_OPENNI_DEPTH_GENERATOR_PRESENT = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT, + CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_BASELINE, + CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_FOCAL_LENGTH, + CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_REGISTRATION, + CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION, + CAP_OPENNI_IR_GENERATOR_PRESENT = CAP_OPENNI_IR_GENERATOR + CAP_PROP_OPENNI_GENERATOR_PRESENT, + }; + +//! OpenNI data given from depth generator +enum { CAP_OPENNI_DEPTH_MAP = 0, //!< Depth values in mm (CV_16UC1) + CAP_OPENNI_POINT_CLOUD_MAP = 1, //!< XYZ in meters (CV_32FC3) + CAP_OPENNI_DISPARITY_MAP = 2, //!< Disparity in pixels (CV_8UC1) + CAP_OPENNI_DISPARITY_MAP_32F = 3, //!< Disparity in pixels (CV_32FC1) + CAP_OPENNI_VALID_DEPTH_MASK = 4, //!< CV_8UC1 + + CAP_OPENNI_BGR_IMAGE = 5, //!< Data given from RGB image generator + CAP_OPENNI_GRAY_IMAGE = 6, //!< Data given from RGB image generator + + CAP_OPENNI_IR_IMAGE = 7 //!< Data given from IR image generator + }; + +//! Supported output modes of OpenNI image generator +enum { CAP_OPENNI_VGA_30HZ = 0, + CAP_OPENNI_SXGA_15HZ = 1, + CAP_OPENNI_SXGA_30HZ = 2, + CAP_OPENNI_QVGA_30HZ = 3, + CAP_OPENNI_QVGA_60HZ = 4 + }; + +//! @} OpenNI + +/** @name GStreamer + @{ +*/ + +enum { CAP_PROP_GSTREAMER_QUEUE_LENGTH = 200 //!< Default is 1 + }; + +//! @} GStreamer + +/** @name PvAPI, Prosilica GigE SDK + @{ +*/ + +//! PVAPI +enum { CAP_PROP_PVAPI_MULTICASTIP = 300, //!< IP for enable multicast master mode. 0 for disable multicast. + CAP_PROP_PVAPI_FRAMESTARTTRIGGERMODE = 301, //!< FrameStartTriggerMode: Determines how a frame is initiated. + CAP_PROP_PVAPI_DECIMATIONHORIZONTAL = 302, //!< Horizontal sub-sampling of the image. + CAP_PROP_PVAPI_DECIMATIONVERTICAL = 303, //!< Vertical sub-sampling of the image. + CAP_PROP_PVAPI_BINNINGX = 304, //!< Horizontal binning factor. + CAP_PROP_PVAPI_BINNINGY = 305, //!< Vertical binning factor. + CAP_PROP_PVAPI_PIXELFORMAT = 306 //!< Pixel format. + }; + +//! PVAPI: FrameStartTriggerMode +enum { CAP_PVAPI_FSTRIGMODE_FREERUN = 0, //!< Freerun + CAP_PVAPI_FSTRIGMODE_SYNCIN1 = 1, //!< SyncIn1 + CAP_PVAPI_FSTRIGMODE_SYNCIN2 = 2, //!< SyncIn2 + CAP_PVAPI_FSTRIGMODE_FIXEDRATE = 3, //!< FixedRate + CAP_PVAPI_FSTRIGMODE_SOFTWARE = 4 //!< Software + }; + +//! PVAPI: DecimationHorizontal, DecimationVertical +enum { CAP_PVAPI_DECIMATION_OFF = 1, //!< Off + CAP_PVAPI_DECIMATION_2OUTOF4 = 2, //!< 2 out of 4 decimation + CAP_PVAPI_DECIMATION_2OUTOF8 = 4, //!< 2 out of 8 decimation + CAP_PVAPI_DECIMATION_2OUTOF16 = 8 //!< 2 out of 16 decimation + }; + +//! PVAPI: PixelFormat +enum { CAP_PVAPI_PIXELFORMAT_MONO8 = 1, //!< Mono8 + CAP_PVAPI_PIXELFORMAT_MONO16 = 2, //!< Mono16 + CAP_PVAPI_PIXELFORMAT_BAYER8 = 3, //!< Bayer8 + CAP_PVAPI_PIXELFORMAT_BAYER16 = 4, //!< Bayer16 + CAP_PVAPI_PIXELFORMAT_RGB24 = 5, //!< Rgb24 + CAP_PVAPI_PIXELFORMAT_BGR24 = 6, //!< Bgr24 + CAP_PVAPI_PIXELFORMAT_RGBA32 = 7, //!< Rgba32 + CAP_PVAPI_PIXELFORMAT_BGRA32 = 8, //!< Bgra32 + }; + +//! @} PvAPI + +/** @name XIMEA Camera API + @{ +*/ + +//! Properties of cameras available through XIMEA SDK backend +enum { CAP_PROP_XI_DOWNSAMPLING = 400, //!< Change image resolution by binning or skipping. + CAP_PROP_XI_DATA_FORMAT = 401, //!< Output data format. + CAP_PROP_XI_OFFSET_X = 402, //!< Horizontal offset from the origin to the area of interest (in pixels). + CAP_PROP_XI_OFFSET_Y = 403, //!< Vertical offset from the origin to the area of interest (in pixels). + CAP_PROP_XI_TRG_SOURCE = 404, //!< Defines source of trigger. + CAP_PROP_XI_TRG_SOFTWARE = 405, //!< Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE. + CAP_PROP_XI_GPI_SELECTOR = 406, //!< Selects general purpose input. + CAP_PROP_XI_GPI_MODE = 407, //!< Set general purpose input mode. + CAP_PROP_XI_GPI_LEVEL = 408, //!< Get general purpose level. + CAP_PROP_XI_GPO_SELECTOR = 409, //!< Selects general purpose output. + CAP_PROP_XI_GPO_MODE = 410, //!< Set general purpose output mode. + CAP_PROP_XI_LED_SELECTOR = 411, //!< Selects camera signalling LED. + CAP_PROP_XI_LED_MODE = 412, //!< Define camera signalling LED functionality. + CAP_PROP_XI_MANUAL_WB = 413, //!< Calculates White Balance(must be called during acquisition). + CAP_PROP_XI_AUTO_WB = 414, //!< Automatic white balance. + CAP_PROP_XI_AEAG = 415, //!< Automatic exposure/gain. + CAP_PROP_XI_EXP_PRIORITY = 416, //!< Exposure priority (0.5 - exposure 50%, gain 50%). + CAP_PROP_XI_AE_MAX_LIMIT = 417, //!< Maximum limit of exposure in AEAG procedure. + CAP_PROP_XI_AG_MAX_LIMIT = 418, //!< Maximum limit of gain in AEAG procedure. + CAP_PROP_XI_AEAG_LEVEL = 419, //!< Average intensity of output signal AEAG should achieve(in %). + CAP_PROP_XI_TIMEOUT = 420, //!< Image capture timeout in milliseconds. + CAP_PROP_XI_EXPOSURE = 421, //!< Exposure time in microseconds. + CAP_PROP_XI_EXPOSURE_BURST_COUNT = 422, //!< Sets the number of times of exposure in one frame. + CAP_PROP_XI_GAIN_SELECTOR = 423, //!< Gain selector for parameter Gain allows to select different type of gains. + CAP_PROP_XI_GAIN = 424, //!< Gain in dB. + CAP_PROP_XI_DOWNSAMPLING_TYPE = 426, //!< Change image downsampling type. + CAP_PROP_XI_BINNING_SELECTOR = 427, //!< Binning engine selector. + CAP_PROP_XI_BINNING_VERTICAL = 428, //!< Vertical Binning - number of vertical photo-sensitive cells to combine together. + CAP_PROP_XI_BINNING_HORIZONTAL = 429, //!< Horizontal Binning - number of horizontal photo-sensitive cells to combine together. + CAP_PROP_XI_BINNING_PATTERN = 430, //!< Binning pattern type. + CAP_PROP_XI_DECIMATION_SELECTOR = 431, //!< Decimation engine selector. + CAP_PROP_XI_DECIMATION_VERTICAL = 432, //!< Vertical Decimation - vertical sub-sampling of the image - reduces the vertical resolution of the image by the specified vertical decimation factor. + CAP_PROP_XI_DECIMATION_HORIZONTAL = 433, //!< Horizontal Decimation - horizontal sub-sampling of the image - reduces the horizontal resolution of the image by the specified vertical decimation factor. + CAP_PROP_XI_DECIMATION_PATTERN = 434, //!< Decimation pattern type. + CAP_PROP_XI_TEST_PATTERN_GENERATOR_SELECTOR = 587, //!< Selects which test pattern generator is controlled by the TestPattern feature. + CAP_PROP_XI_TEST_PATTERN = 588, //!< Selects which test pattern type is generated by the selected generator. + CAP_PROP_XI_IMAGE_DATA_FORMAT = 435, //!< Output data format. + CAP_PROP_XI_SHUTTER_TYPE = 436, //!< Change sensor shutter type(CMOS sensor). + CAP_PROP_XI_SENSOR_TAPS = 437, //!< Number of taps. + CAP_PROP_XI_AEAG_ROI_OFFSET_X = 439, //!< Automatic exposure/gain ROI offset X. + CAP_PROP_XI_AEAG_ROI_OFFSET_Y = 440, //!< Automatic exposure/gain ROI offset Y. + CAP_PROP_XI_AEAG_ROI_WIDTH = 441, //!< Automatic exposure/gain ROI Width. + CAP_PROP_XI_AEAG_ROI_HEIGHT = 442, //!< Automatic exposure/gain ROI Height. + CAP_PROP_XI_BPC = 445, //!< Correction of bad pixels. + CAP_PROP_XI_WB_KR = 448, //!< White balance red coefficient. + CAP_PROP_XI_WB_KG = 449, //!< White balance green coefficient. + CAP_PROP_XI_WB_KB = 450, //!< White balance blue coefficient. + CAP_PROP_XI_WIDTH = 451, //!< Width of the Image provided by the device (in pixels). + CAP_PROP_XI_HEIGHT = 452, //!< Height of the Image provided by the device (in pixels). + CAP_PROP_XI_REGION_SELECTOR = 589, //!< Selects Region in Multiple ROI which parameters are set by width, height, ... ,region mode. + CAP_PROP_XI_REGION_MODE = 595, //!< Activates/deactivates Region selected by Region Selector. + CAP_PROP_XI_LIMIT_BANDWIDTH = 459, //!< Set/get bandwidth(datarate)(in Megabits). + CAP_PROP_XI_SENSOR_DATA_BIT_DEPTH = 460, //!< Sensor output data bit depth. + CAP_PROP_XI_OUTPUT_DATA_BIT_DEPTH = 461, //!< Device output data bit depth. + CAP_PROP_XI_IMAGE_DATA_BIT_DEPTH = 462, //!< bitdepth of data returned by function xiGetImage. + CAP_PROP_XI_OUTPUT_DATA_PACKING = 463, //!< Device output data packing (or grouping) enabled. Packing could be enabled if output_data_bit_depth > 8 and packing capability is available. + CAP_PROP_XI_OUTPUT_DATA_PACKING_TYPE = 464, //!< Data packing type. Some cameras supports only specific packing type. + CAP_PROP_XI_IS_COOLED = 465, //!< Returns 1 for cameras that support cooling. + CAP_PROP_XI_COOLING = 466, //!< Start camera cooling. + CAP_PROP_XI_TARGET_TEMP = 467, //!< Set sensor target temperature for cooling. + CAP_PROP_XI_CHIP_TEMP = 468, //!< Camera sensor temperature. + CAP_PROP_XI_HOUS_TEMP = 469, //!< Camera housing temperature. + CAP_PROP_XI_HOUS_BACK_SIDE_TEMP = 590, //!< Camera housing back side temperature. + CAP_PROP_XI_SENSOR_BOARD_TEMP = 596, //!< Camera sensor board temperature. + CAP_PROP_XI_CMS = 470, //!< Mode of color management system. + CAP_PROP_XI_APPLY_CMS = 471, //!< Enable applying of CMS profiles to xiGetImage (see XI_PRM_INPUT_CMS_PROFILE, XI_PRM_OUTPUT_CMS_PROFILE). + CAP_PROP_XI_IMAGE_IS_COLOR = 474, //!< Returns 1 for color cameras. + CAP_PROP_XI_COLOR_FILTER_ARRAY = 475, //!< Returns color filter array type of RAW data. + CAP_PROP_XI_GAMMAY = 476, //!< Luminosity gamma. + CAP_PROP_XI_GAMMAC = 477, //!< Chromaticity gamma. + CAP_PROP_XI_SHARPNESS = 478, //!< Sharpness Strength. + CAP_PROP_XI_CC_MATRIX_00 = 479, //!< Color Correction Matrix element [0][0]. + CAP_PROP_XI_CC_MATRIX_01 = 480, //!< Color Correction Matrix element [0][1]. + CAP_PROP_XI_CC_MATRIX_02 = 481, //!< Color Correction Matrix element [0][2]. + CAP_PROP_XI_CC_MATRIX_03 = 482, //!< Color Correction Matrix element [0][3]. + CAP_PROP_XI_CC_MATRIX_10 = 483, //!< Color Correction Matrix element [1][0]. + CAP_PROP_XI_CC_MATRIX_11 = 484, //!< Color Correction Matrix element [1][1]. + CAP_PROP_XI_CC_MATRIX_12 = 485, //!< Color Correction Matrix element [1][2]. + CAP_PROP_XI_CC_MATRIX_13 = 486, //!< Color Correction Matrix element [1][3]. + CAP_PROP_XI_CC_MATRIX_20 = 487, //!< Color Correction Matrix element [2][0]. + CAP_PROP_XI_CC_MATRIX_21 = 488, //!< Color Correction Matrix element [2][1]. + CAP_PROP_XI_CC_MATRIX_22 = 489, //!< Color Correction Matrix element [2][2]. + CAP_PROP_XI_CC_MATRIX_23 = 490, //!< Color Correction Matrix element [2][3]. + CAP_PROP_XI_CC_MATRIX_30 = 491, //!< Color Correction Matrix element [3][0]. + CAP_PROP_XI_CC_MATRIX_31 = 492, //!< Color Correction Matrix element [3][1]. + CAP_PROP_XI_CC_MATRIX_32 = 493, //!< Color Correction Matrix element [3][2]. + CAP_PROP_XI_CC_MATRIX_33 = 494, //!< Color Correction Matrix element [3][3]. + CAP_PROP_XI_DEFAULT_CC_MATRIX = 495, //!< Set default Color Correction Matrix. + CAP_PROP_XI_TRG_SELECTOR = 498, //!< Selects the type of trigger. + CAP_PROP_XI_ACQ_FRAME_BURST_COUNT = 499, //!< Sets number of frames acquired by burst. This burst is used only if trigger is set to FrameBurstStart. + CAP_PROP_XI_DEBOUNCE_EN = 507, //!< Enable/Disable debounce to selected GPI. + CAP_PROP_XI_DEBOUNCE_T0 = 508, //!< Debounce time (x * 10us). + CAP_PROP_XI_DEBOUNCE_T1 = 509, //!< Debounce time (x * 10us). + CAP_PROP_XI_DEBOUNCE_POL = 510, //!< Debounce polarity (pol = 1 t0 - falling edge, t1 - rising edge). + CAP_PROP_XI_LENS_MODE = 511, //!< Status of lens control interface. This shall be set to XI_ON before any Lens operations. + CAP_PROP_XI_LENS_APERTURE_VALUE = 512, //!< Current lens aperture value in stops. Examples: 2.8, 4, 5.6, 8, 11. + CAP_PROP_XI_LENS_FOCUS_MOVEMENT_VALUE = 513, //!< Lens current focus movement value to be used by XI_PRM_LENS_FOCUS_MOVE in motor steps. + CAP_PROP_XI_LENS_FOCUS_MOVE = 514, //!< Moves lens focus motor by steps set in XI_PRM_LENS_FOCUS_MOVEMENT_VALUE. + CAP_PROP_XI_LENS_FOCUS_DISTANCE = 515, //!< Lens focus distance in cm. + CAP_PROP_XI_LENS_FOCAL_LENGTH = 516, //!< Lens focal distance in mm. + CAP_PROP_XI_LENS_FEATURE_SELECTOR = 517, //!< Selects the current feature which is accessible by XI_PRM_LENS_FEATURE. + CAP_PROP_XI_LENS_FEATURE = 518, //!< Allows access to lens feature value currently selected by XI_PRM_LENS_FEATURE_SELECTOR. + CAP_PROP_XI_DEVICE_MODEL_ID = 521, //!< Returns device model id. + CAP_PROP_XI_DEVICE_SN = 522, //!< Returns device serial number. + CAP_PROP_XI_IMAGE_DATA_FORMAT_RGB32_ALPHA = 529, //!< The alpha channel of RGB32 output image format. + CAP_PROP_XI_IMAGE_PAYLOAD_SIZE = 530, //!< Buffer size in bytes sufficient for output image returned by xiGetImage. + CAP_PROP_XI_TRANSPORT_PIXEL_FORMAT = 531, //!< Current format of pixels on transport layer. + CAP_PROP_XI_SENSOR_CLOCK_FREQ_HZ = 532, //!< Sensor clock frequency in Hz. + CAP_PROP_XI_SENSOR_CLOCK_FREQ_INDEX = 533, //!< Sensor clock frequency index. Sensor with selected frequencies have possibility to set the frequency only by this index. + CAP_PROP_XI_SENSOR_OUTPUT_CHANNEL_COUNT = 534, //!< Number of output channels from sensor used for data transfer. + CAP_PROP_XI_FRAMERATE = 535, //!< Define framerate in Hz. + CAP_PROP_XI_COUNTER_SELECTOR = 536, //!< Select counter. + CAP_PROP_XI_COUNTER_VALUE = 537, //!< Counter status. + CAP_PROP_XI_ACQ_TIMING_MODE = 538, //!< Type of sensor frames timing. + CAP_PROP_XI_AVAILABLE_BANDWIDTH = 539, //!< Calculate and returns available interface bandwidth(int Megabits). + CAP_PROP_XI_BUFFER_POLICY = 540, //!< Data move policy. + CAP_PROP_XI_LUT_EN = 541, //!< Activates LUT. + CAP_PROP_XI_LUT_INDEX = 542, //!< Control the index (offset) of the coefficient to access in the LUT. + CAP_PROP_XI_LUT_VALUE = 543, //!< Value at entry LUTIndex of the LUT. + CAP_PROP_XI_TRG_DELAY = 544, //!< Specifies the delay in microseconds (us) to apply after the trigger reception before activating it. + CAP_PROP_XI_TS_RST_MODE = 545, //!< Defines how time stamp reset engine will be armed. + CAP_PROP_XI_TS_RST_SOURCE = 546, //!< Defines which source will be used for timestamp reset. Writing this parameter will trigger settings of engine (arming). + CAP_PROP_XI_IS_DEVICE_EXIST = 547, //!< Returns 1 if camera connected and works properly. + CAP_PROP_XI_ACQ_BUFFER_SIZE = 548, //!< Acquisition buffer size in buffer_size_unit. Default bytes. + CAP_PROP_XI_ACQ_BUFFER_SIZE_UNIT = 549, //!< Acquisition buffer size unit in bytes. Default 1. E.g. Value 1024 means that buffer_size is in KiBytes. + CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_SIZE = 550, //!< Acquisition transport buffer size in bytes. + CAP_PROP_XI_BUFFERS_QUEUE_SIZE = 551, //!< Queue of field/frame buffers. + CAP_PROP_XI_ACQ_TRANSPORT_BUFFER_COMMIT = 552, //!< Number of buffers to commit to low level. + CAP_PROP_XI_RECENT_FRAME = 553, //!< GetImage returns most recent frame. + CAP_PROP_XI_DEVICE_RESET = 554, //!< Resets the camera to default state. + CAP_PROP_XI_COLUMN_FPN_CORRECTION = 555, //!< Correction of column FPN. + CAP_PROP_XI_ROW_FPN_CORRECTION = 591, //!< Correction of row FPN. + CAP_PROP_XI_SENSOR_MODE = 558, //!< Current sensor mode. Allows to select sensor mode by one integer. Setting of this parameter affects: image dimensions and downsampling. + CAP_PROP_XI_HDR = 559, //!< Enable High Dynamic Range feature. + CAP_PROP_XI_HDR_KNEEPOINT_COUNT = 560, //!< The number of kneepoints in the PWLR. + CAP_PROP_XI_HDR_T1 = 561, //!< Position of first kneepoint(in % of XI_PRM_EXPOSURE). + CAP_PROP_XI_HDR_T2 = 562, //!< Position of second kneepoint (in % of XI_PRM_EXPOSURE). + CAP_PROP_XI_KNEEPOINT1 = 563, //!< Value of first kneepoint (% of sensor saturation). + CAP_PROP_XI_KNEEPOINT2 = 564, //!< Value of second kneepoint (% of sensor saturation). + CAP_PROP_XI_IMAGE_BLACK_LEVEL = 565, //!< Last image black level counts. Can be used for Offline processing to recall it. + CAP_PROP_XI_HW_REVISION = 571, //!< Returns hardware revision number. + CAP_PROP_XI_DEBUG_LEVEL = 572, //!< Set debug level. + CAP_PROP_XI_AUTO_BANDWIDTH_CALCULATION = 573, //!< Automatic bandwidth calculation. + CAP_PROP_XI_FFS_FILE_ID = 594, //!< File number. + CAP_PROP_XI_FFS_FILE_SIZE = 580, //!< Size of file. + CAP_PROP_XI_FREE_FFS_SIZE = 581, //!< Size of free camera FFS. + CAP_PROP_XI_USED_FFS_SIZE = 582, //!< Size of used camera FFS. + CAP_PROP_XI_FFS_ACCESS_KEY = 583, //!< Setting of key enables file operations on some cameras. + CAP_PROP_XI_SENSOR_FEATURE_SELECTOR = 585, //!< Selects the current feature which is accessible by XI_PRM_SENSOR_FEATURE_VALUE. + CAP_PROP_XI_SENSOR_FEATURE_VALUE = 586, //!< Allows access to sensor feature value currently selected by XI_PRM_SENSOR_FEATURE_SELECTOR. + }; + +//! @} XIMEA + + +/** @name ARAVIS Camera API + @{ +*/ + +//! Properties of cameras available through ARAVIS backend +enum { CAP_PROP_ARAVIS_AUTOTRIGGER = 600 //!< Automatically trigger frame capture if camera is configured with software trigger +}; + +//! @} ARAVIS + +/** @name AVFoundation framework for iOS + @{ +*/ + +//! Properties of cameras available through AVFOUNDATION backend +enum { CAP_PROP_IOS_DEVICE_FOCUS = 9001, + CAP_PROP_IOS_DEVICE_EXPOSURE = 9002, + CAP_PROP_IOS_DEVICE_FLASH = 9003, + CAP_PROP_IOS_DEVICE_WHITEBALANCE = 9004, + CAP_PROP_IOS_DEVICE_TORCH = 9005 + }; + +//! @} AVFoundation framework for iOS + + +/** @name Smartek Giganetix GigEVisionSDK + @{ +*/ + +//! Properties of cameras available through Smartek Giganetix Ethernet Vision backend +/* --- Vladimir Litvinenko (litvinenko.vladimir@gmail.com) --- */ +enum { CAP_PROP_GIGA_FRAME_OFFSET_X = 10001, + CAP_PROP_GIGA_FRAME_OFFSET_Y = 10002, + CAP_PROP_GIGA_FRAME_WIDTH_MAX = 10003, + CAP_PROP_GIGA_FRAME_HEIGH_MAX = 10004, + CAP_PROP_GIGA_FRAME_SENS_WIDTH = 10005, + CAP_PROP_GIGA_FRAME_SENS_HEIGH = 10006 + }; + +//! @} Smartek + +/** @name Intel Perceptual Computing SDK + @{ +*/ +enum { CAP_PROP_INTELPERC_PROFILE_COUNT = 11001, + CAP_PROP_INTELPERC_PROFILE_IDX = 11002, + CAP_PROP_INTELPERC_DEPTH_LOW_CONFIDENCE_VALUE = 11003, + CAP_PROP_INTELPERC_DEPTH_SATURATION_VALUE = 11004, + CAP_PROP_INTELPERC_DEPTH_CONFIDENCE_THRESHOLD = 11005, + CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_HORZ = 11006, + CAP_PROP_INTELPERC_DEPTH_FOCAL_LENGTH_VERT = 11007 + }; + +//! Intel Perceptual Streams +enum { CAP_INTELPERC_DEPTH_GENERATOR = 1 << 29, + CAP_INTELPERC_IMAGE_GENERATOR = 1 << 28, + CAP_INTELPERC_IR_GENERATOR = 1 << 27, + CAP_INTELPERC_GENERATORS_MASK = CAP_INTELPERC_DEPTH_GENERATOR + CAP_INTELPERC_IMAGE_GENERATOR + CAP_INTELPERC_IR_GENERATOR + }; + +enum { CAP_INTELPERC_DEPTH_MAP = 0, //!< Each pixel is a 16-bit integer. The value indicates the distance from an object to the camera's XY plane or the Cartesian depth. + CAP_INTELPERC_UVDEPTH_MAP = 1, //!< Each pixel contains two 32-bit floating point values in the range of 0-1, representing the mapping of depth coordinates to the color coordinates. + CAP_INTELPERC_IR_MAP = 2, //!< Each pixel is a 16-bit integer. The value indicates the intensity of the reflected laser beam. + CAP_INTELPERC_IMAGE = 3 + }; + +//! @} Intel Perceptual + +/** @name gPhoto2 connection + @{ +*/ + +/** @brief gPhoto2 properties + +If `propertyId` is less than 0 then work on widget with that __additive inversed__ camera setting ID +Get IDs by using CAP_PROP_GPHOTO2_WIDGET_ENUMERATE. +@see CvCaptureCAM_GPHOTO2 for more info +*/ +enum { CAP_PROP_GPHOTO2_PREVIEW = 17001, //!< Capture only preview from liveview mode. + CAP_PROP_GPHOTO2_WIDGET_ENUMERATE = 17002, //!< Readonly, returns (const char *). + CAP_PROP_GPHOTO2_RELOAD_CONFIG = 17003, //!< Trigger, only by set. Reload camera settings. + CAP_PROP_GPHOTO2_RELOAD_ON_CHANGE = 17004, //!< Reload all settings on set. + CAP_PROP_GPHOTO2_COLLECT_MSGS = 17005, //!< Collect messages with details. + CAP_PROP_GPHOTO2_FLUSH_MSGS = 17006, //!< Readonly, returns (const char *). + CAP_PROP_SPEED = 17007, //!< Exposure speed. Can be readonly, depends on camera program. + CAP_PROP_APERTURE = 17008, //!< Aperture. Can be readonly, depends on camera program. + CAP_PROP_EXPOSUREPROGRAM = 17009, //!< Camera exposure program. + CAP_PROP_VIEWFINDER = 17010 //!< Enter liveview mode. + }; + +//! @} gPhoto2 + + +/** @name Images backend + @{ +*/ + +/** @brief Images backend properties + +*/ +enum { CAP_PROP_IMAGES_BASE = 18000, + CAP_PROP_IMAGES_LAST = 19000 // excluding + }; + +//! @} Images + +/** @name OBSENSOR (for Orbbec 3D-Sensor device/module ) + @{ +*/ +//! OBSENSOR data given from image generator +enum VideoCaptureOBSensorDataType{ + CAP_OBSENSOR_DEPTH_MAP = 0, //!< Depth values in mm (CV_16UC1) + CAP_OBSENSOR_BGR_IMAGE = 1, //!< Data given from BGR stream generator + CAP_OBSENSOR_IR_IMAGE = 2 //!< Data given from IR stream generator(CV_16UC1) +}; + +//! OBSENSOR stream generator +enum VideoCaptureOBSensorGenerators{ + CAP_OBSENSOR_DEPTH_GENERATOR = 1 << 29, + CAP_OBSENSOR_IMAGE_GENERATOR = 1 << 28, + CAP_OBSENSOR_IR_GENERATOR = 1 << 27, + CAP_OBSENSOR_GENERATORS_MASK = CAP_OBSENSOR_DEPTH_GENERATOR + CAP_OBSENSOR_IMAGE_GENERATOR + CAP_OBSENSOR_IR_GENERATOR +}; + +//!OBSENSOR properties +enum VideoCaptureOBSensorProperties{ + // INTRINSIC + CAP_PROP_OBSENSOR_INTRINSIC_FX=26001, + CAP_PROP_OBSENSOR_INTRINSIC_FY=26002, + CAP_PROP_OBSENSOR_INTRINSIC_CX=26003, + CAP_PROP_OBSENSOR_INTRINSIC_CY=26004, +}; + +//! @} OBSENSOR + +//! @} videoio_flags_others + + +class IVideoCapture; +//! @cond IGNORED +namespace internal { class VideoCapturePrivateAccessor; } +//! @endcond IGNORED + +/** @brief Class for video capturing from video files, image sequences or cameras. + +The class provides C++ API for capturing video from cameras or for reading video files and image sequences. + +Here is how the class can be used: +@include samples/cpp/videocapture_basic.cpp + +@note In @ref videoio_c "C API" the black-box structure `CvCapture` is used instead of %VideoCapture. +@note +- (C++) A basic sample on using the %VideoCapture interface can be found at + `OPENCV_SOURCE_CODE/samples/cpp/videocapture_starter.cpp` +- (Python) A basic sample on using the %VideoCapture interface can be found at + `OPENCV_SOURCE_CODE/samples/python/video.py` +- (Python) A multi threaded video processing sample can be found at + `OPENCV_SOURCE_CODE/samples/python/video_threaded.py` +- (Python) %VideoCapture sample showcasing some features of the Video4Linux2 backend + `OPENCV_SOURCE_CODE/samples/python/video_v4l2.py` + */ +class CV_EXPORTS_W VideoCapture +{ +public: + /** @brief Default constructor + @note In @ref videoio_c "C API", when you finished working with video, release CvCapture structure with + cvReleaseCapture(), or use Ptr\ that calls cvReleaseCapture() automatically in the + destructor. + */ + CV_WRAP VideoCapture(); + + /** @overload + @brief Opens a video file or a capturing device or an IP video stream for video capturing with API Preference + + @param filename it can be: + - name of video file (eg. `video.avi`) + - or image sequence (eg. `img_%02d.jpg`, which will read samples like `img_00.jpg, img_01.jpg, img_02.jpg, ...`) + - or URL of video stream (eg. `protocol://host:port/script_name?script_params|auth`) + - or GStreamer pipeline string in gst-launch tool format in case if GStreamer is used as backend + Note that each video stream or IP camera feed has its own URL scheme. Please refer to the + documentation of source stream to know the right URL. + @param apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_IMAGES or cv::CAP_DSHOW. + + @sa cv::VideoCaptureAPIs + */ + CV_WRAP explicit VideoCapture(const String& filename, int apiPreference = CAP_ANY); + + /** @overload + @brief Opens a video file or a capturing device or an IP video stream for video capturing with API Preference and parameters + + The `params` parameter allows to specify extra parameters encoded as pairs `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)`. + See cv::VideoCaptureProperties + */ + CV_WRAP explicit VideoCapture(const String& filename, int apiPreference, const std::vector& params); + + /** @overload + @brief Opens a camera for video capturing + + @param index id of the video capturing device to open. To open default camera using default backend just pass 0. + (to backward compatibility usage of camera_id + domain_offset (CAP_*) is valid when apiPreference is CAP_ANY) + @param apiPreference preferred Capture API backends to use. Can be used to enforce a specific reader + implementation if multiple are available: e.g. cv::CAP_DSHOW or cv::CAP_MSMF or cv::CAP_V4L. + + @sa cv::VideoCaptureAPIs + */ + CV_WRAP explicit VideoCapture(int index, int apiPreference = CAP_ANY); + + /** @overload + @brief Opens a camera for video capturing with API Preference and parameters + + The `params` parameter allows to specify extra parameters encoded as pairs `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)`. + See cv::VideoCaptureProperties + */ + CV_WRAP explicit VideoCapture(int index, int apiPreference, const std::vector& params); + + /** @brief Default destructor + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + virtual ~VideoCapture(); + + /** @brief Opens a video file or a capturing device or an IP video stream for video capturing. + + @overload + + Parameters are same as the constructor VideoCapture(const String& filename, int apiPreference = CAP_ANY) + @return `true` if the file has been successfully opened + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(const String& filename, int apiPreference = CAP_ANY); + + /** @brief Opens a video file or a capturing device or an IP video stream for video capturing with API Preference and parameters + + @overload + + The `params` parameter allows to specify extra parameters encoded as pairs `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)`. + See cv::VideoCaptureProperties + + @return `true` if the file has been successfully opened + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(const String& filename, int apiPreference, const std::vector& params); + + /** @brief Opens a camera for video capturing + + @overload + + Parameters are same as the constructor VideoCapture(int index, int apiPreference = CAP_ANY) + @return `true` if the camera has been successfully opened. + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(int index, int apiPreference = CAP_ANY); + + /** @brief Opens a camera for video capturing with API Preference and parameters + + @overload + + The `params` parameter allows to specify extra parameters encoded as pairs `(paramId_1, paramValue_1, paramId_2, paramValue_2, ...)`. + See cv::VideoCaptureProperties + + @return `true` if the camera has been successfully opened. + + The method first calls VideoCapture::release to close the already opened file or camera. + */ + CV_WRAP virtual bool open(int index, int apiPreference, const std::vector& params); + + /** @brief Returns true if video capturing has been initialized already. + + If the previous call to VideoCapture constructor or VideoCapture::open() succeeded, the method returns + true. + */ + CV_WRAP virtual bool isOpened() const; + + /** @brief Closes video file or capturing device. + + The method is automatically called by subsequent VideoCapture::open and by VideoCapture + destructor. + + The C function also deallocates memory and clears \*capture pointer. + */ + CV_WRAP virtual void release(); + + /** @brief Grabs the next frame from video file or capturing device. + + @return `true` (non-zero) in the case of success. + + The method/function grabs the next frame from video file or camera and returns true (non-zero) in + the case of success. + + The primary use of the function is in multi-camera environments, especially when the cameras do not + have hardware synchronization. That is, you call VideoCapture::grab() for each camera and after that + call the slower method VideoCapture::retrieve() to decode and get frame from each camera. This way + the overhead on demosaicing or motion jpeg decompression etc. is eliminated and the retrieved frames + from different cameras will be closer in time. + + Also, when a connected camera is multi-head (for example, a stereo camera or a Kinect device), the + correct way of retrieving data from it is to call VideoCapture::grab() first and then call + VideoCapture::retrieve() one or more times with different values of the channel parameter. + + @ref tutorial_kinect_openni + */ + CV_WRAP virtual bool grab(); + + /** @brief Decodes and returns the grabbed video frame. + + @param [out] image the video frame is returned here. If no frames has been grabbed the image will be empty. + @param flag it could be a frame index or a driver specific flag + @return `false` if no frames has been grabbed + + The method decodes and returns the just grabbed frame. If no frames has been grabbed + (camera has been disconnected, or there are no more frames in video file), the method returns false + and the function returns an empty image (with %cv::Mat, test it with Mat::empty()). + + @sa read() + + @note In @ref videoio_c "C API", functions cvRetrieveFrame() and cv.RetrieveFrame() return image stored inside the video + capturing structure. It is not allowed to modify or release the image! You can copy the frame using + cvCloneImage and then do whatever you want with the copy. + */ + CV_WRAP virtual bool retrieve(OutputArray image, int flag = 0); + + /** @brief Stream operator to read the next video frame. + @sa read() + */ + virtual VideoCapture& operator >> (CV_OUT Mat& image); + + /** @overload + @sa read() + */ + virtual VideoCapture& operator >> (CV_OUT UMat& image); + + /** @brief Grabs, decodes and returns the next video frame. + + @param [out] image the video frame is returned here. If no frames has been grabbed the image will be empty. + @return `false` if no frames has been grabbed + + The method/function combines VideoCapture::grab() and VideoCapture::retrieve() in one call. This is the + most convenient method for reading video files or capturing data from decode and returns the just + grabbed frame. If no frames has been grabbed (camera has been disconnected, or there are no more + frames in video file), the method returns false and the function returns empty image (with %cv::Mat, test it with Mat::empty()). + + @note In @ref videoio_c "C API", functions cvRetrieveFrame() and cv.RetrieveFrame() return image stored inside the video + capturing structure. It is not allowed to modify or release the image! You can copy the frame using + cvCloneImage and then do whatever you want with the copy. + */ + CV_WRAP virtual bool read(OutputArray image); + + /** @brief Sets a property in the VideoCapture. + + @param propId Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + @param value Value of the property. + @return `true` if the property is supported by backend used by the VideoCapture instance. + @note Even if it returns `true` this doesn't ensure that the property + value has been accepted by the capture device. See note in VideoCapture::get() + */ + CV_WRAP virtual bool set(int propId, double value); + + /** @brief Returns the specified VideoCapture property + + @param propId Property identifier from cv::VideoCaptureProperties (eg. cv::CAP_PROP_POS_MSEC, cv::CAP_PROP_POS_FRAMES, ...) + or one from @ref videoio_flags_others + @return Value for the specified property. Value 0 is returned when querying a property that is + not supported by the backend used by the VideoCapture instance. + + @note Reading / writing properties involves many layers. Some unexpected result might happens + along this chain. + @code{.txt} + VideoCapture -> API Backend -> Operating System -> Device Driver -> Device Hardware + @endcode + The returned value might be different from what really used by the device or it could be encoded + using device dependent rules (eg. steps or percentage). Effective behaviour depends from device + driver and API Backend + + */ + CV_WRAP virtual double get(int propId) const; + + /** @brief Returns used backend API name + + @note Stream should be opened. + */ + CV_WRAP String getBackendName() const; + + /** Switches exceptions mode + * + * methods raise exceptions if not successful instead of returning an error code + */ + CV_WRAP void setExceptionMode(bool enable) { throwOnFail = enable; } + + /// query if exception mode is active + CV_WRAP bool getExceptionMode() { return throwOnFail; } + + + /** @brief Wait for ready frames from VideoCapture. + + @param streams input video streams + @param readyIndex stream indexes with grabbed frames (ready to use .retrieve() to fetch actual frame) + @param timeoutNs number of nanoseconds (0 - infinite) + @return `true` if streamReady is not empty + + @throws Exception %Exception on stream errors (check .isOpened() to filter out malformed streams) or VideoCapture type is not supported + + The primary use of the function is in multi-camera environments. + The method fills the ready state vector, grabs video frame, if camera is ready. + + After this call use VideoCapture::retrieve() to decode and fetch frame data. + */ + CV_WRAP static + bool waitAny( + const std::vector& streams, + CV_OUT std::vector& readyIndex, + int64 timeoutNs = 0); + +protected: + Ptr cap; + Ptr icap; + bool throwOnFail; + + friend class internal::VideoCapturePrivateAccessor; +}; + +class IVideoWriter; + +/** @example samples/cpp/tutorial_code/videoio/video-write/video-write.cpp +Check @ref tutorial_video_write "the corresponding tutorial" for more details +*/ + +/** @example samples/cpp/videowriter_basic.cpp +An example using VideoCapture and VideoWriter class +*/ + +/** @brief Video writer class. + +The class provides C++ API for writing video files or image sequences. +*/ +class CV_EXPORTS_W VideoWriter +{ +public: + /** @brief Default constructors + + The constructors/functions initialize video writers. + - On Linux FFMPEG is used to write videos; + - On Windows FFMPEG or MSWF or DSHOW is used; + - On MacOSX AVFoundation is used. + */ + CV_WRAP VideoWriter(); + + /** @overload + @param filename Name of the output video file. + @param fourcc 4-character code of codec used to compress the frames. For example, + VideoWriter::fourcc('P','I','M','1') is a MPEG-1 codec, VideoWriter::fourcc('M','J','P','G') + is a motion-jpeg codec etc. List of codes can be obtained at + [MSDN](https://docs.microsoft.com/en-us/windows/win32/medfound/video-fourccs) page + or with this [archived page](https://web.archive.org/web/20220316062600/http://www.fourcc.org/codecs.php) + of the fourcc site for a more complete list). FFMPEG backend with MP4 container natively uses + other values as fourcc code: see [ObjectType](http://mp4ra.org/#/codecs), + so you may receive a warning message from OpenCV about fourcc code conversion. + @param fps Framerate of the created video stream. + @param frameSize Size of the video frames. + @param isColor If it is not zero, the encoder will expect and encode color frames, otherwise it + will work with grayscale frames. + + @b Tips: + - With some backends `fourcc=-1` pops up the codec selection dialog from the system. + - To save image sequence use a proper filename (eg. `img_%02d.jpg`) and `fourcc=0` + OR `fps=0`. Use uncompressed image format (eg. `img_%02d.BMP`) to save raw frames. + - Most codecs are lossy. If you want lossless video file you need to use a lossless codecs + (eg. FFMPEG FFV1, Huffman HFYU, Lagarith LAGS, etc...) + - If FFMPEG is enabled, using `codec=0; fps=0;` you can create an uncompressed (raw) video file. + */ + CV_WRAP VideoWriter(const String& filename, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @overload + The `apiPreference` parameter allows to specify API backends to use. Can be used to enforce a specific reader implementation + if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER. + */ + CV_WRAP VideoWriter(const String& filename, int apiPreference, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @overload + * The `params` parameter allows to specify extra encoder parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) + * see cv::VideoWriterProperties + */ + CV_WRAP VideoWriter(const String& filename, int fourcc, double fps, const Size& frameSize, + const std::vector& params); + + /** @overload + */ + CV_WRAP VideoWriter(const String& filename, int apiPreference, int fourcc, double fps, + const Size& frameSize, const std::vector& params); + + /** @brief Default destructor + + The method first calls VideoWriter::release to close the already opened file. + */ + virtual ~VideoWriter(); + + /** @brief Initializes or reinitializes video writer. + + The method opens video writer. Parameters are the same as in the constructor + VideoWriter::VideoWriter. + @return `true` if video writer has been successfully initialized + + The method first calls VideoWriter::release to close the already opened file. + */ + CV_WRAP virtual bool open(const String& filename, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @overload + */ + CV_WRAP bool open(const String& filename, int apiPreference, int fourcc, double fps, + Size frameSize, bool isColor = true); + + /** @overload + */ + CV_WRAP bool open(const String& filename, int fourcc, double fps, const Size& frameSize, + const std::vector& params); + + /** @overload + */ + CV_WRAP bool open(const String& filename, int apiPreference, int fourcc, double fps, + const Size& frameSize, const std::vector& params); + + /** @brief Returns true if video writer has been successfully initialized. + */ + CV_WRAP virtual bool isOpened() const; + + /** @brief Closes the video writer. + + The method is automatically called by subsequent VideoWriter::open and by the VideoWriter + destructor. + */ + CV_WRAP virtual void release(); + + /** @brief Stream operator to write the next video frame. + @sa write + */ + virtual VideoWriter& operator << (const Mat& image); + + /** @overload + @sa write + */ + virtual VideoWriter& operator << (const UMat& image); + + /** @brief Writes the next video frame + + @param image The written frame. In general, color images are expected in BGR format. + + The function/method writes the specified image to video file. It must have the same size as has + been specified when opening the video writer. + */ + CV_WRAP virtual void write(InputArray image); + + /** @brief Sets a property in the VideoWriter. + + @param propId Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) + or one of @ref videoio_flags_others + + @param value Value of the property. + @return `true` if the property is supported by the backend used by the VideoWriter instance. + */ + CV_WRAP virtual bool set(int propId, double value); + + /** @brief Returns the specified VideoWriter property + + @param propId Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) + or one of @ref videoio_flags_others + + @return Value for the specified property. Value 0 is returned when querying a property that is + not supported by the backend used by the VideoWriter instance. + */ + CV_WRAP virtual double get(int propId) const; + + /** @brief Concatenates 4 chars to a fourcc code + + @return a fourcc code + + This static method constructs the fourcc code of the codec to be used in the constructor + VideoWriter::VideoWriter or VideoWriter::open. + */ + CV_WRAP static int fourcc(char c1, char c2, char c3, char c4); + + /** @brief Returns used backend API name + + @note Stream should be opened. + */ + CV_WRAP String getBackendName() const; + +protected: + Ptr writer; + Ptr iwriter; + + static Ptr create(const String& filename, int fourcc, double fps, + Size frameSize, bool isColor = true); +}; + +//! @cond IGNORED +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(CvCapture* obj) const; }; +template<> struct DefaultDeleter{ CV_EXPORTS void operator ()(CvVideoWriter* obj) const; }; +//! @endcond IGNORED + +//! @} videoio + +} // cv + +#endif //OPENCV_VIDEOIO_HPP diff --git a/camera_lib/include/opencv2/videoio/cap_ios.h b/camera_lib/include/opencv2/videoio/cap_ios.h new file mode 100644 index 0000000..207ad46 --- /dev/null +++ b/camera_lib/include/opencv2/videoio/cap_ios.h @@ -0,0 +1,150 @@ +/* For iOS video I/O + * by Eduard Feicho on 29/07/12 + * Copyright 2012. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#import +#import +#import +#import +#include "opencv2/core.hpp" + +//! @addtogroup videoio_ios +//! @{ + +/////////////////////////////////////// CvAbstractCamera ///////////////////////////////////// + +@class CvAbstractCamera; + +CV_EXPORTS @interface CvAbstractCamera : NSObject +{ + UIDeviceOrientation currentDeviceOrientation; + + BOOL cameraAvailable; +} + +@property (nonatomic, strong) AVCaptureSession* captureSession; +@property (nonatomic, strong) AVCaptureConnection* videoCaptureConnection; + +@property (nonatomic, readonly) BOOL running; +@property (nonatomic, readonly) BOOL captureSessionLoaded; + +@property (nonatomic, assign) int defaultFPS; +@property (nonatomic, readonly) AVCaptureVideoPreviewLayer *captureVideoPreviewLayer; +@property (nonatomic, assign) AVCaptureDevicePosition defaultAVCaptureDevicePosition; +@property (nonatomic, assign) AVCaptureVideoOrientation defaultAVCaptureVideoOrientation; +@property (nonatomic, assign) BOOL useAVCaptureVideoPreviewLayer; +@property (nonatomic, strong) NSString *const defaultAVCaptureSessionPreset; + +@property (nonatomic, assign) int imageWidth; +@property (nonatomic, assign) int imageHeight; + +@property (nonatomic, strong) UIView* parentView; + +- CV_UNUSED(start); +- CV_UNUSED(stop); +- CV_UNUSED(switchCameras); + +- (id)initWithParentView:(UIView*)parent; + +- CV_UNUSED(createCaptureOutput); +- CV_UNUSED(createVideoPreviewLayer); +- CV_UNUSED(updateOrientation); + +- CV_UNUSED(lockFocus); +- CV_UNUSED(unlockFocus); +- CV_UNUSED(lockExposure); +- CV_UNUSED(unlockExposure); +- CV_UNUSED(lockBalance); +- CV_UNUSED(unlockBalance); + +@end + +///////////////////////////////// CvVideoCamera /////////////////////////////////////////// + +@class CvVideoCamera; + +CV_EXPORTS @protocol CvVideoCameraDelegate + +#ifdef __cplusplus +// delegate method for processing image frames +- (void)processImage:(cv::Mat&)image; +#endif + +@end + +CV_EXPORTS @interface CvVideoCamera : CvAbstractCamera +{ + AVCaptureVideoDataOutput *videoDataOutput; + + dispatch_queue_t videoDataOutputQueue; + CALayer *customPreviewLayer; + + CMTime lastSampleTime; + +} + +@property (nonatomic, weak) id delegate; +@property (nonatomic, assign) BOOL grayscaleMode; + +@property (nonatomic, assign) BOOL recordVideo; +@property (nonatomic, assign) BOOL rotateVideo; +@property (nonatomic, strong) AVAssetWriterInput* recordAssetWriterInput; +@property (nonatomic, strong) AVAssetWriterInputPixelBufferAdaptor* recordPixelBufferAdaptor; +@property (nonatomic, strong) AVAssetWriter* recordAssetWriter; + +- (void)adjustLayoutToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation; +- CV_UNUSED(layoutPreviewLayer); +- CV_UNUSED(saveVideo); +- (NSURL *)videoFileURL; +- (NSString *)videoFileString; + + +@end + +///////////////////////////////// CvPhotoCamera /////////////////////////////////////////// + +@class CvPhotoCamera; + +CV_EXPORTS @protocol CvPhotoCameraDelegate + +- (void)photoCamera:(CvPhotoCamera*)photoCamera capturedImage:(UIImage *)image; +- (void)photoCameraCancel:(CvPhotoCamera*)photoCamera; + +@end + +CV_EXPORTS @interface CvPhotoCamera : CvAbstractCamera +{ + AVCaptureStillImageOutput *stillImageOutput; +} + +@property (nonatomic, weak) id delegate; + +- CV_UNUSED(takePicture); + +@end + +//! @} videoio_ios diff --git a/camera_lib/include/opencv2/videoio/cap_winrt.hpp b/camera_lib/include/opencv2/videoio/cap_winrt.hpp new file mode 100644 index 0000000..7fe04bc --- /dev/null +++ b/camera_lib/include/opencv2/videoio/cap_winrt.hpp @@ -0,0 +1,132 @@ +// Video support for Windows Runtime + +// Copyright (c) Microsoft Open Technologies, Inc. +// All rights reserved. +// +// (3 - clause BSD License) +// +// Redistribution and use in source and binary forms, with or without modification, are permitted provided that +// the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the +// following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the +// following disclaimer in the documentation and/or other materials provided with the distribution. +// 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or +// promote products derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. + +#include +#include +#include +#include +#include "opencv2/core/cvdef.h" + +namespace cv +{ + +//! @addtogroup videoio_winrt +//! @{ + +enum { + OPEN_CAMERA = 300, + CLOSE_CAMERA, + UPDATE_IMAGE_ELEMENT, + SHOW_TRACKBAR +}; + +/********************************** WinRT API ************************************************/ + +template +CV_EXPORTS void winrt_startMessageLoop(std::function&& callback, Args... args); + +template +CV_EXPORTS void winrt_startMessageLoop(void callback(Args...), Args... args); + +/** @brief +@note + Starts (1) frame-grabbing loop and (2) message loop + 1. Function passed as an argument must implement common OCV reading frames + pattern (see cv::VideoCapture documentation) AND call cv::winrt_imgshow(). + 2. Message processing loop required to overcome WinRT container and type + conversion restrictions. OCV provides default implementation + Here is how the class can be used: +@code + void cvMain() + { + Mat frame; + VideoCapture cam; + cam.open(0); + + while (1) + { + cam >> frame; + + // don't reprocess the same frame again + if (!cam.grab()) continue; + + // your processing logic goes here + + // obligatory step to get XAML image component updated + winrt_imshow(); + } + } + + MainPage::MainPage() + { + InitializeComponent(); + + cv::winrt_setFrameContainer(cvImage); + cv::winrt_startMessageLoop(cvMain); + } +@endcode +*/ +template +CV_EXPORTS void winrt_startMessageLoop(void callback(void)); + +/** @brief +@note + Must be called from WinRT specific callback to handle image grabber state. + Here is how the class can be used: +@code + MainPage::MainPage() + { + // ... + Window::Current->VisibilityChanged += ref new Windows::UI::Xaml::WindowVisibilityChangedEventHandler(this, &Application::MainPage::OnVisibilityChanged); + // ... + } + + void Application::MainPage::OnVisibilityChanged(Platform::Object ^sender, + Windows::UI::Core::VisibilityChangedEventArgs ^e) + { + cv::winrt_onVisibilityChanged(e->Visible); + } +@endcode +*/ +CV_EXPORTS void winrt_onVisibilityChanged(bool visible); + +/** @brief +@note + Must be called to assign WinRT control holding image you're working with. + Code sample is available for winrt_startMessageLoop(). +*/ +CV_EXPORTS void winrt_setFrameContainer(::Windows::UI::Xaml::Controls::Image^ image); + +/** @brief +@note + Must be called to update attached image source. + Code sample is available for winrt_startMessageLoop(). +*/ +CV_EXPORTS void winrt_imshow(); + +//! @} videoio_winrt + +} // cv diff --git a/camera_lib/include/opencv2/videoio/container_avi.private.hpp b/camera_lib/include/opencv2/videoio/container_avi.private.hpp new file mode 100644 index 0000000..8c66c89 --- /dev/null +++ b/camera_lib/include/opencv2/videoio/container_avi.private.hpp @@ -0,0 +1,192 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef CONTAINER_AVI_HPP +#define CONTAINER_AVI_HPP + +#ifndef __OPENCV_BUILD +# error this is a private header which should not be used from outside of the OpenCV library +#endif + +#include "opencv2/core/cvdef.h" +#include "opencv2/videoio/videoio_c.h" +#include + +namespace cv +{ + +/* +AVI struct: + +RIFF ('AVI ' + LIST ('hdrl' + 'avih'(
) + LIST ('strl' + 'strh'() + 'strf'() + [ 'strd'() ] + [ 'strn'() ] + [ 'indx'() ] + ... + ) + [LIST ('strl' ...)] + [LIST ('strl' ...)] + ... + [LIST ('odml' + 'dmlh'() + ... + ) + ] + ... + ) + [LIST ('INFO' ...)] + [JUNK] + LIST ('movi' + {{xxdb|xxdc|xxpc|xxwb}() | LIST ('rec ' + {xxdb|xxdc|xxpc|xxwb}() + {xxdb|xxdc|xxpc|xxwb}() + ... + ) + ... + } + ... + ) + ['idx1' () ] + ) + + {xxdb|xxdc|xxpc|xxwb} + xx - stream number: 00, 01, 02, ... + db - uncompressed video frame + dc - compressed video frame + pc - palette change + wb - audio frame + + JUNK section may pad any data section and must be ignored +*/ + +typedef std::deque< std::pair > frame_list; +typedef frame_list::iterator frame_iterator; +struct RiffChunk; +struct RiffList; +class VideoInputStream; +enum Codecs { MJPEG }; + +//Represents single MJPEG video stream within single AVI/AVIX entry +//Multiple video streams within single AVI/AVIX entry are not supported +//ODML index is not supported +class CV_EXPORTS AVIReadContainer +{ +public: + AVIReadContainer(); + + void initStream(const String& filename); + void initStream(Ptr m_file_stream_); + + void close(); + //stores founded frames in m_frame_list which can be accessed via getFrames + bool parseAvi(Codecs codec_) { return parseAviWithFrameList(m_frame_list, codec_); } + //stores founded frames in in_frame_list. getFrames() would return empty list + bool parseAvi(frame_list& in_frame_list, Codecs codec_) { return parseAviWithFrameList(in_frame_list, codec_); } + size_t getFramesCount() { return m_frame_list.size(); } + frame_list& getFrames() { return m_frame_list; } + unsigned int getWidth() { return m_width; } + unsigned int getHeight() { return m_height; } + double getFps() { return m_fps; } + std::vector readFrame(frame_iterator it); + bool parseRiff(frame_list &m_mjpeg_frames); + +protected: + + bool parseAviWithFrameList(frame_list& in_frame_list, Codecs codec_); + void skipJunk(RiffChunk& chunk); + void skipJunk(RiffList& list); + bool parseHdrlList(Codecs codec_); + bool parseIndex(unsigned int index_size, frame_list& in_frame_list); + bool parseMovi(frame_list& in_frame_list) + { + //not implemented + CV_UNUSED(in_frame_list); + // FIXIT: in_frame_list.empty(); + return true; + } + bool parseStrl(char stream_id, Codecs codec_); + bool parseInfo() + { + //not implemented + return true; + } + + void printError(RiffList& list, unsigned int expected_fourcc); + + void printError(RiffChunk& chunk, unsigned int expected_fourcc); + + Ptr m_file_stream; + unsigned int m_stream_id; + unsigned long long int m_movi_start; + unsigned long long int m_movi_end; + frame_list m_frame_list; + unsigned int m_width; + unsigned int m_height; + double m_fps; + bool m_is_indx_present; +}; + +enum { COLORSPACE_GRAY=0, COLORSPACE_RGBA=1, COLORSPACE_BGR=2, COLORSPACE_YUV444P=3 }; +enum StreamType { db, dc, pc, wb }; +class BitStream; + +// {xxdb|xxdc|xxpc|xxwb} +// xx - stream number: 00, 01, 02, ... +// db - uncompressed video frame +// dc - compressed video frame +// pc - palette change +// wb - audio frame + + +class CV_EXPORTS AVIWriteContainer +{ +public: + AVIWriteContainer(); + ~AVIWriteContainer(); + + bool initContainer(const String& filename, double fps, Size size, bool iscolor); + void startWriteAVI(int stream_count); + void writeStreamHeader(Codecs codec_); + void startWriteChunk(uint32_t fourcc); + void endWriteChunk(); + + int getAVIIndex(int stream_number, StreamType strm_type); + void writeIndex(int stream_number, StreamType strm_type); + void finishWriteAVI(); + + bool isOpenedStream() const; + bool isEmptyFrameOffset() const { return frameOffset.empty(); } + int getWidth() const { return width; } + int getHeight() const { return height; } + int getChannels() const { return channels; } + size_t getMoviPointer() const { return moviPointer; } + size_t getStreamPos() const; + + void pushFrameOffset(size_t elem) { frameOffset.push_back(elem); } + void pushFrameSize(size_t elem) { frameSize.push_back(elem); } + bool isEmptyFrameSize() const { return frameSize.empty(); } + size_t atFrameSize(size_t i) const { return frameSize[i]; } + size_t countFrameSize() const { return frameSize.size(); } + void jputStreamShort(int val); + void putStreamBytes(const uchar* buf, int count); + void putStreamByte(int val); + void jputStream(unsigned currval); + void jflushStream(unsigned currval, int bitIdx); + +private: + Ptr strm; + int outfps; + int width, height, channels; + size_t moviPointer; + std::vector frameOffset, frameSize, AVIChunkSizeIndex, frameNumIndexes; +}; + +} + +#endif //CONTAINER_AVI_HPP diff --git a/camera_lib/include/opencv2/videoio/registry.hpp b/camera_lib/include/opencv2/videoio/registry.hpp new file mode 100644 index 0000000..cf72247 --- /dev/null +++ b/camera_lib/include/opencv2/videoio/registry.hpp @@ -0,0 +1,72 @@ +// This file is part of OpenCV project. +// It is subject to the license terms in the LICENSE file found in the top-level directory +// of this distribution and at http://opencv.org/license.html. + +#ifndef OPENCV_VIDEOIO_REGISTRY_HPP +#define OPENCV_VIDEOIO_REGISTRY_HPP + +#include + +namespace cv { namespace videoio_registry { +/** @addtogroup videoio_registry +This section contains API description how to query/configure available Video I/O backends. + +Runtime configuration options: +- enable debug mode: `OPENCV_VIDEOIO_DEBUG=1` +- change backend priority: `OPENCV_VIDEOIO_PRIORITY_=9999` +- disable backend: `OPENCV_VIDEOIO_PRIORITY_=0` +- specify list of backends with high priority (>100000): `OPENCV_VIDEOIO_PRIORITY_LIST=FFMPEG,GSTREAMER` + +@{ + */ + + +/** @brief Returns backend API name or "UnknownVideoAPI(xxx)" +@param api backend ID (#VideoCaptureAPIs) +*/ +CV_EXPORTS_W cv::String getBackendName(VideoCaptureAPIs api); + +/** @brief Returns list of all available backends */ +CV_EXPORTS_W std::vector getBackends(); + +/** @brief Returns list of available backends which works via `cv::VideoCapture(int index)` */ +CV_EXPORTS_W std::vector getCameraBackends(); + +/** @brief Returns list of available backends which works via `cv::VideoCapture(filename)` */ +CV_EXPORTS_W std::vector getStreamBackends(); + +/** @brief Returns list of available backends which works via `cv::VideoWriter()` */ +CV_EXPORTS_W std::vector getWriterBackends(); + +/** @brief Returns true if backend is available */ +CV_EXPORTS_W bool hasBackend(VideoCaptureAPIs api); + +/** @brief Returns true if backend is built in (false if backend is used as plugin) */ +CV_EXPORTS_W bool isBackendBuiltIn(VideoCaptureAPIs api); + +/** @brief Returns description and ABI/API version of videoio plugin's camera interface */ +CV_EXPORTS_W std::string getCameraBackendPluginVersion( + VideoCaptureAPIs api, + CV_OUT int& version_ABI, + CV_OUT int& version_API +); + +/** @brief Returns description and ABI/API version of videoio plugin's stream capture interface */ +CV_EXPORTS_W std::string getStreamBackendPluginVersion( + VideoCaptureAPIs api, + CV_OUT int& version_ABI, + CV_OUT int& version_API +); + +/** @brief Returns description and ABI/API version of videoio plugin's writer interface */ +CV_EXPORTS_W std::string getWriterBackendPluginVersion( + VideoCaptureAPIs api, + CV_OUT int& version_ABI, + CV_OUT int& version_API +); + + +//! @} +}} // namespace + +#endif // OPENCV_VIDEOIO_REGISTRY_HPP diff --git a/camera_lib/include/opencv2/videoio/videoio.hpp b/camera_lib/include/opencv2/videoio/videoio.hpp new file mode 100644 index 0000000..ec84cf7 --- /dev/null +++ b/camera_lib/include/opencv2/videoio/videoio.hpp @@ -0,0 +1,48 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000-2008, Intel Corporation, all rights reserved. +// Copyright (C) 2009, Willow Garage Inc., all rights reserved. +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/videoio.hpp" diff --git a/camera_lib/include/opencv2/videoio/videoio_c.h b/camera_lib/include/opencv2/videoio/videoio_c.h new file mode 100644 index 0000000..cf1a6d0 --- /dev/null +++ b/camera_lib/include/opencv2/videoio/videoio_c.h @@ -0,0 +1,153 @@ +/*M/////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// Intel License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2000, Intel Corporation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of Intel Corporation may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// +//M*/ + +#ifndef OPENCV_VIDEOIO_H +#define OPENCV_VIDEOIO_H + +#include "opencv2/core/core_c.h" + +#include "opencv2/videoio/legacy/constants_c.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + @addtogroup videoio_c + @{ +*/ + +/****************************************************************************************\ +* Working with Video Files and Cameras * +\****************************************************************************************/ + +/** @brief "black box" capture structure + +In C++ use cv::VideoCapture +*/ +typedef struct CvCapture CvCapture; + +/** @brief start capturing frames from video file +*/ +CVAPI(CvCapture*) cvCreateFileCapture( const char* filename ); + +/** @brief start capturing frames from video file. allows specifying a preferred API to use +*/ +CVAPI(CvCapture*) cvCreateFileCaptureWithPreference( const char* filename , int apiPreference); + +/** @brief start capturing frames from camera: index = camera_index + domain_offset (CV_CAP_*) +*/ +CVAPI(CvCapture*) cvCreateCameraCapture( int index ); + +/** @brief grab a frame, return 1 on success, 0 on fail. + + this function is thought to be fast +*/ +CVAPI(int) cvGrabFrame( CvCapture* capture ); + +/** @brief get the frame grabbed with cvGrabFrame(..) + + This function may apply some frame processing like + frame decompression, flipping etc. + @warning !!!DO NOT RELEASE or MODIFY the retrieved frame!!! +*/ +CVAPI(IplImage*) cvRetrieveFrame( CvCapture* capture, int streamIdx CV_DEFAULT(0) ); + +/** @brief Just a combination of cvGrabFrame and cvRetrieveFrame + + @warning !!!DO NOT RELEASE or MODIFY the retrieved frame!!! +*/ +CVAPI(IplImage*) cvQueryFrame( CvCapture* capture ); + +/** @brief stop capturing/reading and free resources +*/ +CVAPI(void) cvReleaseCapture( CvCapture** capture ); + +/** @brief retrieve capture properties +*/ +CVAPI(double) cvGetCaptureProperty( CvCapture* capture, int property_id ); +/** @brief set capture properties +*/ +CVAPI(int) cvSetCaptureProperty( CvCapture* capture, int property_id, double value ); + +/** @brief Return the type of the capturer (eg, ::CV_CAP_VFW, ::CV_CAP_UNICAP) + +It is unknown if created with ::CV_CAP_ANY +*/ +CVAPI(int) cvGetCaptureDomain( CvCapture* capture); + +/** @brief "black box" video file writer structure + +In C++ use cv::VideoWriter +*/ +typedef struct CvVideoWriter CvVideoWriter; + +/** @brief initialize video file writer +*/ +CVAPI(CvVideoWriter*) cvCreateVideoWriter( const char* filename, int fourcc, + double fps, CvSize frame_size, + int is_color CV_DEFAULT(1)); + +/** @brief write frame to video file +*/ +CVAPI(int) cvWriteFrame( CvVideoWriter* writer, const IplImage* image ); + +/** @brief close video file writer +*/ +CVAPI(void) cvReleaseVideoWriter( CvVideoWriter** writer ); + +// *************************************************************************************** +//! @name Obsolete functions/synonyms +//! @{ +#define cvCaptureFromCAM cvCreateCameraCapture //!< @deprecated use cvCreateCameraCapture() instead +#define cvCaptureFromFile cvCreateFileCapture //!< @deprecated use cvCreateFileCapture() instead +#define cvCaptureFromAVI cvCaptureFromFile //!< @deprecated use cvCreateFileCapture() instead +#define cvCreateAVIWriter cvCreateVideoWriter //!< @deprecated use cvCreateVideoWriter() instead +#define cvWriteToAVI cvWriteFrame //!< @deprecated use cvWriteFrame() instead +//! @} Obsolete... + +//! @} videoio_c + +#ifdef __cplusplus +} +#endif + +#endif //OPENCV_VIDEOIO_H diff --git a/camera_lib/lib/opencv_core480.dll b/camera_lib/lib/opencv_core480.dll new file mode 100644 index 0000000000000000000000000000000000000000..c923c3d621366f06be39271dfe22bdcb721e5a97 GIT binary patch literal 4232704 zcmeFa3w%`7wLg9)nUDzt&hXNxsAD_UU=&k>8XCbl$%LGN2?mG|6g3JWR@8_Ij|wC( z#AG~<(5trEYD;ge+G?xqwH6UI4{*#7@Xys6f8^);^fbvL@MyV2#nc&h7$n`U1#YT&^B zZUc1xuD4&B^v6}Vng3;*N8EM=!gu7)zik3PwWjg>yrW5kZ*RJU!*_Cg#^yVl$`PLQ z$2)Jk{)tt$JzJnPl_30V!R<}o<>#uVi}_h|8$BoeF^8Ye7KAu{%5}5mQr+<_ttgeG z*|+tR2I|+(G1K---*F8{8+3;B@+e6{JA8lder>cSJhr6 zNk1AYO9WFIhUcqzTK+s>t5G7GR5$=gILArSPmtl`v6fuSdo81CL`H5S+A8fq{*}mY z`STFG`M1oUg*c`OXv2h`i4@BpLdbW`yql1bXhgJF!J1ETdm zWKCcE38%kmNx#jSp7klGZ?UA$v8E5+&*}eZNgr=XA9w<_c(f72^yCf?4ZQdA?@Rj6 z(FLH+hyNAr1Cv+iN%^^#x6VZ7Kdhi$e#VkFl0K2r@8tA*lcirz={IuvkCLV5QTilK zpAnbN{BjqikK**Pap{cTuPJ>Hr=Jp+&gB{Y$IA)-qkoFF75#tJW#1 z#R%guON3_ABQ&s_XsOqly$||m852)9SF)chKi9eTTo5*|Rh`wfR{A(iQg`oFTi+S2 zrgy2q;di%VpLp$GX9X)oo_!owxEZ`A_|5EUWyWCc|*(Zzeo*My7SdgrMplK zdfkQk!0ShdabWft^#|bpJ*Q9j2U;!gkFChNrfm2Z3GjcvBsu))so+DE8u+(a;UgA* ziTIcQFdqKeoU^@^M@~Dz1KM8;5JWV~pK7EZ0;(Aor%vBT=@%qP7xcOJ_!RVkq%rXC z|5fl0T^El(;Op-<@tAV#28BuJS@92LEZ13n7k_V@Bu{UV2WM2^jV1YXya4Sg@$k{3 zBV#-s(9Pi6TzVUvLGkkR&2!}Xfs^n$N4_cJ+r{A;i4(7aO3&z3ToAc;>yn+V!i=>dB2_$<2MT#Wx^G(I=)jFyYYm)&ELK8n*HjZ5e9pZyT≧-3 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

Ao@H+zEwK!KOjxNxjGY`g5Xd3lr=0PT6rFjYu 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

Gwuo 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

}X>P?8dD$M9>8$n0BRD0XBseEJOQ{?`9Y_ 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 _QRlaXOknWgHa#DNv$jXZ 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%0D>kM~sX_c^pZ8NffkSg*vmonST) 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∾xI-^ZK|5Nf)vIaExL%jbfI-*$V+tj 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%0AkOkht{E?rn~z4;USMJZn;Vlv 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�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�kKaJu*F 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 z%0A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 ku)tWQ>@Vq5I%uc)1yW#@BdBalT zcJKLd-Tlw_>|fFR`{27`YK&-Z`gzmqK@|_?ZaUZXgVUAAr7pj?ec$fpCu_w1(R*vt z#$(n6|Gl+Ja=oM9ocT8_V?*r$Po{tRddu)Odv0v|y#2smTE#{ceem`lPjvdizuqSu zU+CxGH@y3aS09@g^vSRb$J+e3vumFViw~|CyDR+tInnzJfer3`@XW-wlHoe z^$$HR^qm{D>($h`iw9L2)1dJ5&(T8{3<%$n@o)Nwnyr4>_UqDZ3G-ik;++ZYipKj~ z?zib&pL(O7d2e??e)Z+H#$Pp^{dZdIgcmcD=ih%U*xa=8hK1MHo-r=1_sr9|FYn2( z|3J(We|_3~=8|1O&*kKq?0&0GKXd8sO_SH%*Xj4Tvkx>44!Qd0{#mOVZF*$(l@a$I zZqW7nVb>2PR;;uA;*3+{`UUv*eszE^ZPWp6v`(T?xv8LSa9e4b;{|leOp0B=n^0U5;7qo8kiSOP|CXF_%m_FtG zK3}vBF!-(b@cosSI(+xknR)^YK+5&t+Oq~H|NCQPZ1c*0HN9wVzr6A6=XU>bA#78{ z>I+Z*oRwgz{P^jhbLW3;?o(}a%#Z00@2T-f@H5|E{VY1X;fw|cr@gfJ-e()^+IOSb zg`m4v?>sSMa`&#!7fn3&hq+#-dSCbZU~;V@|EIS+@yYM&x3#I`{mZA>N77p@&ItlcH=eI8VZ0h>j;2BRCUKr|k=J>c@^1W)7hqW%dU{v49}Y!cDs1-ShY6L)cEGN z*-t;RE;gv9dFJ}vZQs3X=!y%EH!W_{?%CC2wr)MUxLMDP&*s`Xd$l+_clB@GKTJ;C z5z*tz3l%S>PZ;pnwL!l9$9?g5(~n>H{BUxkMyI|%Ii_>pQ73Xw_&&cg|FJ{6etL7M z&yWta6AtCaFU!7h+0t+Prnic}>GH?4N3wf=TeC->*ns>;&c6Q7*E!dAHaakKLi-V0 z+kJPj=bHB>*nXMx`Po-%+_(G8$5)1?JfG6E#fT4|edM18gFfrF?u*!r4lmSrZ9$`c z$C`Kd_S>@K!NILAd{8iZLWA{H-b~DYsl&cjJ@S{Feg4LgCu^O2HtF?I%`0{B9k+Ms zV>L&fw#Pgdb@|gzj=uJ2^#=^^XI~H=+B$e{<>IdnM0c2yu&Ci5OZV?js55fjr;+ud zY#%4xd;Lt)%VUkp-hMy$m^p2u{mTvJK<_#~Y`AaU+P{_tblY}rTZ0=d8!wtZwP07+ zJ8k-2c<_~n-WpWFyM66tBdp)_{;K85H!m48t4%%~x~TQa>!B~7-SgOctA+NxI*(nO zm9eP)xwbz){HeKZ%h=)>o13lJbocVf4?j09WN7%Yb@dA8{dTf)tt~5_?0hXfc-8$~ zR{h=UO3fKdgm6erE*wmzD6P1-ctXo-Q4~u4O#-`Wrv-UX~);*qM(aiVz&+ohK zv)N~_&-$#r_IaOs?(LhF)1H3(#P6nO-uL|9%c^S2-=6%hBU`=>Y||ES~(y& z{fDAcUMYR<;`iTjZ5?spWz&~^{94T8Me~mT>nnAMee1ve{mEb4xqV&nkcwa5)HU?G zqtCtbuDfzRs&(CdpYIQs?0b8hrzUj&DI<=H>-@3d%9Je+jk>yU@1sv&a9F?T1!b31 zEx&fy2mgNQsRuTB(#L;%bItZUPI+n0kc5-67CiUQ8;3tp@%Y)n=Z^j&?~En)hQIx! z;nnkwn3(on+f&C*|Mt744=;Rl|FZe}k9p(mVCC^mN8bNg(oNBY@9z5BEvL@E&J#cQ z%-hzK3@x}f^^@yI{Ncfb^E%JF`-kXRxrH+t*FN?1Tgjg{_IvQ0=NJ2ryW-BvcJ%!| zbN!t0kMpC&BES#ekz+{x$IpbWY5(|v)M010-gnW0eP>O3x#{d5o_M3*@1}hoy!E$h z6GOkM3_t#x?K1z~7kh+yoJpS= z{XX-r-~3x({w+5DmYRRH-;yeRL$?OM*Rym<1>R6L-#^Cd2gneG-}>!-c^Avt&TlQV zJ>unFEY~bqzGBg$nuRr0_~K*tThBxb(2KV~)Z5PN$M1(M4p!9HEP(z>yxNQS-0#;f z6d&S!Uis>76!8=H7(9FC&!Xb-oV+idareWs>{L82AB^YqdH4)xBA(x$h-dc8@hty# zJjef#-?3GN-_@1>`oWj~^*8?wfD->pHvbL8(|P{q!>5H)py0xjXk!eqh~F2U>G%w7 zG;9_4Tx~14T#YWgz#HZAxMEyhSAxsuN^|*L1+F4jIS)X`)-iP~j*)_YsrZ+Mf9d#_ zfq#SWFBAW=@UIB}@O7H{x}~*LUyb+1vCbCbwPw~`exCYSC0b-Q&aSDa#dztXmW?P2 zm#*M9&}mU!#o{U~FR!mrugu^*8h#AV>v_e(`W1C-zNEN!AS;#MA>FrtcS1eq%q6RN@DIw8cS5;e8!7o>d@t9k68Gp|}^1J(&s=c9m z{JNiav$DF1C1>gV!;GWt3lXYL5)8ZA1Iw1<9j>wkRcF=Uh<8xGdE}M-^%cv{vE!?L z8$Q44R%XtEF`JQbl--yOJ^YAq;I+M_b(LimwIJdMtq#m`Jf^*}N-(4yukPX40lzZr z4d!t|+Ocj9XNcuct)h(=&gO{pwXZHBM&8{l&VTrbOuV z#F;YNZhm{>Mf!<;TffNh$o<+FkHxMu4$2?fL)nzv5_Il|_u(h-VDboR6AH^X$;G9C0+) z{`f|2S$)l79Ox?+8wXY+E;b`RT$sm1mX7GxgY52CS1ks;Y~_(Xe4`(9vsddF{mWM@ zSX@(Ym<)ZjXJE!wm`8cd@7YsXn~UJ9QI;)Im#ea0tQUQKfvenz@yUK%i`7?H#;NW2 z?Mhoe?zi*f(-AJ_y2pt(sw?=)ysV*FL&66yrN+_L(m zWeZo}oo@AoL%n`_>>ORsQ`JhaA}$yVzU-I#tqn`_*NJxh#{P5g@mTiD^=b5r z-Pw$5^!KdKp6y*<`Wfp-_hbJthG+VVeq%qd^ke_9<#+El7CvuEcz=IIl~aFNRfC)# zb=fDU!SoaT#x#iji1Rr1Q#nt{Z|R~%dOKFjXVosn8#0EQ&?z(e57IaL%an}C$NI)4 zAbw#NUvJe%W|>EXJ>p1h?q@yzRb|+fjbjTd*w}HYyV7zUxlmm?MBMEe;Z6StJ8qKn zR;cy6&nK4oN545*Z7{~ubG&x!U$jJ-1fNe6di9#)5;{xqP@=XXh#NpPa^Ytj|9k9q zx;@s2yp=x3?XjCfF!Xu-V~t@{=CVF6^YQoG8l2acFI=j=!eX(T$8Euh+Dh4Gfn2WB6w;J&H2Iiw9ny7kQKqm%}&p+vKu>)F)@Z8?}znlGkF!knlkZF2vmbt zv9fGAHa6rIv5XvyWgNR!;C{AtX@z;)esI5;ueneEb^KW78~xp#Wxts>_oTpyL?b8q*{ru~Z2vV& z@W@UqFG2?%H(QEwl2wQz|4AFS_4lvh;`=1@#qaS!(gG|VR6=Ht{@YD(nXR6`E<6+M z`InT~H=$2_oHsTm+7pF`u8BzredGIh<6>ex(e5Z74gW$m|H?G~{&oWXHz|?7x54ie z^ZUKgfCu1re%*kMXVteZTjN=mJC={l+GY6t1QcycKsy=O0^1ggjlWN{5gS4$Y@MbJUH`BAADDsGD~ZjN2mlkxki*7g=6K1g}qC(na3Ks$hfR4i;UY0pQ70Dlm<8zUU#L!9z@%2U9*&hbIdTS?BJM2vsj+MVn*msFG^H@U{8JBfsk#P&)lN$#+!=dncE)w=qw5_q(m9@0C zjIZ>Cw&rkGIegln7ZUn{s+!F25cW>dW&&&IBIB~IEHZ8jeEjj_>41eJ`FuPp1V@)r zw4HKi4r|&S&p3`OavU9;KkOk3NAh_b9l{<)`%vRxO}lY$99iTz_QI#2559>DI2Gm> z3wx<(vkzYEk^#Zhb$Z`zeCtNMVoo7p^J>my0XZ)#qjYbVEtP-R(>Hk zx)h5x_pyd9GA`@NBIAbO(*k?Y!m;w(g}p8CbZjuqJFsk2511*7Z3pCvgZHXzdRQHwl^0! zA3Q!;I>6)a0&|hPT^1hOdHk%|C2arevHOCPRUD2d$5YL7V^etEL&9dAM;jN_Rf;(J zJjNZY6977e7WeDIx$hM=Z-3mU0Zo8ik@_+Zt9}c{VYl6uI_UD4gTm%Ch7Ra*;dLwH zw+mlIFe@IzHeuT(+Dy@U+&+|^%!j!=uSI}0AFZdiJ&v1!+!usT z6YS*{j^uOvR$&v1!+}FnW4@CYJj^wNS!O^7 z3v-$PUe969ANFz!NAmeOXsfVyqWyEX3D)5l9E*z_7sr)FkDdF9>Tvy+f_b)ZB%kM{ z5FA|s%(t8?*~VI0TgGR7Su}_Hf_V1P3VVZvBl#SEv#@ufZFhgoT3TDiXMI_i(+u!j zwQ~Nc$j8Ewd|oew;OJ6~_Rl?bvk%9xTQ3|}7Cm;=w|p{fhP~Osk$l$d6!rsX|I|H^ z*5-2r7dcNHPZl|z0*t3P4c9+_Q{nYgF6<3x+ifSTrL|>z)|W+dxUU84b{p)i7LMd| z{IIYeK-+q+qP4WPjL-VAXb$&vB7Si?@&}xX%3s(U(6)=uT3TDiXMI^Thx-c7M*gt3 zS~!xg@)!04XxqhSEv+r%v%V~vqx#@eoPqoSr=s!~_6D@=;*&#s)|W-b4`G|x279Z8 zBl#+SVLyPj-S)>?T00_t;mf+3!|hJq{s$p{z^SPGg}ni7yZEf7wPk$Pmql~9&tH%H zVQ;l?Bwyt(><7@ci_cnGTgGR7Su}_Hg77KMME-zNQTYpd1KM`+Sxaln_^dCB=5XI; z&L8$x3rF(#co-ITZx+tqKkx?dF5Ew6>fN z)|W+dxUX;pp8vz%ZsABi$L|t$Z}xbyKFiQrT3g0veOWYz`^pi&6nX`KQ&IT~dlTB$ zXE<6*Ys>hoFN@}IUo+5_YSs?&sthr#%Fz5G>7{-IDhCB08T~aFYHZd z+s!{~X>A#w^<~i|Q_kHqU`rOKZ#ctS^h^a9`R=(Y9PVr4{GnF>I2Dz@ zus1oxXDzKQL`3t*usD1vdrL|>z)|W+dxX*ho@`qjl;8axp z!rtT%pS85MjL-VAXb$%k!)F)l?G}#YtNexCdzgLxtfjSOeAbsmbGR?W`9rS&a4IT) zVQ+GX&sthr#%Fz5G>7{-IDgpNEgZ>L`3t)@$3B17(%LdU>&v1!+;@QUhh72TR8;=L z-h{T@{WNQ7Z5f~SWzih&D`-Ieu(w+{lCSa?cJDCz_^hS1Wqj6`MRT~X8a}1aD*&8| z%3s)<9OAQ<)|T;EUlz^bzE;j3_I3+L@>TxA?mgT-f7a64GCu3eqB-2x$@xRC0B|bI z4+?uowAqI>bdhmcR~8wU&cpj3u(w$_lFxbXmG)oZd4XKkWN2w^8K3oK(H!n8giio^ zxqwsQ_|?K5;&#lzeAd$1GCu3eqB-1G&H2OLX5mP_%3s=Z@qEQ5K5J=h8K3oK(H!n; z=KP_T3pf>(zp#fK;z)|W+dxG&84 zLoXL_Dk^_r4>`nVEv+r%v%V~v!+qZKkw5Hh7LMer{H1+_eg3SawPk$Pmql~9uK+#) z=;Z=VMddH-A&2;^rL|>z)|W+dxUZD+hrP|hk$jcEwCCC9&sthr#%Fz5G>7{_oImt( z0jHw!7xs`teAd$1GCu3eqB-2x#`(kEX5mP_%3s`nVEv+r%v%V~v!+k;cbi&?d;Yhy9U)qnb&!4rlwv5mEvS<$Xb#VUB%LSZ@ z%3s(+4)Iw_Ys>hoFN@}IpYI~%4||)1Bl#+SX)mzPpS85MjL-VAXb$(4!zTc}T)?TQ z{DnQ_5TCWQwv5mEvS<$XwR8Tkw^=xnukx4n(f0YXme!W>Szi{-QGLHf{?N+>oQld{ z*h3ES30hiP#%Fz5G>7{F@acrT&BBpNAgwv(mvKcf7a64GCu3eqB-0b=KP_T3pf>(zp#fK z;7{-Ie*yOEF8&K`AhqF`}|o;Ys>hoFN@}IpT80LLoXL_Dk^_r4>`nV zEv+r%v%V~v!+jz6bi&?d;Yhy9U)q0dpFeA9Z5f~SWzih&3v>R^%LSZ@%3s(+4)Iw_ zYs>hoFN@}IU(vi{@}&2j>ran}s9!Dt~F8V4pv0X>A#w^<~ioQld{*h3ESSxaln z_^dCB=5SvKKAo_)SvZof@|X6B_W84x)|T;EUlz^bzA)zxyTxQezbl5tfjSOeAbsmbGXlc8S;l-F5pyD{=yz|h|gMDTgGR7 zSu}_Hg7E2tz0Jare3ienPqxpWwY0X3&-$`x4)=9%{?N+>oQld{*h3ESSxaln_^dCB z=5U|ya^w$tn}s9!Dt~D|#y)@6(%LdU>&v1!+*b~t0Q7PJr=s!~_K-t-*3#NCKI_Y( zIo#LI`NQ63;Yhy9U)qc8^JgusE#tGkESjVGnvg&Aasj8J@)!1yLwtgk)|T;EUlz^b zz5skWVQ;f=Bwyt(?NjXYXDzKQ2+UL(&T3g0veOWYz`--kW{?N+>oQld{*h3ESSxaln_^dCB=5Sv# zd^%xovv4F|&v1!+*j~> zTxQKEpnL*3#NCKI_Y(IoucK{Gpc%I2Dz@u!kJtvzFGD@mXIM&EdYH)yNhoFN@}IUpagN(8~p!ippQuLk{s-OKZ#ctS^h^a9;=K4||)1 zBl#+SX`gAIKWk}i8K3oK(H!pcuSNdQ%LSZ@%3s(+4)Iw_Ys>hoFN@}IUkE;(u(w$_ zlCScY_F4A%vzFGD@mXIM&EdW<=MTMHz^SPGg+0Xl#Dn>)rL|>z)|W+dxX*tT@`t_6 z!jXKHzqB8R_r{YVHMN%3mho9%7Ur}8{C;^5@dMDy1)K_hU#MExThQ*!_qaHQ-S>q! zt}HyR%>Z*d;IkL@4hu)~`TchFt7fx%G)mF_UwA#w^<~iA#w^<~iH(5B6uksi6FxqzUSxaln_^dCB=5Sv% zd7||Ie*xjEF8&K`3rj(ZR>9@X)UcSCp4Rns(#hII_rbbik(^x`lvKVa*0%Z${hhc*R;;Tka>UFN@}=zH28_81~H;j^uOv z1H$e***-o&OKZ#ctS^h^a9;pE<z)|W+dxG&84L$45UDk^_rZ+3{!T3TDiXMI^Thx-byL;kRDws0h0 zXI2Dz@us1uzXDzKQXmvv>4aZBM-G#}SLfK%c5E*175+Sb_Y%UW7n#%Fz5G>7{_ z@acfP#ln$%j=xLTyU@1Ixz^I!GCu3eqB-2x#`&Lt`~jz;@)!0X+IHJJYiVs6pY>(Y z9PZo8`NQ5~;Yhy9U)a0Qwu{eNT3g0veOWYz`*K^5|Cz`ia4IT)VGp8hxBgj6Ys>ho zFN@}IUjRNGu(wz^lCSa?_Aa#T)<0`$Z5f~SWzih&YvBCLkU!v5RQ|#qMB8ruSxaln z_^dCB=5XI;&L8#`3rF%*{=(jcwq1PI(%LdU>&v1!+;@QUFGv1>Q&IT~dk}5A_0L*b zTgGR7Su}_H{5K$f*jp?d$yfOcdl%Yv>z}o>wv5mEvS<$X6~m{f0{H_@MddH-LA34W zpS85MjL-VAXb$%^asIHkSU8fe@)!0lwC&=vme!W>Szi{-;l6F0{{rL>I2GoX3VXF^ zvkzU>9FBxzRIbxXKZO`+sy%MX>FMo z>&v1!+}FY5gkF)*mt1bE{Dr;6AwFwqZ5f~SWzihfcN6l5y~Dyeh+oyC;S+7Gq4_c{ z>&hbI79nmqbPBCn!hyHH24QbOy92PBdv;?@yX}wT$kGa)9!tb{Ej;a`G#B+~IE_JT zvLDCT3%xYqr}ZT70C?5l6xr}JU#)*(Z$bN@bpSGJX>FMo>&v1!+*f!r#tD0eg(LYY z|Fe2D($Kbx&sthr#%Fz5G>7{_@TrDgkRk zcUU-*ukx?%(MUtvECp;sjIC70VOe_?My+io9VEv+r%v%V~v z!+jz6?1jC&v1!+}94DYUmXSeaYoE9|uFi z-io%<7?{tRYRqWMac~@2aWQ8m3XkWnEch+@f2t-M}8OaIE}hVQ&>}=COt@GA`@NBIEjQ!~PHZ zHVenf_b%(Y9PVp| z&tBL&EF8&K+j6i+BMoi4^B-$zZ5f~SWzih&3v>R^D-!yW%Wajvu(vqGXDzKQp}nU)Wn5;pHhjbQpZJZu966&e zYY5Ro;7;HZV8>9R?+(NNj)sBkoJCQt{g2Oa{#z(0U#0iu(E4ZtHn{Ru>u0Y~8f?KuU= zDIppUtOBkFu04t9Mc_SP?8z7#@H=29&=>!Y+QC3Qa4+x_kX(xK0A)Zy8UCM%z;A(L z$}xrti~)FL0saD>h0s2W=)9#EKd=YL3SumPZw1k8;7nlc9ng9P$50>ulmkIv1u$`f zhmHZR1g-*Jn&_eTfx(kJG#a?)Xb(LJd<*oQ?4gr@Gl4sR`+#*t9(n+H2lxV*HPu6N zfO4P)_!Rg8pkqB02Y8A-lmd*J1%2S_<302PFntdEfZI>@(0jmsV8AIJ8V0-qB$j&U zFkmWB0<2$;xWMVH9$E~fltfeQ+0j(EG@5<`Tzy+K-44vXJ(?2Plz%6aj)DBF(JDLXFA5HIUil#4sRU2X{@6K2{_kmdY_m)_S zdoq?TeKwXp+7U~4oZ_WNfpMi?`VFx9OfNkHybffRd8q_g1Z)KM0RI9em3yfkxD4pC z&`Vjs>A+&(9^gsfTcB^HmyQF@09Mv`sR@V)dMOQPUFoFxDQv0$BS>96blT3%Fj5qcmVU;NBTW>A)o5MBwiC;%EzS zV>pgB0>AsT4_yts1iTLn`m7I)0?q+00=@^5KJP=zzUV`j03DtLIy^c7|F6pgdIa!a zltd$bmqhnnl0OXr@&?fJBL~nwfeQ);(4&C?bnYq16keD@T>w?4kPq+!!+?E@ zQs|7cQt0#LDHK(oLhYBN(3`iX&}YC88&W9#jubi$xb?0SdgA^R%4<)dn}7=+NTItn zr_e*dSC6OA*e6nG-cu=bAF%2#DfBq718_Z)Lf>vrq1Ig~bk6P++6BlM52*iDwLW6*^t`u4Z1iwP;e_(vTO~AdtXTbNs^IxaXVgE{@Or@znGjJO)XnHCg z0W1af&PXNqZ(s+motujHN>eEVCz!QNqy7JUCN2wTm0&o>@EASrh6>!9wbeaPE4!9baxHg@R2d)Ix z0dE8QfV`{H>1f~rU=8pBup1cEoKB;FcWy|hFM#*fLl-#iu5>yBnDbUTRRJ%)n@(+C zr_)=&7eL>CrPE-b_TTAr3-BQDGVmdA)qgNX;630g;D~QAMqtnnhy|PjTm(D;ya@Dj zWzb>3e}Dvc23_IFpmo4D;4R?Vm<)Omcn=sGn?Z|#-vPsyX3#|7jb$11HE`+m8Fcp_ zGiVD?_ErWh1MUa50)yVppi#g%z(v5^lLt`+upW2-=yS>-$^uRY76bR+HHfwXKLY*Q z2GKddMZgoli@>znEGhbR_q#0W0>1qri-!J)aR8HnX~1k?EoIXUKr1l9l}(kvbHGLJZ2AtU zkIJTZJ=ysGe`ZsBpKLldA)BrMs`_TrJ-{ClvuPKwDJh%&1I!tgO{Krerj2>oG;UNj zrT;pcW&x)HO~8%7H50NaZc;X#H7%R|0!)~mO@9Q=osmuF%*v*gP1AGrq^I%#EGyo3(uK=$D-vE8D9!x2K9~c8n z0rmpl19Z(`I`4+TbQN$PF#Yzy^jqLMV8lJ(0>d^Arb)nGf!)B5K+3&?>7@GyQ!OyN zeK0Kq?f|v`$(sgK0r1<02h$C}Lyus-fQ^q1rssg2n+MaEz?+W^rhfzOConePi7gm6 z(EcQNz_@3i4czqC!L<2#%;5`IH^55ZYT$MtxMMI~4#d7Sn2rO^0B!>A1wI452PVEf zn2rao1l9pd-oZKqwgdIM!3CZID&8GT%YiR|5$_>qU~PCXwE_)$2GeTbPrv~n{v*VT z_0to;OF*;NPaA-WI6o~1-p}*XH^7{cemV%NIAk!V}LT?JYdrV zKYanvL_bZQ;-`5)9dH@&3DA11pB@GLGyL>x;AC$eRRN8_8eko;378p|M~?u{0`CL+ zfbW6i_&jn z+zgy_Z64hU>;&?!#~cClIOYWKJ&{KRKqb{KHpLrDg8ts2U{{XoE z$)on~;r|1cqekM|ecB*4}Bo; zNAzs~|1R`xMBl^kdlb6;Mp2M4U=+0i!IV){ls1Zd>G%r-fmWaspo~#e0F(pGKnKtT z_y>)m01yJ&fiU39gg+1jT7gc$mxX1Z0|@2A_XsSH298AEIOvYYU!d#P&@6->;5!O- zpcUu@XaZsZ9YE_u_{>Cm7W(F3xfHQah5u=2FF|_+_$#3WgwF*o2e%12S3vjoXkP>S zwcxJDSnt8uH^TQ`pabLEin!0gwhjF4uzd`F!2fsj1Fb+OKzk7z2m!7C!g#&`?+5UH zL_02@nt=|W3kVI)r`DlZ2D$+MVfhpQLO?qZ27Ec_ABHv%I2>Fcd<5F#zysQW@D%h< z$MSFT={g`-jAh^*U=Pq-mXCKR5DREO2YkR+i$0(k=sFL5=fnR(`~?aw%E#{@0$1fz z(bed`3H;W4y6o+I`aN(pa2;?f&;~pRJO-TmZazH+{OY}Yx&>$l_Pw7^KLSU8kWX`g zHNbjcH}EC!=MNDFARnF!4#=bZ!}4gX3#Y(e<>8%oy!RB!qrF%TUW|Rmi|1_EhXaXt zZ*pB8r4iwC={$O4Mik9EaoUOZU48knC09Im>|=lL|MmVi!V};|$4;2PG+4D{;mY~T zm#(N=Shalqf)zEjmGc+WESW#AskCwG{~i0o6mP(?<*NEfIYNuN8d=gYBkvIsVWFv7CeDHthp@&S{2E zJNn9pL{ol)F=xJeCsL~$8frPGfpyyNpGf{8ZpyDRIGvqGlg9;)vF(jv&d!&Qreypz z`;O$kz33C$=veM+c>8E_=XUePb07KeSz#&q%+=Oajqg747maAp*A49&^U4*^TSobsq_c^fFEw5XcQ!tvtw4$#_tq0Yo#?AddvxGD+ zJ;qHjW84L^Z^Str^H=mNDvUQBlj50*XaDHm#r?a@{&)|?kBy=DF)=~5?PuFJrY+7z zai&kgYJ6Tj5LG7NP6%K}EQc(m$Gh2A#VcUWQK*V~I59-?-I)CJBo8Hxjisb9eN>$J z%&kII+rwqOegKc-LbhLu>KeeK;`t_ZVe|H3tDNdi_OPZH-$v#?jOuB{XJ+}N?omdL za~E^pNA-o`DwfhNhc-s5v@PRJSOcGdsD=WbgoE^5Jiiy?GbwYPUCDU9UI~=MQZnW@ zd5kaUGS`hYa&dF8d^w zKa|IZfDLYQ9s*Vk$7OTg4zla{Op2kTN^D!0XT5!GLCB)592a9Xd1@}}V<>n$K5GM> zftlx0F6-^@JJ^b&uNqH%0C!^GF5GhPwD(i7@QfdMCe1Upbz=y>|pM8R4*xR(Zh-xveo^ZxnHCDR&jj>x3-5Xbkmx_9fImtfIG3Z{Sdm-n0q{` z6BRdTaO-+>lij?%sPP7wdmgIaDK6csbkFYLiaEQPxp$ztM{$E26?dvFcN=qGM)ii` zb{>kmpSjAnvi3>d0mg}exuHGrAexo!(hgzSN%w3FXx#ETowLY7f zdjqQViradq^|^()&!T!kaf63ipL?166{>$LEz+Bh0<0%$!Cl(l7`+X}16z?ch zM=Eafp|}C&o{FkWam%e-d9Jw-l%huF;rN{qPZ{-bl!5bU2F|A$IL>E`NeQd{4{g47 zk-nSR_es-NpPwSntzka5@^!`@(7gLl?Pq>`2(OHUaO}R>J&&(h4nD6WUkB}UR2Y|x zIg3NYs+lVgs{dR8Gxrdd`uv(d|76)#+?c3>e3` z5#9T@J})}`O&^H!=Y#HoEsc1t1qrMk9RJbS$a?Y3$h9077mvAly`*}``=BQnRc`Qi zfWkK`-q+B0r<)%{j^m=-voW#o$>!_RBuaX)Pmp8KA5EV)G<<*&gMAijA9X!)ThH}{ z)7X36FR#CBw!sz*r)V9INzZf7b@e86d!I!0A`p`p*nss}&Q%Zr7uWhVV4vD&PR*_?l5J8{2x%mqtGJve7M1nk3*5yoHw)Y9jG<}IBvm> zuQ_+%k~1PFyJOfcxD@SXKWK~dbr-t4-=O-DZHev1`W)ZAk6QEe-w6J2RMUWXxnL)EhpTJ!YYggpD98VYE? zqC4OhKn1_?yb&JN689pvva$KRqAsHdUTO zS!2(pELSBZ^4U9p_eLA@s15G@qi}400F5tzW`ZoK-UOvZ;gM_-He6tt*HFih}_klnTdxdWW;Cm&+sJk0m?is z1mryAuETaU8r4*wdmebZ3LJ8~DhJ(LgX(+(X>YuV&uW22alY26TDvMYV}- z37vn&u@>7cwmfWi;`z`Hn2TRS^-d2DsdPVY`kd`wqx!Df?t@OY(gBaRS>Jka(oy*V zBUTT`vQJH7?sQbMySeHdkZ!XtR5N!Os)k6e%yTtN-s@1^26&7-Cw1W}sNCGoEctE$ zt@v3~uPDA^PExbOS@-0jYb1m~Q zjeU+sb(-=yXdHI)(ZD{9sMgy1$a&cSiuYbrk1MXq@KE!z6SU&ps6JKvgT|wC{f>Fj zx8mReIOS??7rCGmk48255M0Z=%x9k}RCUVdpmEsEOEdf2fa*?rpYHwI+>cywQ50A0 zCeH%wvrg?k9_j;5%sf1s%JNW_Zuj?4f8G9x>(SiXuy2k+g-y$P?Olv+b*+8^8fO5w z$H2L3gt}nIVZPoo*1gJ8+I=3=IoKUnn&Dn_9V*1pyokU2d`*otp5p6bdY-qM_gcIU z?_`ZP4UK+%@$UNAMC$usjJkj7LbvxDRCGIH#CM!P>YC~qcbwZihb7<~hG(30#yQLn zns+#=BbcAqai6;W9ov(O<=S11)jCEiho2i)N8x%8@7f|(QeB^*y3gQsC~{N#z&zvn zy^Y850IEmTIQ)lt-n5gsyHS0pxS@ldH}Q3Z`7DAqfE$M@3BdKBq5J#p{Nxx$GIt!R ziHaLGxZ?St&@E+d1*)?Y*JnIKve#Y3+%>5FptwbcdfwE|+{aKoWpJ&}?$mhA+}>gC zN2oqiT%W-`vpYAvUFqXN!X4lbL^TY+{R`hGw{q2v3fu8Wcbdl+OysKC%$P=1n<@EIiBK}9Pb#%=L4PW{wAs~xe*_n#m@(bhvDPO zj|w_}bC=*D!7RKx)K7hef$hB{F5$EI^KLy~lVB>Ij_M>J zCb5(61;Si)p~8GM;Ne11jGxlg^MpQlwu5Iph?9Zm>KXG=!o07BSmO#*%|K6_nkas* zZh5B9gZL3>0ae{Uh-JCncf#)7jp{?zOe`?2jeFL+#-U0A@cD(ooz=aKNbX4H zjzcw3aSM!Re5dtr`C4SCaUD_0+zM2S0Z(EVj)xgzd|6KKdM#;;&JC$J_+w@=y-CXH9McFALQOz>^Rv z25%CxgUkjW;B_~NdDBtNQ#@w)Co$U>$*W}EVpQkb^Yk1z{Y@W)bDS%MI48az*bJH5 zFb3~dG`0b5bw3b7-p}*BjQkul40F*(%)z)V=YsFh?T!A^cuD{;cQ}Xf+;zCWgGNp) z^{*U^&*`$MKi(tzu}vTjuVX*Dy~9zB2XKu9yMI#0%${|uwlO>dG@o|_Kr22K)gr}bX89!c zvTQpI%xgroR`CwjHRHE3?@y>6vFGWzvi{X`SAfvR06XB$b0?SW=FWEy@=ZtO2i);Y zcbvOPpcGF>HJiCO7g*+QKDxbCsOkWZvim3bo#$>fXvNo|x=rz!Sw4wXEpxYtc~7Ex zUh$X_scX*NJIwnC)j#Zc);W{+d=YK)IGmo&?-3+X{DU#-`DxKc^SW;)8Udi^8SN&u z517|v-Jj`NuY;_1z5El`qMHz^=rN9G?q__x#bf**{ME;{w0kjkLr~=c?t~&7+tg9b zdQ2^1-b_@1ZeGOxQ_l7pRKae$p<}M25ZkXn)oiibJP+K++=o$ZVQxH+No<=3KRJ%?0*@%KM32mgm5N`>;(Pg=z-iNeIIQ`!|mHtvGT{^-O}R z@x0MI)|E5A2GvSizIwl?``Xvs&h(gA{7aw-t~@5WY`5?3;8?GrdIxaFGhNJ2PUQs%JypvEq$%l&~V_l3?F~v3c=gj{a zmAjpDvGS)f-)UVi`3N8xuDmYfvfa8U1FDHJPDj>`6O1htc#t@+l}f|#bbtF&5O;tpa;N>LzMy;bJD~8IqPDKaer0}ckc

AxUlgvzmx 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

i%F9bzj6kU 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Π5F&YLz1+KZ3wl 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ℜ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

NdRxZ1Kt6&(FV_3 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�QPF>mzvxjbm>0v(tPNkxQg6Hs- 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 literal 0 HcmV?d00001 diff --git a/camera_lib/lib/opencv_highgui480.lib b/camera_lib/lib/opencv_highgui480.lib new file mode 100644 index 0000000000000000000000000000000000000000..f5763e6e6d7ed92bb0988e30a7cf4d338c02e02e GIT binary patch literal 208386 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

deeSWaQU~ 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 literal 0 HcmV?d00001 diff --git a/camera_lib/lib/opencv_imgcodecs480.dll b/camera_lib/lib/opencv_imgcodecs480.dll new file mode 100644 index 0000000000000000000000000000000000000000..ee88904337b28ba06b62ddac1f982a8c542cbb7b GIT binary patch literal 3556352 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 l(s&iF#mULA(^d548o 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

D{z$1zr) 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 z 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%0ACXeZEbSlVyY9fB69LyCT%N~sL^;DUvpnU>@LXL^ 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%0Df)A4lI}osw9fzu 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 xFP#JBbrsDAFHdks<)hV0 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

w8qzn1*s%_Lkm)db2=9H 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 z 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%0A{e9p=UHB6mMoLM`v?=>5DiTFS6No3gJ7VgX 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 z z^!tT(nfMJOu39{TIBoG5;*!PKx&64s=tNN8Cd3iTZ$TW;w+(Ugou>Xf5eM{ni0hUg zKpfDAcm4h5drkR0LLc7V_v@DLhKVPrZx8ZS%l9K+4b+D?ZSf%DlEoRsaf^o$7c3q@ z9Ij&p)+)P=?Oh1vcrt z(^+QZ=f)w8GE?PY_@6g-tL_qpZ|e^kFMoc!KFBw+FAW^lq4TeD9^Ui<6T-^=ws1od~rvdr7q*`EP0L;G`d z2Y+I$?{3hy2mRR_;ty8jH?6%R=uZpAN@_3mr>SvylK6(jRKCjPU4K$s|BX=p0Q$3{ zvp>Q1dDFJA_BnPOECY?tTz_5+wpU>+EBB+)v4B&UU+7Q4`ZI?96t%tVPeJ4IB=I?m zseC-dpJVYDE7wm)!^`Ci);|$&%J@Im8)%=);Uy^T`F1RxVAcBIq!;)zi26L&AFRV~ zSbs23e(qeiebO42Cy7s5OyzZdGxkBgAKL{Zp{^fKW|hk$Sbuk@Kf(67?$_b|bX$FJ zfEDx&qrMT>AFRXAS${U5KMg$|bNd9wZ{lm3hy26xy1%*p^xFC#qWUMW{>&QNiH-c+ zI8eI({P9=e{=}@lyGh>|>e~cs6Fn$EzF{49y;Ppug#Og>Zu?XSNcC^R`nSQ{s_QrM&iHmj2Y<$`KIlNuJ{wTqfa?#|;hXhYd2$Q-lhpQd`@}V7 zK58+QZ-lJJj_raDr1K3r5Y)d7>mLctH=Gu9`imWNgLT;P8Rl2?rwDyEIR6whWiY!h>qmXvu0L3Z-?HQH0Q%F?>tSB+G&Sb+P9uP^ ze9e~MgXL?Q=kisJ%ag=cET;8w(U$LqiO4T%p34_BhWI0&vzXS;f%&5!`K0E#d|c!5 zB=J#;X?@+|@!G^!^_MQZ0>b$lrtc>qei@9PcUD+?46FH*)}JTOcW93;ydqbR9=q<(jQ!ba{agn9l`oXLj9S5W`zDi z{#<~gIbHEdeYgT;eYgl6Mt$3$?*{zAI{cdL&x7cXS^u*?B^XnAy-j@4Vk)o416e<= zK)HTggic`n-rH>bMt&|EXrF6t=;Tk#>bo2CjiJ7b>kro9C#^pj^rr}8DEEK5J}78h zo+LhJF_mxecwp?~d`sE-Z-n|cVf`ba{si0S)~%iV8MpdA0s1zezHLxh5Pv`) z_8!!SU1tmGTN&s&qz}ettjNxnu>K-@VGKn9*l(crscX!9&0;Fw;P!R>;p?|JUB6-d zL!JEzw$F>+>TB|FZaxSvtc;~A_+$=;{n&K|(4XyRcJwFMK9h4{{v10FL!jzEaaevXfzp0dIuLLQ z{K1Os_*|acfd150yZ%%)X1-!El@HnfhzG9U;`;iH>VLC!%J}cJ&)oH){@Clc_!3{g zp}q;omB4tAL4S%ie>R~%m7MEONn^M^K)z@(mDl-a?1T0RT))Ma`1%d&?>@uUZ{!_+ z9)OQrwaq`EuiLcG5?{Zez7fckfIlPXPtNAg7PPkx9XB{0)HH_c1LUg~Q+b_##y;}L zT))Ma`1%d&zw=GDej~51cW6F6x`RJ4>(AYkZ)2!$(Di2m{R#AsZD?;=+sorYQezko zk&jzU<(r&;#y;{VW$VWoALbvde;^a)&j_g1>w`D_G`xMF19AUZf(``wHlV%^W!k*1=}a8G4IbsET;0>U)LXV{T7Gi8`i%K>)-T7TfdQa+UN40g!^Nz z-$0+benWlTu0L3Z-?H{)(4XpCU4JSX!}{Mf;;pPuqlIBreRei-0kzxOo4F_f>tz|ZkcAWm9+)E+e#lfK<}9Xv(* zrKE2@O*n<+3qoJfmPh?mepZ!dJnWCF@)VD_C?6F#CvZjJhQLuBU%sE06WFu|^9{k9 z{L|%i`|A6H0yhMX>ipK_1+EC(5ICyGS6yD;Q7!& zKjz?Jf9`G2F?4sstr^?b1a&B{~%tIw+O!;C*ur#a^j@P14$$mnrgI|%jDcu|7baQ%df7L)$Me(0b5 zL1+DOtB>?YHP-PD=G)yLGPfm7erUem{|Zdk+I-AMidP-#Ci~6(O*oH?^RU6g{=(}B zXEB~dSi`V9^^de@pQ7j=>u;j`!0RDXcc47nYo+`scjhTSHh19tx|@%F%k9sgpX$f! zm*wj3>C998D?9LhLHk?odB(AQFu$=NJl}Z`U>N`V{YCg2#50ER3tZ1o{362sWVroh z9%hXXrhQfXhC1_P|Jn|`Uvm4qUvtM(9lxFq<#qdQ=V>IwKB|9L2;YtIh--iOJWX=5 z=}#1&xW##tukn6Xr~W!MH0;GzLA+@f$C!inH}g2qH2%}%`!MRO!kQ1ITz!1~oxtnw zaVX|(gkp|Lh(DDtgqG*)=LB9qQ~5Qryjve%A1CnonB-S3FOS!=a9$w+*RwzIZhUV~x$j^qf4lb!D2s0xp1Q;PDgP|@ z4fWr%wAA+r(2Z2NZyn)_0E_c%?^&Zh0-^0K>iLJ~@4HTKi?7I^L2nLZoX&{xW&h(= z-wd|z=U5-`Da2RohyHWI_4niWQQ5@t<^A=Nz(tEwDF1X@{~oMA7vK>W2Tl8v{-osz z#|4gRtoolH(d&2iuW_o;NB-6Yt_fTfxT3MmA9%F_=Fc}jL-}*U`H(+190WN~z8XEs zT)7qRs2`a*@{NSySYS6`Or*i5b0U?eQ8188Z@B_>-R@nAdQ>i5$Un<{2R#dO=_IH} z<X|yp-yHpRwn?gwJZX$B7@WuLI*Hjo&w%X4dyz*uNs*HvN%stLoyW#W=D0SJ?84 z5LCZzd7RJuX43Q@(pR-S;flZ|i({z&xmG{vOQ%@h)Z{qo&+$bcj7P-BHP1LIa75#_ ze7cna-SgFRp@m-jB(=~Y)Byc)5B!h%BVy=}yYbJ^A2%Jr`7{KFgYCe6)8*J=w|o9x z)nbrLck$11U-2kRrtd%{sxhmC{{!$c$%Nyv=#S4)*6w;QSUZl|%U7dy%UJvP;gnCW zChN9&XBd<2c?O#FOk>hB$fQHsO>*+7Eq;?9qYQs1TJ-mS?Tx`cqUt?B&sTUsnC8s`tMDV|}d|xBjNU4U1<`zAkW0;Ht%WtiNg3 zW8_cmHO3yb{`!upzw`Pu>ph+dUB6I#3kjod3)Yv@nCJWG>4qoyCaiTi9>XZ#u$ao% zEhhPzz*T`O0+$3X3S7{*t$)4gQtDq%tbvUE++&OQyg(iz9=haw`k~yj%A3H6VCVWE zX}R5dGicz>bqfD1_w9fwd#Ug6ck4_(3>F+qeUCwnB9ntNotmQM`1G}pkhMc-?c$#0 zt<67$dX`T`wt4>t#8ppvBiVBq=ur5hgg?-3Pq1eN>~Yo$M<|Pa_AapKE&H(Owup}3 ztcYK;h{oLRJ&lco!Tlg(@0Vf9Uh2CAYEbsxO!#`h2OPh5Q9V69Xzk3S%f~N<*1~%j zsmM0(Vh~sLA4c`R%GmQt!Y^#MCnSEne-Qtc>HpL}qXI`(n*Oo@`%CLYgS&7%c=swZ z-cb3HU7u6`39Q$te8KW0pVN3so%bx*@rwAQ=C!>7M+J@u+0fN!bCh+v-T~H)gU*iD9fH=C`#wviZ1Zxa{s&<8UFv&|ssCuI|7q>@Q*s2> z-)zA(A4bc2E<_8SY%OEKdb$$9W%sm*&zE68A3M{HP#l8*ovFq@%YAPm`#uipReUZd z{6WC`6Q6&PzdhTB!Mgl%*4@`d@rjcu+q|Ty|5ljqm-_w%3RL}%6Mhh|s9(j0pC@X4 z-Sn3{c#?~<*fW7;=jMj=p#O9 zdBSmvQ@9?uLC8leKZx~LVegOaokv{a{W(}~lfK3V;~(*Q|4#EY%THkW*2`F*>d*H6 z4ep0s^menY2Kz-QZ~1=zg(s<^G{6Ve17m8xsQ=3I#_+rlnqju^&I65dYlF(8eJH5* z^By_dR7@=Ge=y(g&w|a`9{9c$842a7JtF%0#*QC+#r(sMV&?Rm0jj;b9;Oj|6VwAC({cJSh~*!rPOVvb-1gcXjP_Ob(*|!-q^uf0uuj`&PjeztndT z@G7!v3BL!h8`%Ng4z$;cF*Te0T-C7kET|!C)ZTvxs_i#wpG9iB+tlLQLEV3l|1peD zO|PeU{;gL`d(n7TvzX)?anrtpi(Ebs-?sJ{1s$>zyYlvV#VL4SOe#bk>?M2R)*ix9 zfg=L9zU2DT6u80IwI}%gn!Gm)GSYq+Pq2QvpEZrV!Gr#|gNOa2lWq5>cQ)GZPj@SQ z-F`}yXFT9196apD0C%=G<8`6DxZks!`~qCFEF<5xpTF?@c6soB0POb*FIM>xsIRU3 z;xgrnTwdpA@{6YZDBt21tM<1zi}gn|#{R0GFNeidW(YrsxEgvbbokf3lb`<0T&Eu? z=JxaJdVQ(yC#(CVYrfguUNl}czM%+RzVIsUAF90F&vy0ogyv4tk{n8a2CNl`>e5uTE{CK~wuCG7%dLgPY^Hs*KeZl@Z=8ebN?Q`Yb`0QRz zUY`#e$M~Exy+85Ef{h{Z!G`nGIzD>8Q~Niip6@H3V8&OhO@HWu2V4Bo zEk=G3^%pJPg1GfLBTu*~a6@C=Us5pN(3=oW{I2dB*l5rnsee_qyng;(;F88#AFfYG z-=DuD^ijUozi!%}aGJ5(UcvT-{DV3|;!E~LUhek4hQQT-2wt!MxW86~e8b99dlWS0 z`6y}E*9ly|m&zvIgo_6ETor-)rT?n5tw;EL4fJn(e-G{WcxzXP6bi%x-XKrsd$@n&{dqVqun5;EA@Lo?e5&#y9`YfBxTddXrY1Kb zE)1A_B)-CYz<#kl81ojM(_Wt|@AlV48JwU$PJg`)J{zh$arL?5St{IL>aP{+FSUQv z`a6dH){i&-65q1^k5D`wHvAUCQzk!lBW^t8@@dPHe9~glm)_0t9PdDR;^UT|Mg29a zpZJL7Hz8kP-o%H$hC7t-)=uf*ss5k9>&@z7>Jj`d~V86ZI#p~hsWXxr08{hB$J1?any3X|p*vIE(vUpww z!|1J)^||)(d6_Jpm)Q;d-P=2{tUvtxM;4#|7$N_cm&fNj;QBm!H|i%h`H0Q0-UwGT zVyQ{~!1zFd>iYa_5Tiev|5(1??|lLE|Eb9tRJ?TT7fIG!-@=ORfnT4N>&k2an*Kq3 z+4k!hbw1CJyu|d66iDm!$F5JSw6*o~cwe*f36S^edj09H*EV-5U*z(E_7LOSh&S_Z z2R6QC|9u(xxdAnvk9ylb9q6BK{qFcS3yCHh3F1G9{#Nw$oH`%wS7B|ALDGDYc~^gM zJ|6RW5758){&steerNoC;8WT~!^87(s(%F5qhbE>`mtg6x5?iY#d0Jx1o7n z-@N-cGyY6tyxw9ljenJ^%y>xo)3EEeJj%z9xmU+CgSdH&sh{L?dVR+am!7GGu$Z^6q>(x@>#kX%<+PjDz*wIalpZdn{mo7J~xx?+Nt3VB>iN*@ zzy9Tv&f`1Q$NR6Bf*7`%{Rj0k59jxBy*5SfD}eF+ha~IP&+}^%=ht~K+gk-@I!)@z z^Zb~^`H|#%q`a=rIj?zp%9z>4_xqoLWvFq$%s(-he_;OrPB_@N#r@zd_o}zWbzh^e zX~19V&!zPy-h_*c1NMvg0p4%4T>kR&aIkB!bG=SRu+r5R%{!o59Gn$0c!sj znS7z~s4>p=^8NHU=cB7X*xv@dnP;}^H}clrmHTUN*E06D^m?1GH{!zHI$Zl;qk(@h z^sjE^$=}u|jDN&e1>dkdwO3v5N4xX?3Z4eBD*6ZYp*(byJy`8d?$(+{dzkNn@zdYi zfrtKW?5FzE;q`CqP+r%+rZZ3VuamrKFY$Z_z8r7<3eow%E6DE@I$8w|okWa|72jaS zC*tFJ{iJyzU$B_`t)0f@b-eWR8MuBvW>v7is(5O?-~R(lTQ=U@|C(A~d2$BryY{(e z{-*lsmUrt{=fC}eo__&j`Pw?;FX5`iS&T<3ZTzSH)Ud3D~}y?!|6 zH9`Neyyd}vn8w=uxBAJyhQ)cbx1`q->|f*Ku77ol$-gL<59CWm%@=UqJ_GYb;Jp2o zSKG+~@&oJR`QdC}jH&d)^05BL`B*(afa`yf)z}%okF;vq_RN^tae(t*^%VJKHvGDX#3zht0dbV zKfK?8*Lyfjctc>84jt)p<=gUkg_PIzIqiG*%Z!@)_h?CmVUCj~8taFRCwRG1k?vRcZGfIWW8mG_?`^gT^ueSL7Ti3io!5V$UIP2j4)6@g2P1NqDACFlNq8P8M( zx5!+1cl|Mn=c|Ll5C9`T2L~E)e{LGG#hWv4`Zs*Y`eOmd8=(){cLU~IUFVy7|9;K- z_Vyk?`Np`pe@p9;A`hCNZvy$;)42V4J(FYJwJ*58Fy_tUkxpTsEAPf`#LSUGR4d{jELK^|z*Zcpih|^*zJq5$7&4`8a|&Z86oCv^ax& zT;Qn1Bp(rO!85SNj_pR$+y-T|4F`SG08V9Ci%L>Bww?bYI>*3w`r|C&-n=^ZF3ZKb7I&<@%c@z_g{l%n8o=1k1zvqZbykSG>qf{5)fDe1Pxv zXAXt&Ld`!Q`+U$67*A=ul-K?^@qhGq6NWav z+y8f%woH(Kr~Z?+^Cx2N?EcQn+UH-IZ*xrO@=aMjm=EuF>{0qP-|c_qkPv&!{3X_Z zA@-2{h2`r1>v6$&$odZt*6-$nyFSS75seE`bmiUk!2&+&*=aqY-w!(u(e^GM*`M`6 zqPu;)0rAI<=a=}Rg0XJD6=Ut~H-Pe$kDBq9+Ou&OkJr4Oh;mS%{}5ke-u2gw&p19n z*2!NpzTy3IyncoKt!3jwJ}+hYdtyRH6l#8oR#xbg)v|D}*GU258s z>Z?vO&;7fg*TamHy#J~DZ(8uteeRErc`1A*>;T$3|M)WU`u&^eop-@``_ta@A=f9m zy^CT!T;WLvcv>$fVXcpYpw90i^ULM;OlukYL-Kq6v1R0)>x0V+`{OUoUn1Vx--7VB z#e=-|x3XmNQT2Dt^L|Zzqsb@ApXB?DJhq5mwLF!NYM%2c0(<2YPj|fD_~G{PN0ny+ z>{I!w%j@yxT&`d9hllE46{4T?<*Yu!1+9;-$8(I^+uONbUh@ypgs!|h-p7`kALjUb z0MnS?ljrVFdym5yEc+M4YXi1N1?B>dH)1{Bue_u^-Zb7BIdvtRK${XS`V$ zvqR#O!T98Kd^o=gdDlNP-t+sziZB;ZJURbzc0O1@eQ{f!aMa>nJP%*I#*8P4!vPm8 z-c9ycOywKz;rjITS4y8(KM}r?Yd_d$&VwKi&*T1i4A#C=Ju9CJ&tuJB5Amm0yPSR7 zB0P^Z0e@8ZQ-sF=)3w?k;KR7AQjd2zT|a++DQ)o>+M5(OZt*bkQHxc+SWM+x?>6xy z`KHAr-_Th5Z_ewVXpMyiG5#YD{wLM*hAUT~|67dz+sS|UBl}Ny46yS5(xCr~)E>Hi zIIn~_EpXD}8RRP$nf}uS7fycV7pA?be8kEVZmlu?6K)FJuz02m^wmGa`gy#o>G9be zPuH>-rYik|@qpr)wB-rc*1G!AcK%CXeYtS`Jt6u@KGJc1bjHh-yTp(X7!Tlj)g3RV z|0#sQBO^bDFRs@6i|4G-LxSN$_7`_Q*{)BImjyfCZ2A2jhJ zT+o=uhZ59*ef&?e@CzZoFpYWCRr&d1pQGqId02yn4gq zMgGY3e^bv7ynadxf9sm(@97q)&ad+C)UpaG`ltJA{GBF$sC?Be58p==yk4)m

K`s+GAY+qXIFZYxeqFw%j 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

p@fobzDfaXk;YUVjkLWICkHlwQraf6?5_9PP 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

cM_gU$~S?>zUAr) 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

    X^E_qNY*si;>(aoJ}@1nOk!3^ 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 w}B5BuuB|S7t{X3BU zIp%d{l9DMTn$o{WEQrJWHq*V;pJ$b5sk(RYCWOoe^8WXyoCZ!?6-r*bm6>?G2`6|N z)CyG>a(;uO>ZXUHy}v0+N|*Z=0{hr4bMK$9@5&>n0-A@eZbTdLl4g9Wlq7G8)FvLPs+Yk~{8t9Tu* zKqwrx1f3E^Rm8*zJVH{4mW~E_iU1yYKvOl#bENVnqJ@DVUtgBg`Bb*6GBH&qMn;3w zLPoP$s9=JE-o#dd_5+J9@KtA_VaF=r>&}8=ER#GFPf!WcOR0ls(VI{z#P*DIrD;Vo z^ryI0njV~m5+-_60s;C4q-{&cBy_Y(P>db`0VUZ15GbQf>k~LsG1wBc(3eEE6umPE zB-c*}kaM6>8-+#{fwAOoBl~8+=n40RBpBUYc3}WTa1_&!1XSiH6%F)d(LfsvlrA`X z@VzA5K8B+SSVlz!?`>)poF*KNhCC&b=s9?+U^EKGHx}?&RjU=^Wi1nWR~lUvoZ3o2xuqmR%KR8C$ND9e$r?FP1#C$GgjeH}WkOgqt!S(Fke!~`o3=}fec-38Tn ze0lK97ZpKW)`#~@Y7(ERY~X3e z=_7q9n`Mef6wCC!yT!m?^PczMjm&tKQesNmEY>XKO4wxOG2@In?)zJS3NpC97dn?7 ze6h6pmEuT8@vzNa^aVOciyaB!-_j(+na*FvY?rE7a!EiY;hMB0yS4~NHGH3=&74UsGe8zJcts4PB*o~}(7sS_<)89Ezn9*+OUIin{JOirgY0|_r0x$bYmzpv;IP9b z$ng)gBeU}a^;UnMOBUy3g|DfzEI#XVhIa~e65jb4(9n|TPx6GI(cg>Wd@j+{8T9fe z{)kWYNtC_tzEtUaZSgcxM%8;w@h`yb~vQX9}veBI!RmKRU(x)!EzV z^<0#6ZNeLhA_*a^EjM2OhpHY*V$<)lh@3wXn13X64KQz&XF`8a&!^sJL~c0k;^ukb~Dk1XcQ*kJRFv0taLh zzW7cCMeWN~p6?3CV-CnI3fM)!^5Hi+Apg?=`AY}ny(xy0uMm*cK9GZi#s5q|!Vbu* z3Wyqz?Ko-K3?d@wJ;~K&B))1OlOu7bO%#p9fpb>jhXv+Kej)!=o^4;EkUs=g;u7!) z^7X!yLri4pYu2T9M@HfbkjbWq3WVYas?@jwoTOtnqGua+?Yj6YpQTsLj_B(p)qft0 zGzNy=T~Oi$)2GuQ7W@pB9g++>{6_cEzHi&Wc*!?7-HlTu-vACug87nfm}`pG?v)<3 z#im{D!9Fe6|GrdLNEX5t6*}VUT2yZ&3C8emBj8 zDv@NFv~)6LVqG~bhP%Y*w64qr#3EmlS)|ymC@G*;V1ornUd5%p<4ga z0>U^K#H~rOz#RnUdX+D8%hEdxr*Cd?P8)>ZB%Ks#h*m?Pp_6iShpEAY%_gY$F?7OZ;6tDL^pt6Z|i zt9XlvA7rmV+NA&V1-fNbj*9^j><^HlJj1I2`4nBSf8AP;GfPvh7eGoRm`W9_O(Y6d zd6f^W0c>fjS2=I3SMe^;vD^BKS~6?%x;r14-}DcsY0qkkSK>#3Y|bPhc#$;dh2jvsUM{C|Bk1^9RTxorG+q z7(mwjYeh~QagG_nowM%OAl$GsRIZB6f84S*ZN>KkrL=>~UBJ<@Cj7l=GZZOq-|n*O zWsS*nX}EhI;O^asrBJj=`y3Kjg!zxR3Qp5;ffNxb2{O)xbqPEpc6EUj#_H&pLSVvn zSP$FbbqOK`hrN+FbN|Ow+W1hOGdarHFZ5v8n_je?ODNABYR9` z=<B0##B+`iB0Hd$ zwLocW<+|4vfA_yLXSw%DfQ}5oHOcfp|CgTOp=`%K2ebX!2q!zxp<8_kXeWPkr*jg8+l zhH5tBd(pER?_2Nu{u*RLt;K{^cEXzPw(09h|4eb}nb7iMNJX-gy}D(H5|>sV4^^|y zONPb0=;O9UL3BRpMEgsm_#za&8x0tmJJBIEAxR!SQ=WollmpkHm!elu{eJxhdJ)ok z-KUVsjpmKKTCv<{?`@pTDc*~BjYjr%H2CR@_m58FJ83j!zqojGFTUlYKO?6EbN7vO zg1I3`uIOb%99JT}fxPRGL`7KD+!%s*vcY%zLb?_%Dc+5KcrV;Yv08X%QdG&YZC?jVV44ZAze!&f!;)cCYkFO*e6+FYCXcg3_yVN zGQlJ3Q?$l}bGd}z{GyfP++VhGA&HpPm82nl6vdbOVf|KO8AGQYH9-SyLJskVdJIl^e|?X|8NV9J#)1)=_>aMSLa6$LUp`dB zJvE___Okg$Uy{G_s`B4-N&e4WRsQWM7uSE^4OdhDhc3zg>-5}}PyQ=)#&tKC1>#wT)m*oHPRplRj zN&d=@%fGz+|7Y!5;G-(8ex4AOc!Lr}1zmNmv0}d{pio4!vI{r5D-nrA1q?=G5HKjD z;-|a}(X5wMTA^Z<7OSnawUt)OODze+Bs>Jc@}l zojG&PnVBy$p4{N%TOOsJ~xZqm8gGKaCZD}uR8{lP$ux(3 zk6#m4+K^CkwvGX3UXnhbRMO7#9}F7!XiqyI?q#ZMO!Q3sq!|!=@eOYcwdaLHE^LPU zX12_Z)~f%2)eN(se+M)8)I1RK#+-uwDP}X?9KxMa=645?z{2`rNJ6=5k>dgN?z2tJ zGjL|gEPcGQ@hglbXJc~Z$HhY!b7})be0DBKQ~^o`yj;BYb;S5p557NX1rC^aRcY#x zxU{&qN4j7M>2lM`ZjkNyiUw@aU-YZ?&FRlydR^RVwH1R3{L|!#S)9F2_BB`g4q(jG zy!)Ww)3EHm3mGAc&n1hibrx%*vN*4mER3f)vZ}|x-yghxms#Wc9AB)AtM;u0dr10H zUGCdE3)4)~I)i+p%j~y24cS-XYuO$tv+?vU8LDg5Wx}%{&8+FyS$HO*bVD3Q6oB#l zjON&kc3{M~reg11h*Gkd{K?=BCIE5zLu@#>wj=>jX_LiAufdM3?*Q7&me6I#u89ji z#hWbrq5e51GLhGVyrG+q3;km@z4cqU`@-h&380!sSjKiUM$5RZW?X$SoAE5vq*XD$ zivmJDY%zC>6*EM(?D7_3e)NfKt5z+ecNA=0#N9*z!Xj>!$qi&O5lrUCSGSKdYX(R| z`GXInK|9ao@Esf_MUq@!#zXgLzK-{99GLe!AR0rhof{XY0zB8LNEKD_Ur<@wC&wkHKB|A^m&ncP;z3 zufge?r_#S)wCQ8}cYK(~kLln0yRsRtK}}i}^A0fo5&e5N#<`!|zvqBSoBg{RO59ri z?t=QDf2Xrr(f``+-^=!YfB$~;aHN0NpapdQjt4X{e#Zm;L;Lr7TsH%=y;e0H`Vsy6 z*i)z0zh6Z;e^me8Z~+zLJPf1k-|zKmrGGz;g8#(+y%;V)tBO~k%l%{e_x-~2|Dk_( z0iz$%zZ<`4*}w1q_J{QE#WsCx|GqfP}Uj z`gfV|Y+d<&(D;2l82ym`eO`Ub{#^#hsr%{_P3#_%Z#v+c|8;M=(scD&{U| z!XMGUFA;vNi};lL_f8CoZT9cc$f33VJv3eVcP<_={hRAuxZQWW8;fR7xI0JP?>pMv zh{!;reBD=g zt!i(tz+_`uDkfvbg0iQ<&dMz=$I)HxHn_aK0}qt^FNW*a)o#43L|8AJ>YQ{L7-A8R z;eX+Hfexd9S^nT?x5)_`W^Fj6YXyb?P1cf&IDyZ!eD`4Oyod2-E%xy7BHn-3;{-_h zKW<C>7CYE}k6g%7Zg-0H z4%R8`CQQCAT&(YD!c!>H=a>yeHRI0x?1X61Uh0i~2$oKKL2na0r`|>!Q`YY|WxW&b z6c21um7}%{vRd6EXwe^}C33kk^&vXLT(*dntUhr%!{yo5Ryj!fwOK0Aj6#4^yc zEDtuye3N~N6_&3Ury$Gtx`pL?H0a}nvB`<=>5&2NM--?2_g#qu&aUxY+5>ANxEZ`8 z!}6UG^d;8#&UmpM3C|7sj2hp$4?rzyd>0T4$OFL>%NoJlh3F~fB@}r8!Q?OJGw550 zPg*TCgC#X)aN=4sIP4=Ua8EF>%MAINk@|Ts_f5<9K+yMAi|#VH5350*fj8BotjgYN zpt2aZjj|;%wdku0?vq-${$FbGBvwZ3THN@PYO(m2QMLHz7pTR)VwfZ=_fgcVSzXeu zxj8Jl)NrP$yWiCLw;{Uk5t|vEVHPt)MhjKiUW7^~ey4Twfa;7mbn|lR=6e{fshe{l zRp@3KuF~s_tMps}Yg`8ObJ%j~W9K2zy)0TQD|z%TTlc29GXcSu>9*pp!LyjwLbkO& zWRJ*KrHycO%7?mhs?_JL;HXrSIZF0#D-iEp4{FWjVIPAr^{Dv{lHlV zrlvL1&E+21ol~oE4h+?r?ydkxP5!S`lKG8C&;%(<#hQJJ5z@3?)*lj_TE*gXlci;S zUjFzL>+@DaRDHxu{=d}c7~b}X)aT95!u5F#!RY#&-Fkhn-#2x?)Y(d2w=-N93K#9N zrDeP1sC|cYJy?2vBgbwH9v`w>BhPM)p-yYWA&sp;k+U`C%9BFB^{8EXHjp~F$1Z)2 z`Y(bkJUCfEkJqxpU>9kX^PGC+t26C-v23i@M7Vy`vLePKS{89}TGp@Ij&K{D zLj7(y(n|fb^8KXxofA{P-k*lG?iUC~Yuz093#V2;k%*P--yW`?t%Gg1Uyd679qK2x z!LCjk3iiX*a3M5AnoHF1!QEjsya&N(HCzKHg4M~>&BZc@cU~j<*p@$9kFLf7!VKQO z&90^om*7SFqc|rGhxG6ZH2r?}1eHwP!9e`)DOBRb!{U|t=#_@b0Wqcx1VebCV~sKv z-dG^tGJ@UApi}G$-H`|zK120PY;Fz%F^GVJHEe=-KDBBdK9mw1_ALqEU?x{$X+S$+ zq2%1ZI^kA5pL}s%?SofE+JB`nZt1^%)t&VT`>%VbFnhm1$>EF5K(XnINqL<@%}}KY zEL5#isBTe(+JbLh>H_|xLfsi#sDVW20w ziuEH1yjHz^dNcO4zLk&hP^hD^FyRO_GhBX*Sz`%3(ak+o$>v0x=Kq6ao3D;3)S*x84%JIl)gf3qafVaso%3)E&Sa|Dggc61Kywy z_gohz--tu?+^xiU#^ThQbR^IoPVK(5u+M7*ec#pijIG^Ce0I=xw8nRK(dT$W(br5Y zAh*MiEsopk@OcMgxdq-Lg2|pgGw6FAj@z5?c^AUxh3`A8MtolE&iW1@^`l_!AH?T< zwS~`XWwI){U=;X+DrI%{UQ1o3&-a-%Zbj=WQGvp>#Fm|2$fF!T>HJdlnZgF z>O~y4-~U{zDmAQCztVj3-~8*%U_AD&;X=mzt3eyZ^@t>x!H$s#Fk3`%-%32b z@7v?DX1rB+6>mjq!O)7YROcECDoWL4Ng@7XysnFXMx1$RrMXy&6IXwuc}ArfOu!wg zF&wP;%bJ@f$Kl=JDL0;&%KKiJ|BYc9=66vzhIG5W^^@DK@07`rDoX#2`Fi#n?y-D{ zb?W{Zd|}y2{^bU{_m-98b`^iHEC(VpgR|trjKL6x;_l5Rtu_9kS}+Jjc!l-x5g-fA za)E{;X_1=6<_pfrAi&0XK;vYFaULcP#;Gjy%s=M)uS>q*?FcKqpKoD?SG59j^m4ct@@ zGyG_$uyKQp-ybT|#UJdRfDA8Y`U<4uZE4bEsK09D3?TOkBj?Tr?w9ufcTNPio0_C? zy8$;pf(uPgT}<4EBe*U#NaMPIJJb=!--y*)CuAYvdM2P|slQ`_ODC}QVi;Z&l^R-EUe+m*t@w$&E-RZbXv1kVap`yL#s0!e)uyFVPR2 z=x~W1aiT*cdO4PN1UW~dgPmx$M5j8@n7U}`7Wcn7F;0EU$%~B^DytVW zBOg-%rb5gnVlYCqR1?(!h?7#?D@-VFQDOLf5nQzIw-j0;1t7d)*8On6I^?(hPV2?@ z!93PRGZf;>Tx#xCX?obM@4E5;F*H#96)?Pk1{6-B)xuX+fwd|VhMgbt=3f0r-*W5VzllBQLRzZ9iu6qtM= zN|OAfT1sn6d%JH;By0xX%RnJOvq{qwA%>C>s1hZ!El6CX6URy-^4hyaSDcrR&6+@5 z4Z(Nblcx!;e3D9YfLO+(gQ$OiNYoh>!;?0HmCF>StlSXcS|)&?4@NQFCAFn^}zpz~=$Z&nF04LgTlJ&riY<|Fqs^6I8a1cQ0J4PYmoLB0T)!F~Wc6X;gA zIJ|h_T^E(g| zGjQ1qdZ}H22!lH{1C1NFUd_`CFgAcg2b)8V8fbIKu{mU^ISz+&H3y9w@Tx-1!Pfu= zs}|`xxYU_|g7)YBkg(1L`_$g&;lhwlH)>&olCMD&Lh`GX0PRaBCPbT?1I&TMTnsSl zcFf^17_#_Qy$rD2!Ge#PhEfl82Ig}Fg;;{zJc`g%kA{&J0ci`79t6m==FsK?_ZV=8 zB55a+21*j|Iaz=xQu5VJ8l-08S$I=0se70-`F9%UK9nX-r666GrU=}gBe(c4w+R|^ zwEA{~R9f}d+`Qf4X4@r6zC|OA1-nIRF%UJo@nDxlcK_0}DBKkqbAtMl&F(uqQ8;h+ zB-H3#l=}(RzMGmX=~T@M^q?s)%YS_lfI-0L8 zMjT|dAe(NJbyJ-MiP@|Md`38%IDs>pb%4(dXQS5ZrWdn5o7t>%Ad*d{T7o#pHiGQs za5n!GBxaKY_*@&Fp6oi=UIDn7t~F?BoKY zfjWs(AhqX1=8AN)Pv!V_ni^+(ha#;9>QDz3?+T05k)TrV5ZyxU;IAR6LMQcS(p)5o zlFX_SC>PGB2)bjO0ag!b2DFSrX^Nj<9QhBOR$&^xRaSh^w`WNYVGvqPf~##7A>SSn z^-?zg!2Ek5|8?PwSPXlJIom@m8e4Zs~qr)wE7ivgBKYGId%yO8#HKMKYS{ z4pOhTVV0i9g=WK^9%@moUhE%{z*^DWVQb%(YYFVT1n zHsitSi?uf6+$rePqsVn9Kw3p+3U+R}TBkwk5{G3{b9MIA>Zi`bnoZNi#`I4y3HCJC z_^mN1*;C)I26umOObR~QiL`~1R>gPGity2-cH(p5n+Zsoj-;MkRG zz%M1obpTB9;pPl{?#Km=%f50K{ZQxqW_*C!3q{X#;@wv;HR8`&m8Fd?&pR%Z$72jw z?j5Br_J*?Ky;um&!~1i-K6rO=;BtK21WX3|tli9}*Qm;iJ&6_g*oi0dwG({#W!Y&1 zL!E}0=oLk9$58|?m|DkB5!WJSfUk7>tSxx$JNwG-{MOfjE5GxGChX>v%ex6`q(#?gQ;7wl{3%xfdFoe&ld2dc)2rpDF zOfqR%&;ANQFTd0p^q$is;iSTT2%mWZ^NU+yUhgnZ2=h*h@U9Q@PCDCW%`9>0__8EV z^KyPHTUWd6a;(;{n!P;DRs864FMds@2=Bp8EH|y(Dg3ltrcw4GZsx!wFt4=nVt!Z- z_w(Nah^JXMAU=Bxb?7UQWzyK5(j$Oe00>5-Joc+#A2WD+3MNSP^t!ANHJXbQ7pjAF zY}%Xy*)u9DBr_@@sL%v$%(O5BSRpRoaP2H81Ln)_bzI+>TE%4^If{?Zr`zJPe`4^)az{8nT#CW23j{zkZKWdhtN*ewC9s{yrvx~=&N+T`HUVq-olof^O4xW2BU{D>dz<1bhrYY2R}-Z3Suh={%GwUeImY1_P)ANIOT< z9w6Y4Li;I#sPFTnt=0K{Am}!26(eVmcC4m-hk!z%eN)pGlJ-7L`=X%Rv@;l4iz(dR zewy}a0)8&Ek89fAq@AK^?-%ryT2@0Dd7iZAXxiHe_zHm1z5_IE2hzsr`d%&QHf;tY zLrA;#fXMkG0{$hmXKUJBNLUh=C9*nxCedx$ZyC9OwC`%#eFXeUXm=q9S^bN&7f6}? z?!l@nC}9(q`0gP$juK}GL=Uv-uao{c@Hzby<;@@Sp;+z?m^AHfZUV9+?TG< z+)uM1dFt;1vAN$y`o)0EK%<+C+(YgcYVJ1@umph8zTGwVPUMcY66#1-LAPl;F>)zs z4}KN7sZTFE`(c+m^MhLYCDYiuyGOfmyX1cQP*Um|-()TW!&7}-C4#q%mbot=K3R1{ z981Yb@bGKx5C#@lmMv<%2Bcsu#n;|%HKh}QQQ)0#bkh>3-RrGp_ERNuiNRNyTxF$T53(JG8lWP#y6@~YR!)xatzC^cJU=^#^SR*9^ z!JF`)RRYs>FUOhv9Z1yFJXH3k+M|)x^}xbt?g=Kj1EKreNuH_A)OKU~^LS*41>xwXqTEE2KCgS*VO|6iLaLXsZ^%`ab2L#5r16` z2*)QQ{({OTi;&%@CL&hg1-QkDK^%Hq(s&V)UJ3?Y0_tRyiBu$=Zuwr2J0yLRd6o*_ zNe=8&d#asm4hZgk#OZ~4K@)7>j7y2$tj0YwN#<;GWNqA9yg3&W%T=Z&P+FggG zajT{8gCj!)=6o zwGasVPA9TUtst`V=6Q1s?=glN!ahw3E#X5dcI7|>g2~;$!6`SMsLB*fe(Vy%&u58K zC38$MB2%29-4Azf&gMx${Hwna`izxH)@6BBxGoul3{@)tfg{6(I}rmW)GXv&fVE?* zS0qQxV_mUI_&E|#ODu~dKOiu!pE2QGB@*9G%%BHJczzaNJbleiD&3HWRrKTdymOW(~$is*qc&Yw+=M)&P@d z)XYR{{quF*TBdS?kzIw?1ejY#5>tHxl6@mlg$kYz&PPdRO1d;WK0{d}ELoB9nof}} zUsVEbYY1`*Y*BTBXxD6=ddZH4lD(R4o_dlX)C})r)~b;b2~ksZ&AxSN)-4#1u81Bx zwTY@>Jlh?9qpc-c+YN`nwJ->~~a=`sqHYc|h-F)QH0$2moVT#&Py5Qu({yDw+rF_jA`!{vYR~6dzPQDi0jOWrYTv4Q) zxjD9^AF{ADB?H->#%u=w7ExbYelB&PlqMp-gRj{=@O~uN^7~9+)Og6RC*b>vwET20 z+^mx!E6VURVMrM+(C~7QO;Jez>!Aq_57)9U6})h_{J6qt@~1V~BK1B&keqbOHxNPb zxvhcKX8brZEdsiFP*baAcxoB8%Y|u#!66#tpXwo6KO1dU80}{4>K}lqHUS2U@cgSiuf795LheMl?2I14 z6B2hV!G}MEw43_;KP&@C;kx1cn)*oM;m+}2i8h44KQlos&;*X#G++HGnqrZ9+lk6L zVTSsRjjx^jfKnw60(`dIEozdEs?B&>4bTbK-W9B!p11|pDWAgtwhX#APxXjmfMqOo zlf)aAOdqE!HCUacNo0Qx7C14AAh*^|MHQuly;S{sY*>!SgMer?&@)OCEnmqLy|4#0 z7>orQL0ctY*fUugL*G-2Z3vf3@d=*!I;s-DuQ1rIFgPiJ4kRvrkGl#j_kHoC<*4Z>?MWKXot_i#9(0HMSvZjf>)@Hr@bNW^$KB zmwC3mmq4)BP+|7!-wAg|)Q?#m z21EuaVT;>$)gD4vO0YP116X_qz>*RaQ7q@*Phjy@3l?7W3UN?Stbl@}ka0D{NQ*N% zCjT4V`D-K1O#9mCn7Rm&7MOE(IGB$kvHNyo;f6vSSIM!y!LJLaq45}N9mTJAQJnbT z>mWv6M&ZVcyxH>(M`JINyV>9K@fr)47Y2u|GnOs`BEHpg)N6g}we|sJ0=Nw;58?_u zFHRy9;%LiYgmUK<2FJVeKvz!dl=VSl;WAv?$oseSBNIa;miKUc?yQ#^al2#iZF9=-TwHe^ zeA#@G0RX0Hz)bTg0laILYru5#83DX(PS=2G=CcemFDvvWmdqxC#@S zP+wyqTCp%5Mu&@bZt!1L81!wSd=xm3cV~dSL}3BZ-K#L(HxIDg7G#Q#YD28^fxiN> zngDQv6)5-e7ztpjf`M|B<_k!(0mWH>p3G`so}YsQDc-`;nl!YB7o}T4QI7@Q@_K1k zfMj{lE$xpS>sYP~AS_GcvSCJHX>~nX&{gOw+b*Z9jOV_?OsqP2(eZ(p{aGPSl(??< zPYzEwzR4L?o5wfN4_*PCs>j5zwC^kgu?kax6Ol{erm$0_PG;(?MS2zFSB%^V)V*_n zg46&3Zwsx*rp1Eyk_HUGNWD_fZQ4s1=_<59LF#z~Oc2^sP5Ti(_W)IQ(H6);0tdqL zKrf?g`krG0!IhJeOKqN;0Z}V3x83`){u;#x1h|D~C4#8S9{J?OXD{6z$pvSeW zsRd8-#ARCYOO4m!Ih-GZNwy?|)N(QzN3O4fIOceuoVT;j?=?@3KEF2^p1LtJ=58WV zTJgq``iuIaMw2Bq>il0T^e=obJyWC3^OeQ7lHYge%yw2%aB~rQ0{$In^ZXx<7fy~k z|HsWT{7b{6v#s-yQ(#n`gOd(_RHhAlWFE!ex!)nzBR4d?;qHa5fkm!b>^K-#yzS=K z_b~0>^jBxvKNl6koskE<<*?|10);P3#J&U*NK->rinWeeAW=K8LO8>-lpgL9wwr0KQ4hR@5i|9Vzt4*+s|X(nGs@ng!)JAYt?kJH+*f(V@NX@|!T^@nVyj=k z)BsxL3Jt;S!vhmMGF+m~*Rjq2`KA;V^DemjYZ%#=%NDy+GtG@+iWB5vrjNd8GhG6; zh{L^5@v&_0ie~$$j_3@BBSLvKK*dn%=nU{)c{qb}wzrZ2rXWta8~+hi?sK9uIF1x8 z=${{jpu3|TE=EAD!(6bmZ#sg_B^NH?R2M0UOnFRed+HGgRP_a#7c0o2e?Nh$=?l{Q zp+8MPWMIhshNtvUf(I{)V$0JXx~l&9#^&sTn(WY=39k$Szb^2!xrdEUZ{>rjC)B@L zT!{`J)Xg0fm!0?llZPrV(&$#<{D_>>oXCvN0MK^z@&KQ$;xs@F!qW;&@g(B1wGV^S z-IzXu zrZ%GHW~l2|4H!}3J=)q{#&!~IcN8*UF#G<7kpdP^dvb1j!g0@9lrC$6S6c6W- zt6HmgRmnudrrj`vW7 zXQRllFSkdlOIS~=AOfGO_-a2UOEOAhvXnX& zQOuV@MQHHY7YA~n1~Qh1a_i~&<*0j5Fla1}QDD}DRG|s+EE-ciNQL?N4~A7V!oPcf zAr^7Vz1_cp)oFqmzYk{TvF93_@!?m!Uj_SvC4MmPvOLtk2|YFtDx)n3gp$xoI4=%i ze1>*M$7jbhRW%}*-LjVq6$7;{LV*^CMFPcJ5sJ}jrluGTiafKRI)YvS^eIH27C|pk z_Y)m6aZC&HkrCh8Gl93u4^ zg1lntuXJddYsBG%`5`zkyxe<$%8%}o&TJkP%jUfC&*d{LnQ1j7v5d`LIn`-HqyQJZu zo*B45z=dUn73jR2YoKxoj-lKGB)sIV`|?|MQ;T!`FCBq%{ntN>I=}&+i;%Hk`QAC- zayprwaJ%i#FP_)fJcEPF3ms_%QnwD|1R(jDVe%SV{o*U&R;$1KN!X-M7bpZ(>QGf^ zs#i7DU`0DbbPttT zO!XelV)kGl#ViJ!&_fz%nO*q%mGI9941Ts;|-a^ zd1|wNoM1d@IEkZHVm^R5sPAM4S}o8)8oI)PrX3*eG)#NAd_HZ@_yYRcU!u$ys)lgG5v@L! z9z5Troxlx{49q1PEqk!?gmUA3p+ID`;>wr$@>Qub_aNZJpZ1!TfF#u;DI0U9XLJ?? z(OK}ipl}w?I$4A*Sa?JfM!}do{-k626_V+QM1Su$E%~;e%jlSo!f|vQgeXVHv4}6_ zz-Bww0jtT|9Xs>YP4Fhlt^f_jv>BlR9K_(suHsmvI-}&4Zw8de3=OcoX{O9nP3S$A zZzfXmO^$&bxXe9UeNJ#-Hb#gndz8!ZggV{e3_Uq|=%Js8F)2TI&P_r8e>m#o$asf#&hvUiTgO?zELDaGM4JVnd7-a4 z95M9Bp_j=`*37H?L_-zzGC3CsvsiguOKl;$k}Z)V`~9*g4IEvL^MPQmkMr!*TIhD9 zhRkFWAoi37M7i@+6#!OBFz~XJ)v4loKTzva zch1m>GY)6$mwt2G+~~eJM#pr&8H@;-;I?LTbDDcdK73oV?YCoVs>2_@2M_lEpg{Kc zTA}J*!NDllm7CjSjQ3dgh6!L`L4c7n&6=f;8*3|iF0u@k5yH`xPvBI@*jR^%`VLe& z9dMkShL{DuD-3r=UEj-*)OSuy)g!jh&IzYdBl1)+;xjmSM31)$x!dEd5RC_tJ>KH{ zwNThaxyg>mKyck3q!lm_T!j#a+=IBa2hPi6$U-f^47IfHI0UiUT5yE#($i+{`8}00 zwZlTpG&W$kz_5}!koe~Ve{Ub)VWj$fu8i4fD)|+A%+AxJ?`5Wp*~2A0H%*VehvsND zrUIKACEM!}_?IL47Zn}ej#)trD>83#RdU$_WU|MB9_=7XTThC#He+Nj>BYcJ0 zKUYTh_SbCRdm79jgaq{%tNK%vvcSkSuy!CTZAdoCUO-V%_UkT1*;ycrKd?K6#$7A0 zJT5sR_2Q^h;2^aEsbzauax3|as8pCcq^?KmEUF$-4_y-Bj5oEBx*e%=n-OTV;|=R~DOaXzMLpKd*sCaCOiNhZr* z2TVLetOs*tiSeAn-0_rNj_2P=gQEv9ae3OP!x=&QibIz}a7I)kyF#~PQSp{!Z>ZmC zFalG+OAUWXl$?9Ca7X@^vAw)6g7;lqR4lhdh?4Nii{^(U9-@G1%9u5;aYK=_tTGlf zD42Lz7Gb&ct&GJDma*_P5|-QFr0{Y9obbSbvmaaqSnWs^Uiw{h6&C84uHEkup%gMj z6fLYa<)m$~R_@zgrgfD%Sh<)!!TWy~pr8+7sHL(HX=&qpMcTjt_qRy4ty`A5UvNeD zi*$j2F;oNLDG#<`73yY$VB)Z5&wk4_`;i=Gr&h6Fdxp#P^idYz1pj}YwgP#;hE}Hj z#<2of;1(!2=&`oo@}LSt@X-k8>Z?GV8t+(wB6d9Z0KRhDB&1%ELnE2IYRk2_s`0RC z_;61IhC83N#>?&Z^o#KUObVn(4TZL78*!Py0_EzBmmCA}palc*J77c`h&nZDUf4i9 z04Gh|y%}#Yr1pHOHOC!`C;LCM9ry14r8CZ>I9Tbw77=mhCkpgFKyl6mr5#_))#{re zXSnF_pW!p3(Tnsd`+Ycj1qglgVN=3B`Vjc&10z2ATxg@po^5MX5j(~GIu?>7KO(XI zbH|Ise`a@}|9lpr^qLNSH@O+JRCmoJ1=l2AU=O5ydAS)S6v33ylKS7t#2 zs3W#w+IyWr7Db%{>R*w%TBNS2V@S$)J6;q8S~YbjDP~4dVCCuV7^-P=?2JVJ>|!48 z3bJ8QWU(agbZnPX={K|10aLz4H~Bze!J zb8$#mu0bUEOo-C`+Nu3n_bZ;N8u9LXeBwMILt6)K}NrNe~hX7=imsLz2}(VBI} zZzZNR>uV$}NrC#YbLFUCzbLLToU0{W!@ws1&R4@ynY=!L1|@jU@LBCsQh>YL9qJ8(db7e6$(XMd|<~+Y*~tC;aHQ)9F#rkK#`p>1xvb$V)vsnKR z*0*8(FTKUF{==cK+WP;Gz_4KW5BRlEPp}zXhCcK%Frux0y&Ch!u=QU?>pyHAt^ajX zTDSg}{iDvd^M?>Hp6i6A7%bZ~IM5p*8{@h6z(^ba0y@+IG%?p_xMCS){GXstq>X?6 z|F*H4FrWGw_>Bl&_SSGhTF3OpN)95}PH>$k2A@U-7Ay5)L}~D87U11tbXnNh_BtKo z?k}i_vTd@OPJ0N{*BsQSbhvliNkHoFom4Z_DLV#Z+AN#F?G8#*vSdKR1{Sxpl8y{| z=~Q2vzLcp)T9eGIL)mkFSNB1W~F zJppzO?xondJhjNd;s$AmMpnHS2BD+Kc&mOdboMIFZ1tRua`f=4ClJ9x2;YD*VG;dc zE$0ON+OpijWZcJ~7eF{R)1%JeatRkg^6V7~n&wVqOLG)i2*J346)2||9f1&D2+2~_ z&$BkNl_7X}YIOtxB9?9mAXo{(CXB;L>R1DCcqt@HJrSX^IXxMH*qp{XoN)C=Oc#Lv zqq_j^VPXr>t7|z(Nf)^Jx#%uXsAIYd1P~#UOySgWU~$HZT9y23dthlBxyBw?=Bh0- zWMG+V$@}{d;tY1gEU*Zc%|nm_3!fNRYGr7UbXPb%GO*-Fl8=I^CXXcF7fId`PG(DD zX&Uhp1{RKH_P`=pz6GSPi~poh*oB>{BY`aS*s~%$9P}whNDnMD#~fImw#8ldMB!U$_bhCSv87xadWjt71 zz@cXAVDzk_Lj41?5frcW^#yzS@N=IYKupz@x+FUYzYv(7g*}MvQay%bOvV_J2c+mR zqyo-)cnpbNV)%4AL=#?Ocojm6USe>c9kFC+?iNc7XGWz)Eh6ke^TWzDoE4#sT0~Gf zb$3*%V(eGob2 zC5Eq1`4&qIcS3K&OAHxQVjAYCWz?u8hVDoX+n)r%h4C7zl68Tw#L!6TV(B7H9SrJF zh58(!*d>N`blqBAVhEr2ys@qGl^hVG&trDJ$~*Yz#iwPpg}>d%&WggfU_$aRc^#W( z1}Aj(2gkZ{aU7GrlX1mZWn3`P4F2tPUV@RK(iKl$bOnKuEOsd&yW($7VC zJhO<;8@SBU&+5K0im$iVtB>*5*Zc9caL%@x*1K-;jd`!c+j6

    @^e3Hmqd!NoDmjbdj}_T$y2hsw+=)#l0j5% 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

    +7EV`XJViT@j&2Q%fo)*FEs{ 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 z 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%0AE(qJQ`0j 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%0DDgO!MIhNpj|ufwq#lG!O4q0>VHPJ~ULYRR-y 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

    !rFY$Bzi~P*JKTGYVf|;cuay*#NtC16EXiCk? z^sB3_Nm3*N>8}U*=U(5Tl*O4T=lP{fVfp9sk4a43Zz}a7-X5;-QX}0UrdkzVhn$9X z)~Y`=seH5A^n%(1S)sKzXCXPA1Zqx?2|Cvk!mA}xx+H1Z8+;hGYg)F)3K+ch)h5_s zeitdid`qe_J4NjD#5@5OFny9Ogyd$6DXdym@0!2{tn%bOkD6;v(_5{|KEwY(uGuGU zCjR~oZ%F2v71lJXTC`w}8Z-TVHHJwjQfDYPUl`1}ChR3*fO_bjJ&$`Igbz^Xc2{!Hw!Dvb$e(qNl*A9uO{!V1H8Y>^DV3L zOxw#It0wQAChu;mQt+47Vf9Bm-?u7nspWZy_l-Pd67)pn5=|i2Xp^hWs$@9Kjq$l& zTlt(M&9yZ2w%z$MkU98!Kh43K<~1Dv`bK>tK4Lzccdhwgu$22(yB@4Iz4`k4cMLK0 zv{28lmx0I=Q7){6{!hQZ)?kMbGwphwCOu115!GQL@>Qh2)ug9g9=cn*bgv9C)Qpa7 ztCG?8@4X@UGF_TWeujN|lp7|MeTJknXPJ7)%r~i8?!xS6|I5`bM)5%*vA(P!&!Io4 zfdYhptlAQbyhd(OzL!9i)BH-pSCak(lYTP;EO4t+%|Yt~Z>G;KY)NZW`@c1t#u>s- zzWdYl2;kJyE>*gR3%rItJP*WTV5gG`Ed1VY$QrRGz6;#6&^9dbk~J(hCHHCMGs%8X zN^+8c!wm*+&4MvKk@Qk0l#6yuCbbI5_X{y~0*4=Do9vaXUjGGL=J9kxDG4{I7+QY1 zm!1192KP5v6G5PcEUz#_WxPobKy{BWp=xONCK~wlH)ffB0DS{qQ~YKxr>TbGpCSph zmREyc)89}=Q$bAN-L2;AHt8jJ-IXwTY5IA0n}RDvMs__c;IXW}2PiyJEm2joG}3<%={%6cm$7Fo)pTUNA)P z1TTobUc}0#ctI4O8cy_reF=Ws3#yhPFL*4$le}O*f@gTa;|QMX1@j0F@Phpb z7J9+s37+Q#ErKU|!F+;edchM2e%A}0NbnRdcoMXb-V*-_8MHYhsEbtI}NMhU2Lny z9dmdTNDs|^!;?M3W!p#)qwty>R5WvN-W)06%64qIweW!tv^~+e5f+KUvyl$zv`ah1 z?A(!!(d<4*tlJnk#aw)dt9BQgZ+-QRJ2@+&Ih_P^4w%?u6dN+JpDXsDiS47<9D?K} z@{oxPD^gM%iE8 z(J%2xp;B|Qyab|VJAKZ-lruIN9mxWlZ#s(cAdotLoY<<0KLKk5w6@sJnNapAvNt+f69;np*lBPOuYzuKob}a<|jS9-oK&me05H zxgj<8glEz7=ZxHl$!X%aPSenD(!Ru)Lu%_iCv~?qQlIQZMA~_jHt)TnXPY})XtRM; zX!ds!cgv<}eP?L)>D{6;FZ=K}hI`lkBgM?dsCqE9y+xx9Cl#z%~$ zXTY$m0#B>|OizM-_yBJu3svGb#N;&qrxW={>A(fOI&hIX5CDA^b$CFJ5bAEI5A>ox zq#OFRbVL1bo0fYGEq0Ib3Q>m-jHf(|o!h>#^HO&ugUPHDj%(Ikc@?ko*J=)Uiao}i zF4(sDW)Iyf-0xpb15pDgc!!yavGQ-+Xm`6V^YcC6 z<$L!hCf}*)d}k})hvU3_`RRNuLB41y4-w5(O@8vtj%Xd-FeEt1= zyG^w6y<6eKrOnH?@kRre6c4X|rkyX9dvKYT&i98P-{W4s|Lx^#P3JT1e9+IAOy`>& z;-QCtdYd_CI z{&%kL4~k`Fg){zozXzYP`3u5d>6yb{h(Av)Ed6Wu_Wztk%X=sdLFdQBd^(TwVAPBw z&QA2DZ;m;LuilEIPX@WJvYYNRs&Ra&<-ZPv_*#mBnqSw1;duHnG{v1rsaPjY{>F3- z+`_`$M7w{~aLcQE0|AlpAxK1}nktp!?fOv72d9l96zk=ZzZx8tXMXZ697%^usPvI58#m1(=m0yUZJd zQen`+j8AC>W+;&`Lsm58;(J@iSvO_j8@-Zz1&Ro^4}dxL_oItj7=8R zul(+8l;jq@M3SLupAO(v=brP2;&LkkBaV&;o;!Je(i8v^ z;phUn#q{H{nBeMPt>OeuA&&kSt#e5aq(nXkd%-*Rt;wHtn!2Q9TJGx95f$u?2bb&L z{#a$q>mHI?Z%E9{3P!GuI3-)$ovbkoOfrrMM18Fjn6rRW&n#g8Z7@$7C_P{^ zAcjg5+l(+v0AsC0YJj0n8W2^Z6Rm07;TQc@<2!h|&DVuNLE1FTG{hj?U=#F+LeQpS zl}57V-N}|@Bnx`DlsL7t1HkCHo2LyAX1bzQnTWsDbTuH|bXC*4=~=|N$C#!&UPo*v z+w_w@#S;vju)BcDQx&(a}>#}A`^Clhs8rr6&4dFo7T2O zUV`7ORkFH*v6bCeX!G!dOI=B88AH!kHkm`WuF5JUgozbr2U~3_t&6Kjb15x6Sr8Ym^H%EEbHDuJnR|{{Jizp zCck!JaOob9=sT_6O!)>$2rm*w@lp_VHbl{^pY%Qz~#BRTqdGTvPXEt6YwmWREpDxX;P|lOVqhHMlr88 z=4kBzTDDs8fajwaJZuwO`6FmRoRy6l7nPg-z#;Kj=(@W**=7^;uv)+~Q1X*?b|-T) zk_Dx85a-?&lX>wrNj;!(UbSko%2k_{(Y*sQrh1d6ai)38P0(B1)i2e%inyM{(_7-7 zQ-R8$0#&;^c?>{!_mF^)2F&XtwH5Nl7U%Yu5Aw!4jzlTNL})`Q-;c~wBqmi%WJNB> z^?-4Epo~SC8NU%^?1);;x96d`+%q4I(RjO7&=}2EH#>OSt?uuQ1P$d|`&ilsdpGC$ z9_-y+<~7aU&Go;|qimSJdHz?icMQxD9{M8~uy~xP%dJ+Z%!(!jp=y%!WbmBzJ^8y! z)G8#ZaC12`?JpVc0v{c{@$SjV1;eZ~?(HDgk<019nyH*LIdweNtoJIMUIoC?g$9|r znY1fz7PTkZRQkV5J?h~KAQ? zU@gWOJ0J)L5!wXJ;~5*uUCn)(uchpEl0WixJB#?@uGIjFBlr~o?RIWZ*Af#E!f}Iy zI5hS;>)-2}-pY78n2*H))xiR?{YeaJizP-grMv}I8T$b@Rfoh18WBs3L*%)}->Q5@ zp@w(-*owD4DI`SuYWxmC$}DEPf9NB6waCa;y-BmQ7Rp&2Yz_2D#CMv$1TKTkra?vM zO9c#pSG#VEX9093r+}n}Bq~KiP<3!$JKm5VCOj#oTHpQp84J$O0+lcCQ80&*fnQrR zlsvv4$HC9 zl~0J_5hPvEK^HfEDHl)a*cZtyrw@KD?q}q-OLkay%d12>)za=%YNfj|NTmf_!&9Z7 zDFD_Ec0TDg2iu-fC8^cVOn(5(G*o$J0K8?Xl*Lhq4dA^=C_c@=2?mVf%|fX)uDW{$ z&N#=g!QtiE+9a_-%FzZ%^u085w^Yh*X;`|WACB;m!*u8ky|L&ora%6)HAsCwNYnl^ zny_aOs1Ivg8t0nf5)uW*o2Bty=Y9*|YD9_!odN#K8N6sjzD?nV-M7qHUmB_tDcp?6 z7nGNd9Z7C~L`>6uOl~tGGIpCzbxN;PBZ5?aAl2U(k@}5c!RBv{N3K#q)P?NAB7)k% zDA+wp!_1nS9wiuNpPy$0k3M9tKOP2NGrNZ@S3|bnAF{As4(O%FkX>AoIb`SR?Fd8m z7LaHcE3@b1BaT%t|1dIc#%Gh;yc~+!9jzr(!}dExYXMnGr}anAo+k^uhSnM0R10s9 z@wU%H+x%Hy&*Z&=^++|jKhvZE^{Z6Y5vPj2*7{$ogNY<0FcU;gY13E!2x{F5sF<28 z9wR!lYRvA8@=i(lq0jCH@+@ zlfqde`%W@z*IHZ^jaU|g>^?<95qLJE{+GNQ*beKQLU-T!|6mE7 zBD&$$f^Z_(1B87w{!3q8H1lVCKTWVd1Ndp8`!LvI2=?p58e1+e5lBorsFD2zg=DUz zzoQUCw`Kp(PgC8U#-RP(L7M+3>!=vg^g60V^>3`BXP@zRtfLQq&qpHDp@346ZDERkq&9#HAMo@x@g+exaCIZGq6&VM=0ADNdgOplBPD?KvDk$ZdZqe=I!vmEN%cRvlp;eBxrNH#>62Z5h`dEKJw!(8RCg4b z>&yNg_~YNPf_4tg9IW^Cc7(xN0+`x20NyPpkQ8R_K(x0yTpI_e_dpQ(c~PPgh6= znWuT9E};*4`p~s%uAWN@2FGL~3lv%BG;~r0R+Bo+!)(#2v_-3JNX{KV^1<3DMjNjy zEN}-??VeMJD^{Gh9wE1LlOSP6;p|hq8tXFKp;%KT+PS#7i!J4UvE3SL6f*FQ3-0V! zD7;h=GL_0K#~U7#JJy(<+qDW67@-|Pbi5z3lFT0$7Jpbl>lh7S5GnScQQ%%gNLL#i zqe?4|=pk`P^VbT{8He`Rv#S39y9Je;pm=;<4AV`gQrBQKlM3s&vRL4rt@7*F+G}75 z=MfIR;NFUS`qI7v9Py4+ZHEiuRReq3W8hwf>@iSz@1xZZ&I*Qn2}Q@8Phw7|?R zjp+Y>+G=kib^yVbb7W#0v}wIm^})K>uT z2KU2$nnVt$4VUFx#5%Rb4(r z&mUCHJRe0yM){kiY5O^LVooumyt!eYZN)kx&g&5?`UYG1f>vXc01V1%ZMctLm>NQh z`Bj`$OR{I3;w4fyn-WUY^q>-W7nKvH0D~71wn;+fF?r6UT!X~!sdRKvY{5G-`%%!$ zKAd9i30Z^R7;2_Ow*UiltKg6nd@Eq1ES}8v@?Y(d3@L=Xe_l~mss-Z*k5dWaOr7C_ zZ=2mMe9-JGc3TO7Y)kkqWV;CdMN%sbIC@zXUnaS_nyGj4_De-9Bp*3=zE4fq35%M{ ze#A2bPQoyU*wIoH&Da!Wej+92O3FW(3+-}OE7{fT_(qkj_sUngXWyb?=yc*yF~ zc93(n?l48IaR)HG zhCQo94eEP;t|nz9G1^1udn8!LR+C6d210L)7`b``hjU=$3A9VIa0zG3dx zbI%{5B+68ws;vdT=GQjmQ^h4VhP?0TA}fv@pH>2Uekvipk>x`phb_hs;jigTS{?KY%O(i6(;+|Wh=n^W3XG_`fcZ7%T(|lcC zYtEZ3*)zi?EH%VB8urDlSO*$>Rurp&uW6Q+ykXsYwmOKkw^XCrw`rg;^j?1;H0#!e z)T}dFvlvb9I~L+7KM3b4zFnfW`V?aPRj)(RmSPA_S{^k$c10%xI|8yr-+w(wPH`-bh@UGV@^D?y1(TpyRvA zPpxZq3^k4r>L_%Y7Id={Wx-^B7C+b0FXlQR`Ha`edhF-}%kieN!h-zU=(0=iMbR zP2H0PYy_LiJKPn6J8(c;x1Z$^#ZOE$Cz|fEARnMozO%f1tJ3+-1J~SN`}r zew%lPuqQ!Yechti~^>m@EJUONuljj%810(SkJ|{K7%R^mj37_hR>j51B3rpuYzAs;ujlfKHSRv zrkF(eQuol9B9`Q@FZFbMF_dK2w^?>c>+G}bRixJ6JhR?0ekJD{{F#XX{8|>kcX!)O zqdWIRxhnklDWt<2p>2))oV7C>lU#=IoMI;;ETqlW-5;^E?0F(}@_TVQYeTd8xgWsa z*-povP?_^ryJ^-^)5@kf$&40)6jRi|@HYT+|C7EJ%X0r2yum@8@S`A3516sH`!lxG zwGDk zp!CFA`qoP-1hC~293q)+w$fHlX^&RkQ`>S{&w;O}wP>|w!X*g^1W-Y(8u7Mcs0OVN zuKE7!*?T4v2x`wc@9%rh$L|+r@BQ4@v!1oqv!1oqQ-U~DloKJot59i$-Y+ZTN zzu=g>sI_=MwQo2ri-?U@lh<(EVSL%JU zSOixV1NT|0o|}|)H&H@rTsd1ZDC27x+C`FK?`PEBPVHy9wJ%NAF7}F2_(MKeak2LA zsp>7Hrdy14h>5+F`F-}+W9hFy=PRO3O*4e%4(;o3OGNsfDy<@;RHQp`o>rRAVUP0Ps) zw1Zyj$yjOT!&~l$^@jC^o@yg<@FKiPm;Eai%5cnO|C?V`&(D}+92%q}OxkZa*%>-9rbrQ% zUu7*?q1(Cy3JhSv)5zZrT`mC)ZPS)FlieB3^e?NE19t%S98i`ySoQ}&)->@d5N-aC z7&n2g8BY#>>+KPr(j;n(V-ZXkB8dj9r-^92Xa$NUnT0#xaU1kh3zxNSo_}#VlnXtA z9ovI$(R~nxh;*r$zdhVXPnTYrm#^<^YugMDn#TT$>6tmpiWPJ=N}{8+9F=64ldaS9ILU#U*?pv+jAcY2(~9Q7$lymWEif$KVCgs0{)a z>u88M-dDj`zP7{m_m93JN7+;;GY9dGQ4YAyr-C=Aa+0wyxn3rho53N&UWz*}x`?H_ z5<+h!A;frFg1o>RF~=8$?dy*_f4NX$gI zR(zeaMm@HZ&v}eT=|@G?YT1YsT`5Df?Jt3%Q7iVOHFX_D?^T)hW@l)J|4W8vSV7R} zTIYIIXI&N|S@9=5BYR|(k)o7A@pmV#ccO(92gX^-rbDdN%MtEAMN<#mRfeN-gZW5G zh2;}#BhF`HYVfrvYQ<;K@HANS%4&zuPGTx!SV~R=zog} zi~a;2DJ=RY-%u>NMs^*WYh*fr(Iab4s(Piof4&5EqpEt9SM_MG>eZ@hse&Q&|8oH0 z;{t|&@ZoOYikJi$7{fHwFxdk(oG)XP-Cz?>a=7ycRh$pMQ%Tk%%~B+5_^OJ}@8iFZ zmEr#lVkg62HOn1-qw1qnAz&6%cTSw6x?q>`(K+D0Kmiufb;Z4ey9oE1%5Y^Hr`XTZ zjlzw(aj`U&cx0U{AVgW`2j@|<9CKz#H_Y=2gkFqa6d8L=+_0b2JX=gRr>DL1KE3>H4_ly8js~GD_=Wpc6e0;+D z_-6LUHQvW9*&qGh$3J9$%<(?D?bb*iye|)DXItTYyf6FXYVYIie5AK^&NV!&%oc#+ z*vG~Ko)E-v#*snEKx95kWwvdBfHUN57irWy^mSjz@8Z&b8fTA$1!u!BYr)xfW}X&j zCk%C)S2%l(`vT53sqSuQ9f$Sl$J(U|50Y^_1uj)Ml8jx_rB(@WJCf+KXEcH_gGc@& z`mrfncsxILvqZYMeCzx#k(o$8qJwc!N;0b}k}lu6UikgI{Pl`dE<&XGhOQTR>#W`QA~|~iCzoqy z=bDwt6|r7|EBsz%X_wqF-8XX=F8xu(LWtwP^FwdL{C)tUtS4Q1jNaT=D^Vlh;Y| z3TI98a-8Kya)Q;)r!>L~vFYJK;%21yX)vZug5Zl=T&?M_=@=F)f z`S(ixpY@pEn)xJ#{-#|c9eGAp4E2lt*!f@N=ex9}2xm15CV$}_EVORKyf(e^(!_j? z^Y3m+X;o3PYUfe+i`46V`2k-t^wuS<)y_RCTdcNiOuF@~I;Ndc$GGe|O1z4LZXK7n zm3tr0;v>2>y`tt$fw#!kNqe;nwxUMdI}kb7$eR${7Y3_|NbflDjRFdi7nTCff!!~X zBTaFiP`Pbez~}t(OeyLi^(ya0A-v_jP);wkZ+9C1q*uSzv z(XITy_D%0wMUr6Osv-#BREiHvjrflWhEKCvd^%O7d6B9|sWks6Wl(9V zC?wwYNC8r|sMhk66q>@OM4|c10qz_s!ukL&r`h@{wb8GDPG%`f3DK5Lb1pl%a`r8% zay`59i&f=+A?cJYvZ{P^R^^^H^%>B})21TIBh>exO$zQeShE5JjS~G7k-pwCUs!-fHcAC)jchyc zb#{O9snW>0;7!)WZj}{RzAXRyTBWtiV(7HfpYd7q0AGb>Jy@tC{c|{WSVrOBhR9zst@q*3zZlmGJ|_M(2DE z!O`zFei8ldbdfK(nEOAY-}TcO(eL(_vAX)*LM5(b^t+JJnZg=dT>Y-#7o2bNqG(eM6?!V(>3kE~bZ=H0Q%gm~d#N;V zdL?X)bj01%ut|3gpCJqv^A=&Z0+~A~ZrOEYViz7xb4$pra5c$ron$}>a#|g7DYYvt z?*iwa)3v)=Ufn5>!tu(}RQ(Rw(=EnErW@Rz{dIKu>w3P5Sg-)vo6++2)Zd55C_SI% ze2XWg<((~B-r1*WdDmyOyt;EcnLRD~nc2J4zNTWrO|0fr1oNn#ZZQP)kPiInp>63``+3Bd+RuorD`sFI! za&6)*tNA5PdYNk+|F0bo4XtK1AEk+M6ii{r zHo}XWQz)!1DYHqL<`Q(zte%uv5@v^lQrZ(*rp&(Bp9T7B<(D(h15D8d?T{1RusfNP zo>TE!ysqEaSAp9bXp}eUeOMp`r2j*B!_ticIO4O2k)rg-i0wbFyUzzWE_I~Xyp&41*21$idLs;MK9%nEV1ol)kY zT;^f6b7%)L999xHEWK_enW_wP)RJj)$3{mjDVlqY@+JCOcDvw%+nY+Yb19;s^Ov!q zbK@wbtrgnbRRsj@D^L>)pzh%bAe765?n5LIhfmR0iRwu~f9Xb<3|UGNxQa<$7<9?~ zZ0C14V$m2#*D8iv-}CEM z1i$o3V$IDe=Q&_nv&)UtU-Jy>V8+y_RP+ra1p-Phz)^xc&nr@z4*k%3x_5_?cURIx z1Yp6dQd0&Q`be|iCcF43VqjBTWK=ZA@klhS(b*~m zbl(jD!-vt=SOBR92*>s`SZ-KN@tURu=eqHqJL{^i&e5U`k)+=;f-mZc*4+ErOsGWS z1oyAy&@7kK|C`htx91e-_TpoD>Z3fpvw=(Al$jPaMuOu|h&R*DP<0FyEL=&Dml)^K za`mz`wg_F1zn0jE#O553XZl`p%N*;m%(2fZ)2pWDKxHU zztjA@Kv%07BSu6>5nbq0R*MeLWzN&}D^#EaP)Uuwfb32~M(n`RU?>EMeBu zN%&mt;&c763_eRC6MU941HIyEz2aVl)q2IWLVI!^H`d6}P({7&Ym`$h>Ch}e&vL=) zX=*W2a++NIMMd*8$6|w|G6?>bV5Cu8E~Ygoz}}YrgyZ(;pPKe1kHNLMn(8AX@$NAl z<3tHxF5FGmLnk!*4RG&{m4=7Ugux?}L#gTeZXnVS6Nu$R8hZchZ54YX4dea%PK#K* zB1vJ_5oK5w5AD+)6c0zkzRz!1n~fkOhDB&}5-KX3v8Vk+3k>RwDtpMpiYYY+m(y7) zL}gD|BZeB*cZOP|bzKz=SCat6%1fJplr%$wLjohaetOqPy8DZKvlkCFf5$*Cm z^W$;r^?2~jJ2Llw5=h=iwE8Dj3_AM@)+P1KBWfg&Gdk{HGPb?i$oWQF_x+_@P7VT6t?{Gr%eC@NMW$4hF0Ls;EvD~dgApC#B{?qd54 z1lyjF3v5?37;L{3@k#|k5FB2*QBXM>+g<(Pz4`3~+qrzuif5Dy(* zjA7z#BiPI(AGy_|2jo=wudHh$-fM)Yk5PYlEmth1;-MW2-;7%yqgBjZTxnQs5xa_z z-rjvdakSY!?$z2{9invEuC_khRYA{k6E&%nj~wqCr-V zbn|Kw4RmN|r#6o3<)?5RXYC+ZO&tp;x9T;WtH7$b66mQZy}5a5{0Xz7xu$M`!P3hk z_@`-~zjMk6MDvPzw=wOhJ}l8xzKrr3(W%Zq!%A6lT@Q`;&lcO@Aa_#?Fglx*mFni0 zJ@o|M3JdNq?AuOck0&17Osmlgfr05Sm&e|nS2t?oQrc6^V{7S+==Ez}TksX3DoOi?_Tb$MZgphhm3m$^gZmb{ zJ)h>Bor4_e1udPrPE02MJcm9Zr3akf(k{e)hjSxqO?#^SP;8xx`QK7aO>K`_dDe}7 zp&%jyjqoB{-d);(XM_v|WwInX$Bzxq zY3pS@Hj8Ey~uK( zkUQ%|7LoQyeP?~!H*x%UgX54&K)BBN26le}%u1)0MqRKj_MX-`bLB}HW?>)?w5Bjieu&no+Vb{9-f2iuPV-50MjP@RbJiQ0`!Eg}LmJ}iqb ztR9t9RggTVle>Uo&k8@n629Ia3DqrpS8C-tXc$c_w0j{?V$ubwMd%*`C(WI621`VS zujctjhll619#hA{gI_v7y=^^u^ne>W_Bo)!wskTo=%<&d46<$Ie6!Q}phLlNaO}c# zxee)ZF9BN0o$Hp{uQFt|yT9|w{WVk0N|*bKTkh@iRC~YgUhaEdxlc3YCa252=a&1e zTW(>d+}EU^V@@e|Zo1q6U_n3UxaFdma>};8FXdkN(FJGZJj&m%_*>847XJRi-=KdW zh)ix?uap1z{P`JuO_$E>2kjXtCJaa;a>j((49BHcpbAfV11fg}PgV-4s(Bg2#XoeV zEFrCig9sMh;Gj1{VJA;AM&anC}4nw2PGoj5ZU z;fy!wgi_f-t>u7tJe8;GZc#OCcXX*+8dD!^PyIFKpr;IzuTJccLI^MIYw`y1B!=cBEH~lFLA6dU-7m?6 zW6Ghck|5tGItHo&B{ZzCdf+xxbUJ*235Uz|l*7%EvQe}m2sKh%fU7jbQeD)lgxsLf z`@ISsB0*)_N$1L`OW$&C1S!pmmrV+F$RH{{5?_i3MS9T*6k5vtT#xWwZ8VF}MyUO{ z2@x)`{a49`l}D7+b*PzU6wfj$xXziY)^PW#l`Y3CB2-A%N*eq>W??OfmA%$57TVFd zq#^oazxo}^^pODBey~C2hbDwB>%>WA>nF~1pXkAzdhn2G`)e>qWnq~WYAR}oot>LtaJt*vVjCcLehG^+r9&1t4AYB7dH6CtUsq! z;txz@OCIO&KiF8-qz*@xjI*X#$6~%0W1;3bgK6e2$!j2&1{-5my=6XhY@B6U{+RED zSSU5`lpHB?_{Uj=!@Uf7R$poy?vH8XxGm0|wODA&JfAfIL5Pl$z$J+;T19>SJld5+ z_A-o^#Ci$K(Lx`hzCsdHl2|BsSj{(8t3@H-MsDJiq<|#Vx=AS&(SuP&eP*6t%J#O* z-}v!fF)bGrqDlW*N%J=a2K!dnhI>cwOUeg}2~DGd2y7#xmWx_y$`x`LzP+aJu;Dwb zCmeJ!6wqo^Ks|{HA&7&&o1nnB}-#BKo7NVJY;Fp38cz zXto*-ajYhIwhFUckbjxNXw*i0_de02mD1KW=&KC-yrojZY;HIp_N3H0O@|9 z_K?xA88CImi8LMj6bs=5*RAP6{B#RzxbXrZW3)nGJ-Ai(?J$E!Wg}f~`p`=i*0hsB z5Li})WC(5`k8-Ny;6?yBO;!k9VTFL+AhJ@pgel{$n_#;cboAgSX0WYGKVlVLInMI` zF672e(;kqqOtJ?}1YLh3=o$$%%_}r)|92u5{;<&mSZe+ROg|;zSj;LM;(hnAS%_Iv zh8&A(WyHX8bp|j(A|kiGWewbcVgmjA>tE+*a!=d<|8PC=0Vv*HNs-jhpMAo%Ag>Tmcyk+xQo8nceyv2sj9^j9wV?gdnZdM}=3 zTANL4TRgZSPWbagT|q>|Pk&im8^JNlk3}rK!?)YFBP6@@h*iLoC?Ev5B@rvSl1R@? z%(&FpWYl*Iv6LE^j}LOI)(hyRVd;aJa~RBSTs5sE}eSJLgu5kyg!zGf$<0WMWD5{G@-idC}3Y&~EG-%=YgJ@|nRj|3xNxc*0& zOL(5c;~#j+i3dN7{8{!;X7GR+Y&M~nVZq#y(66!9pk7=bdO5R_o(U$&j~hn!=^@`r z@8j6ypkA3JB$^kizH14gIgJkWlY6~atKXa7h!x0Gsvq+{O6y&cIT91e8DY6pq*nsW%vHCSx)g2;BrT=rU4cidgqpgB60DJuwDcVI z$fYYAb4Y}E%y49KT$%Vs2%ME`dvrca)$ogIg-&OQE;%ks56=_Bs@+Ze2nYv&>9qgXr-NwjF>(1gL0fIMf z-S>tf)_=`aAkk`$uqM=oLih>-qYLi{Cv|DqYqh@@7_%h8X_>D?2zU7aA>4IoSuIQE zQ{>&+gro*lwhNcKVxc18u2=}GBn(X+Qeaw?yF}4xDJb}yq0ff3H;(4M_Dp(^o&en* zlWX|uMAO=^SrK8bnm_c09z1TQ!wq?0@x2%gaf|M_=JAMQ86cx_CB>VRz7gLx7xvbT6xic^p3sr?{cq{)F<(O@#2uRB zkUKqWP5Q6oVzy(EKQS#A#t52wb6rduj||_Ii-6okvk`lu+A%FzPQLVf2=qBf5{BYU zqykfPur*cQoSc)&sx2xzXjXh2 zwWj&45@paWTKz70)v(6vSQhIQuZxzUb1Ryyp(a<^H-EyBFb&o@H5=2S$i4HvPdJ>Se@ok)mVgPgUd()^kG?1hg`+W5hT%w{`_}&uy`oMkm?yY&B{8mqWkf&QmdH>|MvC!5RMLu8cJJ^Q4RlA+kh{{g5wns~q6ix!DLE)K;8BvaE*^C1;75#Za9!R4PPs z!wb44@tD}+R|2gCMN>1eo$WP4MfJ9He;u5iKsSv9x>?T|!SpxMX9O#Sc*)*Kz%6H4 zOl8+u*6aD4WsTBmUg9@$sJE;0S;>o)caglv6&y9LK8aI=}8O z2ZW6uqp4AO06-;DypmjWdydcWwc~Ctmto)i=^a|-K?&cKf6?nvrQr4E{X{^!|6k~o zSWK@FmWrX{;BR!4=0vQ`-A$h{1d0Y5mBLrICl|^2Y>HazC~<;|PDh5>2`m}YVvpx4 z*Sop?v9d{0xP^OUSi%rYXy-F`&Yn~tkK^5*^9K^CK%ya_+c$>UpDg6OY^M==dC@s( ze3PANDv3@c#UUXn3qOp7K3#MU7~}%L!UUid2#y}AQ16r9mUXh)77vJ6$BjhGF)Sca zx2D$odiRm0n{?kP}y_sF((7V%`JdP)B_6xSad9YSg&X>Dw;r)C1*u~ zT$L;Fe3GLdz-$8*bttv?6HKj_o#z^4v#rfv*&A^H90`kYmM)BDr0^81*2Wk3@Cue< z_Mis@=cg$p6zEpU=cVU~lp!dh@{F>Va>N}mpTe*6_lzRVI zo3`s??Uunm_$n=9Ge*mhIH&qurJxjDhFS`5OiH_`J`ndP<)_y6#)Rje{NuCJmD4NURNWfuhY%X;)VQO}>&f^?R%;4OM6%ecFFsaTNaIMaJh+(Y7O z=UPb=vOPj;(fSgUy$=A(A+Y#B%zD8iYduu^4A|yUalF6YenT^x z_2hZQam{=M0Xq_6Ir7LW4u*XRuXkTRblDMKQzX=H;Y|^g-hAp4@l7ZUP4q8}SvM9$ zf@elJXC5_~`y!Ne$PXsk9=r-@4ewUh_#aD+!zzv z`IFlt9Fg0ezvuRzpa$AKU3*pC+nblw-oB`6FSt`i9R#h|IB;!cSmE=aiq zfkiL`H{)qw?N%m_R^Yo6=>N~a-;drn4SY8r%fNT5Fu{z@G z62?+TXS)@5CltW>W3+%jz|oXHz>^t}NB&2y)kE7BK5B+GRb3J}*pOTGWrHq|Uuqy{ zG|tc-VW-XA%RG!J-bP*JMT3~|wPNar`+JLVIyv__Tt=`@HLJg_d zvZlF%rTtSH_I5c8NbO_<*M^G52NfxjLAEg#k{AMO+^%fVgGWRNOLZc)JoO4H$$UgK z-FE~rAzzMG6DLX*&y_9wYy+h%vO}E17O>Pvz2D2QFF8ZEUW(g(%~`9CF2Gg)wMK9| zA>_fYJjR@@@nV8g{$|gS5CEYcYa5obQt=DIAI`8>Vf}x78%V;Mz1a&E(x9 zs;S9Rw|#Sw8S0!fCu$8Ll4v{YBWfA#SOQfIGOb%W@LU*bhF+`c&9oKiqjHUg4IN05 z0&+og>y?N-rwHIzT^S4Qlp=%9h+F6Ni-UI*$<;?iioEHm;(+oaP^Oiw?M|A!_a_9Z zoAdRk#pSGGKUBq~S~nt0+=iFJZkgQi3Qd?9wvdr$1Y4FhRSn0SNOF#6w>M~DJXG(Z zfj(+HD4rq%yPWzWYQFbhMPF{ciGL9x`Vw-O>79o$(x`Pdrl+!;=hM))3-r*ZX~Y~a z=tPqZf0hoRtX3W$yM32T{sw{!qU`+*s|BECWbzA`)ydW-F~a1MaG}b zakao1dNCKs2XeH)5G`;UE1)-TI=_?1I6(eT@h94fjD!OM9M$e$;C8C&X6fRx272ZV ziglQ-LKc+N;H@WCi;OEfT~_QQDsCw9R;>)W^*+J0#D*5Cu9~ROAoQldt2e7v7OPsT zQmri2A=&`?8yM5Vu|>DKyS3eV5p`;T0b1Y|GW)avxmrLh%>Iu$=BR2^v!8;5i7gR9@n=8m!DgJYDdjZFd9~*43u$S3+ zLPxQFpU}FJF8$y{d-Om8)8JzUrH%VG#4J4=v&xHPO%0A)x*oU6OX9o~Fmt8MEer&f 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

    ZVyyEZ2T+4Xw0E{VMo%P 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�yEmxYZvlW!OGDqk&l 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 Qj8ul({rX4RF~98)<3kXY{W6`~3kBZx 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�{S8%;V@MWcmwQm`-^Z2Bn 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 dS4z`Q|%#iY|q9|Ul|jPAl!FK}G- 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

    feq-YWz$a)!JG_&|L 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ξi& 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�Jj0hL^4hSk+0i9;XXp|IH2EGjx@2{l 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

    J>W~n5=Ws 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

    SXPi2Rmed!ICCHds4iI zVCpoS7 zW>e>aN13hK4(VA{9S_Wo<@a1Wo`^Cpj!kYXz9PT>4%=4-o-Dj3R}3(K{TD?$*!zVa zX?6d)?AS=>QIx3ai7cOk-kTkc_7hbz0gX>G4jqM3!w}*clIcI)|24Eoz5}6HJhUlM zm8rkU#|-wCHFG4ES9*1_mMy5Is~G@$hBN`(Pf3M15p{FYZ9Bt295=jUpn+VPtX<0> zS38a2jnv|W#{oT$Y|LnA=9BQohBbvmI0WNJ)~*L*BTvkzNY`$}F*t?5k|`)T#T(%O zWdXigWCi+<9lbwg4lB8%{EL8pR`1$aC>;j>?s2?{X_b+`xp4QS8zzxenndKHa$q@ z`S(jry>s7;;dr zjzyM_Wp28LGQ@|Ge}0$9s$eL#I@$O+x|s^`Q`DMtH=c2N69ZvpvUhdw8l4j$ z|Cr&Ci@tA|3i4ISBpi}C0iMzB6n4o$kVHufIib!rk_|QV7B2d0Xr+zB35+5ZnJNN7 z5Jo$|Zb)_w(xtPl4YjR~#gk@}RH>miwCE$Jf8ZDX&_)VRXy_gME@htFMVY@MZINwr zy;HkZp=mm#z%+Q>UUcMMGp+6#kzCw;P4;naj_6%|z$NM}mx#L&$+oyIxUDR+xSQi^ zv&=%O(=MRbq{wVnfpSEhIBr?9{8NkkHP%-`c8ff?wp7cZ8}ef zlugqB#Yz;P$B+qu;WOZ5B;5j+i7fvJNGv_eT`x=^7=3Cxi9Vu)W;8{XUy72LP?jj+ zE1hJ6F?_K%5#7WZcvgO%Sy@TC;qo)G%7o7;U%SRDe`5eL3`mePaPS*WPG$^A!*AFH zUMR@`;h>vnll;xG=t;wXI6N;*3X7`lh<7)g59A|S%^CyeHR7G%x`j1ZjwCR!R%`6= z5oqf%zXaNDf%X$m8_;$>51iBkfiq~M{$IMzp%K#uI3WDk??XDwmfh%@rA?xis_qBA z1bL03eFy9at7u!>RH+TxcwTd|E4CA z%v@E+9=Llc9@(icrfXl8#uMPPI%DBMf0EJlS#ThQMfd}NWS)8xfMkU2!gee^3lam5 zHC5g9|KfP4#%_ACQ`L6Q1)UMp5%VNpS@yMe*E8BX<^HPkRZr#4pw&CBCnLcbv%d4! zF6G?sm)FROSkfwEA}=jSV9uHK&i?ktK`ck@BeV9$a z{Z3ka0Kdqvg2*t=LLOFK#@}fEs`;zo?`FqayjUfNvE@}seYW{!2Ob@`lk&a<`C+yE zm$h1Yl~(!hCyL%{o(fZybM)1~lz2+Q(mg1GGFHn6oaR>trCeo~#HOkF@i_&uT#jM^ zS4R%)oLv&JxQ~I+kiYFX1kNJuJd}VPiUu@&W7@Z9Vad z;bMP=4KoF`Y|3b48#WBvS4j1EADz!Cg?UEIqHz89x~`#3CG*irty1{JWuQDz0OV#_ zJH|-lxV2+$LQKcqSL4w=N|A9h+6Ec_q0aTR;3QZW^=+BA`r9&(YN(vC=-rPkBf}=E zG9VL;fM(xgV{y6BHH?IoLE}s40Y`rZrf7Lf+Pf9o+uBo~Kzkq|9R6S?puQ0$YnI`4 z2_^QjW(_e()~w+rR*mf+^lj~#jh#RKsxb(Viw-HB9{2(xUNENX==*FTluhcDF3T!Q zSrr3`DD!i`0i4OIxi}teO4c^@F>8E?*ulxHiB}zsEWaMkksXdPYjplXV>`f=`?2N> z_SyQ*ElaWnP9n5k2F`8n6wHY!6%1*uhUAq#icNx^Bzq+0h4CY_1;0XQ5ji7gz_D4Y z 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­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%0ASO>?CVHjQ!#BM$wfNzuB(- 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%0AZDrZLNx8~O(8^vpk6uKX`!|L;=zW)beznDtj{ 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 z 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

    M{etOLT)|=dP>5b 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

    K);lPcY!c+ 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 DzEr&t literal 0 HcmV?d00001 diff --git a/camera_lib/lib/opencv_imgcodecs480.lib b/camera_lib/lib/opencv_imgcodecs480.lib new file mode 100644 index 0000000000000000000000000000000000000000..04ea22e3a62d7f6e8f035ee9de1af11566927b24 GIT binary patch literal 159204 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 cVONsV3bvIS2S49F2AXxbiN_^G54>^#02pF literal 0 HcmV?d00001 diff --git a/camera_lib/lib/opencv_imgproc480.dll b/camera_lib/lib/opencv_imgproc480.dll new file mode 100644 index 0000000000000000000000000000000000000000..a50998be7c03464033cb5f970c7c7597f642d7e1 GIT binary patch literal 5698560 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

L2l&Bu9|P2%!WlR?5QMd`u(J&R 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%0DsASKqPS=vd7#DJ0*X8 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