From 692d807fa09e5e2794810aaa3a4fd299da51993a Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Sat, 20 Jul 2013 00:15:28 +0530 Subject: [PATCH 01/10] gabor filter docs Bug#1894 --- modules/imgproc/doc/filtering.rst | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/modules/imgproc/doc/filtering.rst b/modules/imgproc/doc/filtering.rst index 2465ac9a4..b7c90792d 100755 --- a/modules/imgproc/doc/filtering.rst +++ b/modules/imgproc/doc/filtering.rst @@ -947,7 +947,7 @@ Returns Gaussian filter coefficients. :param ksize: Aperture size. It should be odd ( :math:`\texttt{ksize} \mod 2 = 1` ) 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`` . + :param ktype: Type of filter coefficients. It can be ``CV_32F`` or ``CV_64F`` . The function computes and returns the :math:`\texttt{ksize} \times 1` matrix of Gaussian filter coefficients: @@ -976,6 +976,32 @@ Two of such generated kernels can be passed to +getGaborKernel +----------------- +Returns Gabor filter coefficients. + +.. ocv:function:: Mat getGaborKernel( Size ksize, double sigma, double theta, double lambd, double gamma, double psi = CV_PI*0.5, int ktype = CV_64F ) + +.. ocv:pyfunction:: cv2.getGaborKernel(ksize, sigma, theta, lambd, gamma[, psi[, ktype]]) -> retval + + :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`` . + +For more details about gabor filter equations and parameters, see: `Gabor Filter `_. + + + getKernelType ------------- Returns the kernel type. From f36b9940e84772a54055c9611c510a0d62f250cb Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Sat, 20 Jul 2013 14:07:19 +0530 Subject: [PATCH 02/10] ref in inpainting docs --- modules/photo/doc/inpainting.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/photo/doc/inpainting.rst b/modules/photo/doc/inpainting.rst index 9b6626613..9c46517d0 100644 --- a/modules/photo/doc/inpainting.rst +++ b/modules/photo/doc/inpainting.rst @@ -23,10 +23,14 @@ Restores the selected region in an image using the region neighborhood. :param flags: Inpainting method that could be one of the following: - * **INPAINT_NS** Navier-Stokes based method. + * **INPAINT_NS** Navier-Stokes based method [Navier01] * **INPAINT_TELEA** Method by Alexandru Telea [Telea04]_. The function reconstructs the selected image area from the pixel near the area boundary. The function may be used to remove dust and scratches from a scanned photo, or to remove undesirable objects from still images or video. See http://en.wikipedia.org/wiki/Inpainting for more details. + +.. [Telea04] Telea, Alexandru. "An image inpainting technique based on the fast marching method." Journal of graphics tools 9, no. 1 (2004): 23-34. + +.. [Navier01] Bertalmio, Marcelo, Andrea L. Bertozzi, and Guillermo Sapiro. "Navier-stokes, fluid dynamics, and image and video inpainting." In Computer Vision and Pattern Recognition, 2001. CVPR 2001. Proceedings of the 2001 IEEE Computer Society Conference on, vol. 1, pp. I-355. IEEE, 2001. From 297b67d2b11bcdb639fc35760c410777f31d4f6a Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Sun, 21 Jul 2013 13:40:11 +0530 Subject: [PATCH 03/10] pydocs for cv2.findTransformECC --- modules/video/doc/motion_analysis_and_object_tracking.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/video/doc/motion_analysis_and_object_tracking.rst b/modules/video/doc/motion_analysis_and_object_tracking.rst index aef1ba4e9..f6a0438d2 100644 --- a/modules/video/doc/motion_analysis_and_object_tracking.rst +++ b/modules/video/doc/motion_analysis_and_object_tracking.rst @@ -158,6 +158,8 @@ Finds the geometric transform (warp) between two images in terms of the ECC crit .. ocv:function:: double findTransformECC( InputArray templateImage, InputArray inputImage, InputOutputArray warpMatrix, int motionType=MOTION_AFFINE, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 50, 0.001)) +.. ocv:pyfunction:: cv2.findTransformECC(templateImage, inputImage, warpMatrix[, motionType[, criteria]]) -> retval, warpMatrix + :param templateImage: single-channel template image; ``CV_8U`` or ``CV_32F`` array. :param inputImage: single-channel input image which should be warped with the final ``warpMatrix`` in order to provide an image similar to ``templateImage``, same type as ``temlateImage``. From 4ac2db271d66bab4065e645c19fa2d229b5a2722 Mon Sep 17 00:00:00 2001 From: Roman Donchenko Date: Thu, 25 Jul 2013 19:40:08 +0400 Subject: [PATCH 04/10] Removed CV_EXPORTS from all template classes (that I could find). It doesn't make sense to export template classes, since there's no way the user can learn that it can import them. In fact, it is somewhat deleterious, because every module will export every instantiation that it uses, but doesn't inline. --- modules/core/include/opencv2/core/base.hpp | 28 +++++++++---------- modules/core/include/opencv2/core/core_c.h | 4 +-- modules/core/include/opencv2/core/cvstd.hpp | 4 +-- modules/core/include/opencv2/core/mat.hpp | 6 ++-- modules/core/include/opencv2/core/matx.hpp | 4 +-- modules/core/include/opencv2/core/types.hpp | 12 ++++---- modules/core/include/opencv2/core/utility.hpp | 2 +- .../features2d/include/opencv2/features2d.hpp | 2 +- 8 files changed, 31 insertions(+), 31 deletions(-) diff --git a/modules/core/include/opencv2/core/base.hpp b/modules/core/include/opencv2/core/base.hpp index 637ecdf51..986e57e53 100644 --- a/modules/core/include/opencv2/core/base.hpp +++ b/modules/core/include/opencv2/core/base.hpp @@ -449,15 +449,15 @@ _AccTp normInf(const _Tp* a, const _Tp* b, int n) ////////////////// forward declarations for important OpenCV types ////////////////// -template class CV_EXPORTS Vec; -template class CV_EXPORTS Matx; +template class Vec; +template class Matx; -template class CV_EXPORTS Complex; -template class CV_EXPORTS Point_; -template class CV_EXPORTS Point3_; -template class CV_EXPORTS Size_; -template class CV_EXPORTS Rect_; -template class CV_EXPORTS Scalar_; +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; @@ -472,16 +472,16 @@ class CV_EXPORTS MatExpr; class CV_EXPORTS SparseMat; typedef Mat MatND; -template class CV_EXPORTS Mat_; -template class CV_EXPORTS SparseMat_; +template class Mat_; +template class SparseMat_; class CV_EXPORTS MatConstIterator; class CV_EXPORTS SparseMatIterator; class CV_EXPORTS SparseMatConstIterator; -template class CV_EXPORTS MatIterator_; -template class CV_EXPORTS MatConstIterator_; -template class CV_EXPORTS SparseMatIterator_; -template class CV_EXPORTS SparseMatConstIterator_; +template class MatIterator_; +template class MatConstIterator_; +template class SparseMatIterator_; +template class SparseMatConstIterator_; namespace ogl { diff --git a/modules/core/include/opencv2/core/core_c.h b/modules/core/include/opencv2/core/core_c.h index 0ed3edec6..74a1e403a 100644 --- a/modules/core/include/opencv2/core/core_c.h +++ b/modules/core/include/opencv2/core/core_c.h @@ -1906,7 +1906,7 @@ typedef Ptr MemStorage; i.e. no constructors or destructors are called for the sequence elements. */ -template class CV_EXPORTS Seq +template class Seq { public: typedef SeqIterator<_Tp> iterator; @@ -1989,7 +1989,7 @@ public: /*! STL-style Sequence Iterator inherited from the CvSeqReader structure */ -template class CV_EXPORTS SeqIterator : public CvSeqReader +template class SeqIterator : public CvSeqReader { public: //! the default constructor diff --git a/modules/core/include/opencv2/core/cvstd.hpp b/modules/core/include/opencv2/core/cvstd.hpp index 0f96941df..5014dba0f 100644 --- a/modules/core/include/opencv2/core/cvstd.hpp +++ b/modules/core/include/opencv2/core/cvstd.hpp @@ -127,7 +127,7 @@ CV_EXPORTS void fastFree(void* ptr); /*! The STL-compilant memory Allocator based on cv::fastMalloc() and cv::fastFree() */ -template class CV_EXPORTS Allocator +template class Allocator { public: typedef _Tp value_type; @@ -183,7 +183,7 @@ public: \note{Another good property of the class is that the operations on the reference counter are atomic, i.e. it is safe to use the class in multi-threaded applications} */ -template class CV_EXPORTS Ptr +template class Ptr { public: //! empty constructor diff --git a/modules/core/include/opencv2/core/mat.hpp b/modules/core/include/opencv2/core/mat.hpp index d5826a9b6..9d0f4c85c 100644 --- a/modules/core/include/opencv2/core/mat.hpp +++ b/modules/core/include/opencv2/core/mat.hpp @@ -828,7 +828,7 @@ protected: img(i,j)[2] ^= (uchar)(i ^ j); // img(y,x)[c] accesses c-th channel of the pixel (x,y) \endcode */ -template class CV_EXPORTS Mat_ : public Mat +template class Mat_ : public Mat { public: typedef _Tp value_type; @@ -1355,7 +1355,7 @@ public: m_.ref(2) += m_(3); // equivalent to m.ref(2) += m.value(3); \endcode */ -template class CV_EXPORTS SparseMat_ : public SparseMat +template class SparseMat_ : public SparseMat { public: typedef SparseMatIterator_<_Tp> iterator; @@ -1727,7 +1727,7 @@ public: This is the derived from cv::SparseMatConstIterator_ class that introduces more convenient operator *() for accessing the current element. */ -template class CV_EXPORTS SparseMatIterator_ : public SparseMatConstIterator_<_Tp> +template class SparseMatIterator_ : public SparseMatConstIterator_<_Tp> { public: diff --git a/modules/core/include/opencv2/core/matx.hpp b/modules/core/include/opencv2/core/matx.hpp index 19a4d28e4..86a35cd75 100644 --- a/modules/core/include/opencv2/core/matx.hpp +++ b/modules/core/include/opencv2/core/matx.hpp @@ -81,7 +81,7 @@ struct CV_EXPORTS Matx_DivOp {}; struct CV_EXPORTS Matx_MatMulOp {}; struct CV_EXPORTS Matx_TOp {}; -template class CV_EXPORTS Matx +template class Matx { public: enum { depth = DataType<_Tp>::depth, @@ -286,7 +286,7 @@ template static double norm(const Matx<_Tp, m, n>& M 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. */ -template class CV_EXPORTS Vec : public Matx<_Tp, cn, 1> +template class Vec : public Matx<_Tp, cn, 1> { public: typedef _Tp value_type; diff --git a/modules/core/include/opencv2/core/types.hpp b/modules/core/include/opencv2/core/types.hpp index 05cf5052f..67e551e62 100644 --- a/modules/core/include/opencv2/core/types.hpp +++ b/modules/core/include/opencv2/core/types.hpp @@ -68,7 +68,7 @@ namespace cv 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 CV_EXPORTS Complex +template class Complex { public: @@ -120,7 +120,7 @@ public: as a template parameter. There are a few shorter aliases available for user convenience. See cv::Point, cv::Point2i, cv::Point2f and cv::Point2d. */ -template class CV_EXPORTS Point_ +template class Point_ { public: typedef _Tp value_type; @@ -191,7 +191,7 @@ public: \see cv::Point3i, cv::Point3f and cv::Point3d */ -template class CV_EXPORTS Point3_ +template class Point3_ { public: typedef _Tp value_type; @@ -256,7 +256,7 @@ public: The class represents the size of a 2D rectangle, image size, matrix size etc. Normally, cv::Size ~ cv::Size_ is used. */ -template class CV_EXPORTS Size_ +template class Size_ { public: typedef _Tp value_type; @@ -314,7 +314,7 @@ public: The class represents a 2D rectangle with coordinates of the specified data type. Normally, cv::Rect ~ cv::Rect_ is used. */ -template class CV_EXPORTS Rect_ +template class Rect_ { public: typedef _Tp value_type; @@ -470,7 +470,7 @@ public: This is partially specialized cv::Vec class with the number of elements = 4, i.e. a short vector of four elements. Normally, cv::Scalar ~ cv::Scalar_ is used. */ -template class CV_EXPORTS Scalar_ : public Vec<_Tp, 4> +template class Scalar_ : public Vec<_Tp, 4> { public: //! various constructors diff --git a/modules/core/include/opencv2/core/utility.hpp b/modules/core/include/opencv2/core/utility.hpp index d2942f8c5..5cc538623 100644 --- a/modules/core/include/opencv2/core/utility.hpp +++ b/modules/core/include/opencv2/core/utility.hpp @@ -80,7 +80,7 @@ namespace cv } \endcode */ -template class CV_EXPORTS AutoBuffer +template class AutoBuffer { public: typedef _Tp value_type; diff --git a/modules/features2d/include/opencv2/features2d.hpp b/modules/features2d/include/opencv2/features2d.hpp index 1f0a92c18..4e3f3b80a 100644 --- a/modules/features2d/include/opencv2/features2d.hpp +++ b/modules/features2d/include/opencv2/features2d.hpp @@ -961,7 +961,7 @@ struct CV_EXPORTS Hamming typedef Hamming HammingLUT; -template struct CV_EXPORTS HammingMultilevel +template struct HammingMultilevel { enum { normType = NORM_HAMMING + (cellsize>1) }; typedef unsigned char ValueType; From 29ddbbaa86a3b04aab9ecf30390a592d447b6347 Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Tue, 30 Jul 2013 00:27:58 +0530 Subject: [PATCH 05/10] epilines pydocs --- .../calib3d/doc/camera_calibration_and_3d_reconstruction.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst b/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst index f2fbfd1d9..13effbdd6 100644 --- a/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst +++ b/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst @@ -277,6 +277,8 @@ For points in an image of a stereo pair, computes the corresponding epilines in .. ocv:cfunction:: void cvComputeCorrespondEpilines( const CvMat* points, int which_image, const CvMat* fundamental_matrix, CvMat* correspondent_lines ) +.. ocv:pyfunction:: cv2.computeCorrespondEpilines(points, whichImage, F[, lines]) -> lines + :param points: Input points. :math:`N \times 1` or :math:`1 \times N` matrix of type ``CV_32FC2`` or ``vector`` . :param whichImage: Index of the image (1 or 2) that contains the ``points`` . From 9628bb0b44d6de3391bfbbec3eead6179485e090 Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Tue, 30 Jul 2013 06:46:59 +0530 Subject: [PATCH 06/10] morphologyex docs bug#2169 --- modules/imgproc/doc/filtering.rst | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/modules/imgproc/doc/filtering.rst b/modules/imgproc/doc/filtering.rst index b7c90792d..635a3b130 100755 --- a/modules/imgproc/doc/filtering.rst +++ b/modules/imgproc/doc/filtering.rst @@ -755,7 +755,7 @@ Dilates an image by using a specific structuring element. :param dst: output image of the same size and type as ``src``. - :param element: structuring element used for dilation; if ``element=Mat()`` , a ``3 x 3`` rectangular structuring element is used. + :param kernel: structuring element used for dilation; if ``element=Mat()`` , a ``3 x 3`` rectangular structuring element is used. Kernel can be created using :ocv:func:`getStructuringElement` :param anchor: position of the anchor within the element; default value ``(-1, -1)`` means that the anchor is at the element center. @@ -778,7 +778,8 @@ The function supports the in-place mode. Dilation can be applied several ( ``ite :ocv:func:`erode`, :ocv:func:`morphologyEx`, :ocv:func:`createMorphologyFilter` - + :ocv:func:`getStructuringElement` + erode ----- @@ -794,7 +795,7 @@ Erodes an image by using a specific structuring element. :param dst: output image of the same size and type as ``src``. - :param element: structuring element used for erosion; if ``element=Mat()`` , a ``3 x 3`` rectangular structuring element is used. + :param kernel: structuring element used for erosion; if ``element=Mat()`` , a ``3 x 3`` rectangular structuring element is used. Kernel can be created using :ocv:func:`getStructuringElement`. :param anchor: position of the anchor within the element; default value ``(-1, -1)`` means that the anchor is at the element center. @@ -816,7 +817,8 @@ The function supports the in-place mode. Erosion can be applied several ( ``iter :ocv:func:`dilate`, :ocv:func:`morphologyEx`, - :ocv:func:`createMorphologyFilter` + :ocv:func:`createMorphologyFilter`, + :ocv:func:`getStructuringElement` @@ -1116,7 +1118,9 @@ Performs advanced morphological transformations. :param dst: Destination image of the same size and type as ``src`` . - :param element: Structuring element. + :param kernel: Structuring element. It can be created using :ocv:func:`getStructuringElement`. + + :param anchor: Anchor position with the kernel. Negative values mean that the anchor is at the kernel center. :param op: Type of a morphological operation that can be one of the following: @@ -1174,7 +1178,8 @@ Any of the operations can be done in-place. In case of multi-channel images, eac :ocv:func:`dilate`, :ocv:func:`erode`, - :ocv:func:`createMorphologyFilter` + :ocv:func:`createMorphologyFilter`, + :ocv:func:`getStructuringElement` Laplacian From fa1b96bd365d89df92cfdceb049bb4accc31a412 Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Tue, 30 Jul 2013 07:00:51 +0530 Subject: [PATCH 07/10] imshow docs improvement bug#2490 --- modules/highgui/doc/user_interface.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/highgui/doc/user_interface.rst b/modules/highgui/doc/user_interface.rst index e4276718b..b511c5296 100644 --- a/modules/highgui/doc/user_interface.rst +++ b/modules/highgui/doc/user_interface.rst @@ -75,6 +75,7 @@ The function ``imshow`` displays an image in the specified window. If the window * If the image is 32-bit floating-point, the pixel values are multiplied by 255. That is, the value range [0,1] is mapped to [0,255]. +This function should be followed by ``waitKey`` function which displays the image for specified milliseconds. Otherwise, it won't display the image. namedWindow --------------- From 1b93ecfae810cfcac2a7969f537cebb63d5721b5 Mon Sep 17 00:00:00 2001 From: abidrahmank Date: Tue, 13 Aug 2013 22:07:44 +0530 Subject: [PATCH 08/10] docs changes --- modules/imgproc/doc/miscellaneous_transformations.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/imgproc/doc/miscellaneous_transformations.rst b/modules/imgproc/doc/miscellaneous_transformations.rst index 20e9be67a..1fc4d68cc 100644 --- a/modules/imgproc/doc/miscellaneous_transformations.rst +++ b/modules/imgproc/doc/miscellaneous_transformations.rst @@ -799,7 +799,6 @@ See the sample ``grabcut.cpp`` to learn how to use the function. .. [Meyer92] Meyer, F. *Color Image Segmentation*, ICIP92, 1992 -.. [Telea04] Alexandru Telea, *An Image Inpainting Technique Based on the Fast Marching Method*. Journal of Graphics, GPU, and Game Tools 9 1, pp 23-34 (2004) .. Sample code:: From b595d73d6d4246a46e9950819f1dbdc1e2ef91ce Mon Sep 17 00:00:00 2001 From: Miroslav Kobetski Date: Mon, 12 Aug 2013 20:08:06 +0200 Subject: [PATCH 09/10] defined uint for non-windows platforms too. replaced isnan for cvIsNaN. --- cmake/OpenCVFindLibsGUI.cmake | 2 +- modules/core/include/opencv2/core/cvdef.h | 1 + modules/stitching/src/motion_estimators.cpp | 10 ++-------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/cmake/OpenCVFindLibsGUI.cmake b/cmake/OpenCVFindLibsGUI.cmake index 04c77d8ec..270853aee 100644 --- a/cmake/OpenCVFindLibsGUI.cmake +++ b/cmake/OpenCVFindLibsGUI.cmake @@ -70,7 +70,7 @@ endif(WITH_OPENGL) if(APPLE) if(WITH_CARBON) set(HAVE_CARBON YES) - elif(NOT IOS) + elseif(NOT IOS) set(HAVE_COCOA YES) endif() endif() diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h index 5a70d38a7..2130157e7 100644 --- a/modules/core/include/opencv2/core/cvdef.h +++ b/modules/core/include/opencv2/core/cvdef.h @@ -204,6 +204,7 @@ # else # include # endif + typedef uint32_t uint; #else typedef unsigned uint; #endif diff --git a/modules/stitching/src/motion_estimators.cpp b/modules/stitching/src/motion_estimators.cpp index abd43b11f..7ceb49584 100644 --- a/modules/stitching/src/motion_estimators.cpp +++ b/modules/stitching/src/motion_estimators.cpp @@ -42,13 +42,7 @@ #include "precomp.hpp" #include "opencv2/calib3d/calib3d_c.h" - -#ifdef _MSC_VER - #include - #define isnan(x) _isnan(x) -#else - #include -#endif +#include "opencv2/core/cvdef.h" using namespace cv; using namespace cv::detail; @@ -259,7 +253,7 @@ bool BundleAdjusterBase::estimate(const std::vector &features, bool ok = true; for (int i = 0; i < cam_params_.rows; ++i) { - if (isnan(cam_params_.at(i,0))) + if (cvIsNaN(cam_params_.at(i,0))) { ok = false; break; From ed29d91d42b19fb61cc4ef12e061e131f23bc5d6 Mon Sep 17 00:00:00 2001 From: kamjagin Date: Wed, 14 Aug 2013 11:25:49 +0200 Subject: [PATCH 10/10] adding std to cstdint typedef of uint32_t --- cmake/OpenCVFindLibsGUI.cmake | 2 +- modules/core/include/opencv2/core/cvdef.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/OpenCVFindLibsGUI.cmake b/cmake/OpenCVFindLibsGUI.cmake index 270853aee..04c77d8ec 100644 --- a/cmake/OpenCVFindLibsGUI.cmake +++ b/cmake/OpenCVFindLibsGUI.cmake @@ -70,7 +70,7 @@ endif(WITH_OPENGL) if(APPLE) if(WITH_CARBON) set(HAVE_CARBON YES) - elseif(NOT IOS) + elif(NOT IOS) set(HAVE_COCOA YES) endif() endif() diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h index 2130157e7..46f294962 100644 --- a/modules/core/include/opencv2/core/cvdef.h +++ b/modules/core/include/opencv2/core/cvdef.h @@ -201,10 +201,11 @@ #if !defined _MSC_VER && !defined __BORLANDC__ # if defined __cplusplus && __cplusplus >= 201103L # include + typedef std::uint32_t uint; # else # include + typedef uint32_t uint; # endif - typedef uint32_t uint; #else typedef unsigned uint; #endif