// 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) 2020 by Archit Rungta // This header files hacks into the mapping code of CxxWrap to support automatic conversion between types from OpenCV and Julia #include #include "jlcxx/jlcxx.hpp" #include "jlcxx/functions.hpp" #include "jlcxx/stl.hpp" #include "jlcxx/array.hpp" #include "jlcxx/tuple.hpp" #include #include #include #include #include #include using namespace cv; using namespace std; using namespace jlcxx; #ifdef HAVE_OPENCV_HIGHGUI #include #endif #ifdef HAVE_OPENCV_IMGPROC #include #endif #ifdef HAVE_OPENCV_VIDEOIO #include #endif #ifdef HAVE_OPENCV_FEATURES2D #include typedef SimpleBlobDetector::Params SimpleBlobDetector_Params; typedef AKAZE::DescriptorType AKAZE_DescriptorType; typedef AgastFeatureDetector::DetectorType AgastFeatureDetector_DetectorType; typedef FastFeatureDetector::DetectorType FastFeatureDetector_DetectorType; typedef DescriptorMatcher::MatcherType DescriptorMatcher_MatcherType; typedef KAZE::DiffusivityType KAZE_DiffusivityType; typedef ORB::ScoreType ORB_ScoreType; #endif #ifdef HAVE_OPENCV_OBJDETECT #include typedef HOGDescriptor::HistogramNormType HOGDescriptor_HistogramNormType; typedef HOGDescriptor::DescriptorStorageFormat HOGDescriptor_DescriptorStorageFormat; #endif #ifdef HAVE_OPENCV_FLANN typedef cvflann::flann_distance_t cvflann_flann_distance_t; typedef cvflann::flann_algorithm_t cvflann_flann_algorithm_t; typedef flann::IndexParams flann_IndexParams; typedef flann::SearchParams flann_SearchParams; #endif #ifdef HAVE_OPENCV_DNN #include typedef cv::dnn::DictValue LayerId; typedef cv::dnn::Backend dnn_Backend; typedef cv::dnn::Target dnn_Target; #endif #ifdef HAVE_OPENCV_CALIB3D #include #endif template struct get_template_type; template struct get_template_type_vec; template