node-native-win-utils 1.4.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/README.md +29 -82
  2. package/binding.gyp +2 -0
  3. package/dist/dirnameLocal.cjs +4 -0
  4. package/dist/dirnameLocal.d.cts +1 -0
  5. package/dist/dirnameLocal.d.mts +1 -0
  6. package/dist/dirnameLocal.mjs +2 -0
  7. package/dist/{index.js → index.cjs} +46 -15
  8. package/dist/{index.d.ts → index.d.cts} +24 -12
  9. package/dist/index.d.mts +191 -0
  10. package/dist/index.mjs +177 -0
  11. package/dist/keyCodes.d.mts +101 -0
  12. package/dist/keyCodes.mjs +201 -0
  13. package/node22.json +16 -0
  14. package/package.json +19 -9
  15. package/prebuilds/win32-x64/node-native-win-utils.node +0 -0
  16. package/src/cpp/keyboard.cpp +141 -140
  17. package/src/cpp/main.cpp +9 -3
  18. package/src/cpp/{capturewindow.cpp → screenshot.cpp} +174 -2
  19. package/src/dirnameLocal.mts +3 -0
  20. package/src/index.mts +454 -0
  21. package/src/keyCodes.mts +203 -0
  22. package/dllCopy.js +0 -14
  23. package/include/opencv2/core/affine.hpp +0 -678
  24. package/include/opencv2/core/async.hpp +0 -105
  25. package/include/opencv2/core/base.hpp +0 -664
  26. package/include/opencv2/core/bindings_utils.hpp +0 -325
  27. package/include/opencv2/core/bufferpool.hpp +0 -40
  28. package/include/opencv2/core/check.hpp +0 -170
  29. package/include/opencv2/core/core.hpp +0 -48
  30. package/include/opencv2/core/core_c.h +0 -3128
  31. package/include/opencv2/core/cuda/block.hpp +0 -211
  32. package/include/opencv2/core/cuda/border_interpolate.hpp +0 -722
  33. package/include/opencv2/core/cuda/color.hpp +0 -309
  34. package/include/opencv2/core/cuda/common.hpp +0 -131
  35. package/include/opencv2/core/cuda/datamov_utils.hpp +0 -113
  36. package/include/opencv2/core/cuda/detail/color_detail.hpp +0 -2018
  37. package/include/opencv2/core/cuda/detail/reduce.hpp +0 -365
  38. package/include/opencv2/core/cuda/detail/reduce_key_val.hpp +0 -502
  39. package/include/opencv2/core/cuda/detail/transform_detail.hpp +0 -392
  40. package/include/opencv2/core/cuda/detail/type_traits_detail.hpp +0 -191
  41. package/include/opencv2/core/cuda/detail/vec_distance_detail.hpp +0 -121
  42. package/include/opencv2/core/cuda/dynamic_smem.hpp +0 -88
  43. package/include/opencv2/core/cuda/emulation.hpp +0 -269
  44. package/include/opencv2/core/cuda/filters.hpp +0 -293
  45. package/include/opencv2/core/cuda/funcattrib.hpp +0 -79
  46. package/include/opencv2/core/cuda/functional.hpp +0 -805
  47. package/include/opencv2/core/cuda/limits.hpp +0 -128
  48. package/include/opencv2/core/cuda/reduce.hpp +0 -209
  49. package/include/opencv2/core/cuda/saturate_cast.hpp +0 -292
  50. package/include/opencv2/core/cuda/scan.hpp +0 -258
  51. package/include/opencv2/core/cuda/simd_functions.hpp +0 -869
  52. package/include/opencv2/core/cuda/transform.hpp +0 -75
  53. package/include/opencv2/core/cuda/type_traits.hpp +0 -90
  54. package/include/opencv2/core/cuda/utility.hpp +0 -230
  55. package/include/opencv2/core/cuda/vec_distance.hpp +0 -232
  56. package/include/opencv2/core/cuda/vec_math.hpp +0 -923
  57. package/include/opencv2/core/cuda/vec_traits.hpp +0 -288
  58. package/include/opencv2/core/cuda/warp.hpp +0 -139
  59. package/include/opencv2/core/cuda/warp_reduce.hpp +0 -76
  60. package/include/opencv2/core/cuda/warp_shuffle.hpp +0 -162
  61. package/include/opencv2/core/cuda.hpp +0 -1279
  62. package/include/opencv2/core/cuda.inl.hpp +0 -763
  63. package/include/opencv2/core/cuda_stream_accessor.hpp +0 -86
  64. package/include/opencv2/core/cuda_types.hpp +0 -144
  65. package/include/opencv2/core/cv_cpu_dispatch.h +0 -381
  66. package/include/opencv2/core/cv_cpu_helper.h +0 -550
  67. package/include/opencv2/core/cvdef.h +0 -973
  68. package/include/opencv2/core/cvstd.hpp +0 -190
  69. package/include/opencv2/core/cvstd.inl.hpp +0 -197
  70. package/include/opencv2/core/cvstd_wrapper.hpp +0 -154
  71. package/include/opencv2/core/detail/async_promise.hpp +0 -71
  72. package/include/opencv2/core/detail/dispatch_helper.impl.hpp +0 -49
  73. package/include/opencv2/core/detail/exception_ptr.hpp +0 -27
  74. package/include/opencv2/core/directx.hpp +0 -184
  75. package/include/opencv2/core/dualquaternion.hpp +0 -979
  76. package/include/opencv2/core/dualquaternion.inl.hpp +0 -487
  77. package/include/opencv2/core/eigen.hpp +0 -402
  78. package/include/opencv2/core/fast_math.hpp +0 -433
  79. package/include/opencv2/core/hal/hal.hpp +0 -256
  80. package/include/opencv2/core/hal/interface.h +0 -190
  81. package/include/opencv2/core/hal/intrin.hpp +0 -939
  82. package/include/opencv2/core/hal/intrin_avx.hpp +0 -3177
  83. package/include/opencv2/core/hal/intrin_avx512.hpp +0 -3090
  84. package/include/opencv2/core/hal/intrin_cpp.hpp +0 -3321
  85. package/include/opencv2/core/hal/intrin_forward.hpp +0 -191
  86. package/include/opencv2/core/hal/intrin_lasx.hpp +0 -3236
  87. package/include/opencv2/core/hal/intrin_msa.hpp +0 -1887
  88. package/include/opencv2/core/hal/intrin_neon.hpp +0 -2610
  89. package/include/opencv2/core/hal/intrin_rvv.hpp +0 -3320
  90. package/include/opencv2/core/hal/intrin_rvv071.hpp +0 -2545
  91. package/include/opencv2/core/hal/intrin_rvv_scalable.hpp +0 -2080
  92. package/include/opencv2/core/hal/intrin_sse.hpp +0 -3467
  93. package/include/opencv2/core/hal/intrin_sse_em.hpp +0 -180
  94. package/include/opencv2/core/hal/intrin_vsx.hpp +0 -1608
  95. package/include/opencv2/core/hal/intrin_wasm.hpp +0 -2782
  96. package/include/opencv2/core/hal/msa_macros.h +0 -1558
  97. package/include/opencv2/core/hal/simd_utils.impl.hpp +0 -186
  98. package/include/opencv2/core/llapi/llapi.h +0 -102
  99. package/include/opencv2/core/mat.hpp +0 -3775
  100. package/include/opencv2/core/mat.inl.hpp +0 -3422
  101. package/include/opencv2/core/matx.hpp +0 -1536
  102. package/include/opencv2/core/neon_utils.hpp +0 -128
  103. package/include/opencv2/core/ocl.hpp +0 -917
  104. package/include/opencv2/core/ocl_genbase.hpp +0 -69
  105. package/include/opencv2/core/opencl/ocl_defs.hpp +0 -82
  106. package/include/opencv2/core/opencl/opencl_info.hpp +0 -212
  107. package/include/opencv2/core/opencl/opencl_svm.hpp +0 -81
  108. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clblas.hpp +0 -602
  109. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_clfft.hpp +0 -146
  110. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp +0 -371
  111. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp +0 -272
  112. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp +0 -62
  113. package/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp +0 -42
  114. package/include/opencv2/core/opencl/runtime/opencl_clblas.hpp +0 -53
  115. package/include/opencv2/core/opencl/runtime/opencl_clfft.hpp +0 -53
  116. package/include/opencv2/core/opencl/runtime/opencl_core.hpp +0 -84
  117. package/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp +0 -47
  118. package/include/opencv2/core/opencl/runtime/opencl_gl.hpp +0 -53
  119. package/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp +0 -47
  120. package/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp +0 -48
  121. package/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp +0 -42
  122. package/include/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp +0 -166
  123. package/include/opencv2/core/opengl.hpp +0 -733
  124. package/include/opencv2/core/openvx/ovx_defs.hpp +0 -48
  125. package/include/opencv2/core/operations.hpp +0 -610
  126. package/include/opencv2/core/optim.hpp +0 -302
  127. package/include/opencv2/core/ovx.hpp +0 -28
  128. package/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp +0 -72
  129. package/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp +0 -153
  130. package/include/opencv2/core/parallel/parallel_backend.hpp +0 -90
  131. package/include/opencv2/core/persistence.hpp +0 -1350
  132. package/include/opencv2/core/private/cv_cpu_include_simd_declarations.hpp +0 -30
  133. package/include/opencv2/core/private.cuda.hpp +0 -169
  134. package/include/opencv2/core/private.hpp +0 -896
  135. package/include/opencv2/core/quaternion.hpp +0 -1696
  136. package/include/opencv2/core/quaternion.inl.hpp +0 -1063
  137. package/include/opencv2/core/saturate.hpp +0 -180
  138. package/include/opencv2/core/simd_intrinsics.hpp +0 -87
  139. package/include/opencv2/core/softfloat.hpp +0 -514
  140. package/include/opencv2/core/sse_utils.hpp +0 -652
  141. package/include/opencv2/core/traits.hpp +0 -417
  142. package/include/opencv2/core/types.hpp +0 -2457
  143. package/include/opencv2/core/types_c.h +0 -2126
  144. package/include/opencv2/core/utility.hpp +0 -1229
  145. package/include/opencv2/core/utils/allocator_stats.hpp +0 -29
  146. package/include/opencv2/core/utils/allocator_stats.impl.hpp +0 -158
  147. package/include/opencv2/core/utils/buffer_area.private.hpp +0 -136
  148. package/include/opencv2/core/utils/configuration.private.hpp +0 -22
  149. package/include/opencv2/core/utils/filesystem.hpp +0 -82
  150. package/include/opencv2/core/utils/filesystem.private.hpp +0 -66
  151. package/include/opencv2/core/utils/fp_control.private.hpp +0 -29
  152. package/include/opencv2/core/utils/fp_control_utils.hpp +0 -69
  153. package/include/opencv2/core/utils/instrumentation.hpp +0 -125
  154. package/include/opencv2/core/utils/lock.private.hpp +0 -119
  155. package/include/opencv2/core/utils/logger.defines.hpp +0 -42
  156. package/include/opencv2/core/utils/logger.hpp +0 -218
  157. package/include/opencv2/core/utils/logtag.hpp +0 -28
  158. package/include/opencv2/core/utils/plugin_loader.private.hpp +0 -165
  159. package/include/opencv2/core/utils/tls.hpp +0 -235
  160. package/include/opencv2/core/utils/trace.hpp +0 -252
  161. package/include/opencv2/core/utils/trace.private.hpp +0 -421
  162. package/include/opencv2/core/va_intel.hpp +0 -75
  163. package/include/opencv2/core/version.hpp +0 -26
  164. package/include/opencv2/core/vsx_utils.hpp +0 -1047
  165. package/include/opencv2/core.hpp +0 -3365
  166. package/include/opencv2/imgcodecs/imgcodecs.hpp +0 -48
  167. package/include/opencv2/imgcodecs/imgcodecs_c.h +0 -1
  168. package/include/opencv2/imgcodecs/ios.h +0 -59
  169. package/include/opencv2/imgcodecs/legacy/constants_c.h +0 -54
  170. package/include/opencv2/imgcodecs/macosx.h +0 -20
  171. package/include/opencv2/imgcodecs.hpp +0 -407
  172. package/include/opencv2/imgproc/bindings.hpp +0 -34
  173. package/include/opencv2/imgproc/detail/gcgraph.hpp +0 -395
  174. package/include/opencv2/imgproc/hal/hal.hpp +0 -246
  175. package/include/opencv2/imgproc/hal/interface.h +0 -46
  176. package/include/opencv2/imgproc/imgproc.hpp +0 -48
  177. package/include/opencv2/imgproc/imgproc_c.h +0 -1177
  178. package/include/opencv2/imgproc/segmentation.hpp +0 -141
  179. package/include/opencv2/imgproc/types_c.h +0 -659
  180. package/include/opencv2/imgproc.hpp +0 -5035
  181. package/include/opencv2/opencv_modules.hpp +0 -17
  182. package/include/tesseract/baseapi.h +0 -820
  183. package/include/tesseract/capi.h +0 -485
  184. package/include/tesseract/export.h +0 -37
  185. package/include/tesseract/ltrresultiterator.h +0 -235
  186. package/include/tesseract/ocrclass.h +0 -158
  187. package/include/tesseract/osdetect.h +0 -139
  188. package/include/tesseract/pageiterator.h +0 -364
  189. package/include/tesseract/publictypes.h +0 -281
  190. package/include/tesseract/renderer.h +0 -334
  191. package/include/tesseract/resultiterator.h +0 -250
  192. package/include/tesseract/tesseract.h +0 -40
  193. package/include/tesseract/unichar.h +0 -174
  194. package/include/tesseract/version.h +0 -34
  195. package/include/tesseract/version.h.in +0 -34
  196. package/libs/libjpeg-turbo.lib +0 -0
  197. package/libs/libpng.lib +0 -0
  198. package/libs/opencv_core470.lib +0 -0
  199. package/libs/opencv_imgcodecs470.lib +0 -0
  200. package/libs/opencv_imgproc470.lib +0 -0
  201. package/libs/tesseract.lib +0 -0
  202. package/libs/zlib.lib +0 -0
  203. /package/dist/{keyCodes.js → keyCodes.cjs} +0 -0
  204. /package/dist/{keyCodes.d.ts → keyCodes.d.cts} +0 -0
@@ -1,48 +0,0 @@
1
- /*M///////////////////////////////////////////////////////////////////////////////////////
2
- //
3
- // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4
- //
5
- // By downloading, copying, installing or using the software you agree to this license.
6
- // If you do not agree to this license, do not download, install,
7
- // copy or use the software.
8
- //
9
- //
10
- // License Agreement
11
- // For Open Source Computer Vision Library
12
- //
13
- // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14
- // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15
- // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16
- // Third party copyrights are property of their respective owners.
17
- //
18
- // Redistribution and use in source and binary forms, with or without modification,
19
- // are permitted provided that the following conditions are met:
20
- //
21
- // * Redistribution's of source code must retain the above copyright notice,
22
- // this list of conditions and the following disclaimer.
23
- //
24
- // * Redistribution's in binary form must reproduce the above copyright notice,
25
- // this list of conditions and the following disclaimer in the documentation
26
- // and/or other materials provided with the distribution.
27
- //
28
- // * The name of the copyright holders may not be used to endorse or promote products
29
- // derived from this software without specific prior written permission.
30
- //
31
- // This software is provided by the copyright holders and contributors "as is" and
32
- // any express or implied warranties, including, but not limited to, the implied
33
- // warranties of merchantability and fitness for a particular purpose are disclaimed.
34
- // In no event shall the Intel Corporation or contributors be liable for any direct,
35
- // indirect, incidental, special, exemplary, or consequential damages
36
- // (including, but not limited to, procurement of substitute goods or services;
37
- // loss of use, data, or profits; or business interruption) however caused
38
- // and on any theory of liability, whether in contract, strict liability,
39
- // or tort (including negligence or otherwise) arising in any way out of
40
- // the use of this software, even if advised of the possibility of such damage.
41
- //
42
- //M*/
43
-
44
- #ifdef __OPENCV_BUILD
45
- #error this is a compatibility header which should not be used inside the OpenCV library
46
- #endif
47
-
48
- #include "opencv2/imgcodecs.hpp"
@@ -1 +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."
@@ -1,59 +0,0 @@
1
-
2
- /*M///////////////////////////////////////////////////////////////////////////////////////
3
- //
4
- // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
5
- //
6
- // By downloading, copying, installing or using the software you agree to this license.
7
- // If you do not agree to this license, do not download, install,
8
- // copy or use the software.
9
- //
10
- //
11
- // License Agreement
12
- // For Open Source Computer Vision Library
13
- //
14
- // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
15
- // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
16
- // Third party copyrights are property of their respective owners.
17
- //
18
- // Redistribution and use in source and binary forms, with or without modification,
19
- // are permitted provided that the following conditions are met:
20
- //
21
- // * Redistribution's of source code must retain the above copyright notice,
22
- // this list of conditions and the following disclaimer.
23
- //
24
- // * Redistribution's in binary form must reproduce the above copyright notice,
25
- // this list of conditions and the following disclaimer in the documentation
26
- // and/or other materials provided with the distribution.
27
- //
28
- // * The name of the copyright holders may not be used to endorse or promote products
29
- // derived from this software without specific prior written permission.
30
- //
31
- // This software is provided by the copyright holders and contributors "as is" and
32
- // any express or implied warranties, including, but not limited to, the implied
33
- // warranties of merchantability and fitness for a particular purpose are disclaimed.
34
- // In no event shall the Intel Corporation or contributors be liable for any direct,
35
- // indirect, incidental, special, exemplary, or consequential damages
36
- // (including, but not limited to, procurement of substitute goods or services;
37
- // loss of use, data, or profits; or business interruption) however caused
38
- // and on any theory of liability, whether in contract, strict liability,
39
- // or tort (including negligence or otherwise) arising in any way out of
40
- // the use of this software, even if advised of the possibility of such damage.
41
- //
42
- //M*/
43
-
44
- #import <UIKit/UIKit.h>
45
- #import <Accelerate/Accelerate.h>
46
- #import <AVFoundation/AVFoundation.h>
47
- #import <ImageIO/ImageIO.h>
48
- #include "opencv2/core.hpp"
49
-
50
- //! @addtogroup imgcodecs_ios
51
- //! @{
52
-
53
- CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED;
54
- CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist = false);
55
- CV_EXPORTS UIImage* MatToUIImage(const cv::Mat& image);
56
- CV_EXPORTS void UIImageToMat(const UIImage* image,
57
- cv::Mat& m, bool alphaExist = false);
58
-
59
- //! @}
@@ -1,54 +0,0 @@
1
- // This file is part of OpenCV project.
2
- // It is subject to the license terms in the LICENSE file found in the top-level directory
3
- // of this distribution and at http://opencv.org/license.html.
4
-
5
- #ifndef OPENCV_IMGCODECS_LEGACY_CONSTANTS_H
6
- #define OPENCV_IMGCODECS_LEGACY_CONSTANTS_H
7
-
8
- /* duplicate of "ImreadModes" enumeration for better compatibility with OpenCV 3.x */
9
- enum
10
- {
11
- /* 8bit, color or not */
12
- CV_LOAD_IMAGE_UNCHANGED =-1,
13
- /* 8bit, gray */
14
- CV_LOAD_IMAGE_GRAYSCALE =0,
15
- /* ?, color */
16
- CV_LOAD_IMAGE_COLOR =1,
17
- /* any depth, ? */
18
- CV_LOAD_IMAGE_ANYDEPTH =2,
19
- /* ?, any color */
20
- CV_LOAD_IMAGE_ANYCOLOR =4,
21
- /* ?, no rotate */
22
- CV_LOAD_IMAGE_IGNORE_ORIENTATION =128
23
- };
24
-
25
- /* duplicate of "ImwriteFlags" enumeration for better compatibility with OpenCV 3.x */
26
- enum
27
- {
28
- CV_IMWRITE_JPEG_QUALITY =1,
29
- CV_IMWRITE_JPEG_PROGRESSIVE =2,
30
- CV_IMWRITE_JPEG_OPTIMIZE =3,
31
- CV_IMWRITE_JPEG_RST_INTERVAL =4,
32
- CV_IMWRITE_JPEG_LUMA_QUALITY =5,
33
- CV_IMWRITE_JPEG_CHROMA_QUALITY =6,
34
- CV_IMWRITE_PNG_COMPRESSION =16,
35
- CV_IMWRITE_PNG_STRATEGY =17,
36
- CV_IMWRITE_PNG_BILEVEL =18,
37
- CV_IMWRITE_PNG_STRATEGY_DEFAULT =0,
38
- CV_IMWRITE_PNG_STRATEGY_FILTERED =1,
39
- CV_IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY =2,
40
- CV_IMWRITE_PNG_STRATEGY_RLE =3,
41
- CV_IMWRITE_PNG_STRATEGY_FIXED =4,
42
- CV_IMWRITE_PXM_BINARY =32,
43
- CV_IMWRITE_EXR_TYPE = 48,
44
- CV_IMWRITE_WEBP_QUALITY =64,
45
- CV_IMWRITE_PAM_TUPLETYPE = 128,
46
- CV_IMWRITE_PAM_FORMAT_NULL = 0,
47
- CV_IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1,
48
- CV_IMWRITE_PAM_FORMAT_GRAYSCALE = 2,
49
- CV_IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3,
50
- CV_IMWRITE_PAM_FORMAT_RGB = 4,
51
- CV_IMWRITE_PAM_FORMAT_RGB_ALPHA = 5,
52
- };
53
-
54
- #endif // OPENCV_IMGCODECS_LEGACY_CONSTANTS_H
@@ -1,20 +0,0 @@
1
- // This file is part of OpenCV project.
2
- // It is subject to the license terms in the LICENSE file found in the top-level directory
3
- // of this distribution and at http://opencv.org/license.html.
4
-
5
- #if !defined(__APPLE__) || !defined(__MACH__)
6
- #error This header should be used in macOS ObjC/Swift projects.
7
- #endif
8
-
9
- #import <AppKit/AppKit.h>
10
- #include "opencv2/core.hpp"
11
-
12
- //! @addtogroup imgcodecs_macosx
13
- //! @{
14
-
15
- CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED;
16
- CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist = false);
17
- CV_EXPORTS NSImage* MatToNSImage(const cv::Mat& image);
18
- CV_EXPORTS void NSImageToMat(const NSImage* image, cv::Mat& m, bool alphaExist = false);
19
-
20
- //! @}
@@ -1,407 +0,0 @@
1
- /*M///////////////////////////////////////////////////////////////////////////////////////
2
- //
3
- // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4
- //
5
- // By downloading, copying, installing or using the software you agree to this license.
6
- // If you do not agree to this license, do not download, install,
7
- // copy or use the software.
8
- //
9
- //
10
- // License Agreement
11
- // For Open Source Computer Vision Library
12
- //
13
- // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14
- // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15
- // Third party copyrights are property of their respective owners.
16
- //
17
- // Redistribution and use in source and binary forms, with or without modification,
18
- // are permitted provided that the following conditions are met:
19
- //
20
- // * Redistribution's of source code must retain the above copyright notice,
21
- // this list of conditions and the following disclaimer.
22
- //
23
- // * Redistribution's in binary form must reproduce the above copyright notice,
24
- // this list of conditions and the following disclaimer in the documentation
25
- // and/or other materials provided with the distribution.
26
- //
27
- // * The name of the copyright holders may not be used to endorse or promote products
28
- // derived from this software without specific prior written permission.
29
- //
30
- // This software is provided by the copyright holders and contributors "as is" and
31
- // any express or implied warranties, including, but not limited to, the implied
32
- // warranties of merchantability and fitness for a particular purpose are disclaimed.
33
- // In no event shall the Intel Corporation or contributors be liable for any direct,
34
- // indirect, incidental, special, exemplary, or consequential damages
35
- // (including, but not limited to, procurement of substitute goods or services;
36
- // loss of use, data, or profits; or business interruption) however caused
37
- // and on any theory of liability, whether in contract, strict liability,
38
- // or tort (including negligence or otherwise) arising in any way out of
39
- // the use of this software, even if advised of the possibility of such damage.
40
- //
41
- //M*/
42
-
43
- #ifndef OPENCV_IMGCODECS_HPP
44
- #define OPENCV_IMGCODECS_HPP
45
-
46
- #include "opencv2/core.hpp"
47
-
48
- /**
49
- @defgroup imgcodecs Image file reading and writing
50
- @{
51
- @defgroup imgcodecs_c C API
52
- @defgroup imgcodecs_flags Flags used for image file reading and writing
53
- @defgroup imgcodecs_ios iOS glue
54
- @defgroup imgcodecs_macosx MacOS(OSX) glue
55
- @}
56
- */
57
-
58
- //////////////////////////////// image codec ////////////////////////////////
59
- namespace cv
60
- {
61
-
62
- //! @addtogroup imgcodecs
63
- //! @{
64
-
65
- //! @addtogroup imgcodecs_flags
66
- //! @{
67
-
68
- //! Imread flags
69
- enum ImreadModes {
70
- IMREAD_UNCHANGED = -1, //!< If set, return the loaded image as is (with alpha channel, otherwise it gets cropped). Ignore EXIF orientation.
71
- IMREAD_GRAYSCALE = 0, //!< If set, always convert image to the single channel grayscale image (codec internal conversion).
72
- IMREAD_COLOR = 1, //!< If set, always convert image to the 3 channel BGR color image.
73
- IMREAD_ANYDEPTH = 2, //!< If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit.
74
- IMREAD_ANYCOLOR = 4, //!< If set, the image is read in any possible color format.
75
- IMREAD_LOAD_GDAL = 8, //!< If set, use the gdal driver for loading the image.
76
- IMREAD_REDUCED_GRAYSCALE_2 = 16, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/2.
77
- IMREAD_REDUCED_COLOR_2 = 17, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/2.
78
- IMREAD_REDUCED_GRAYSCALE_4 = 32, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/4.
79
- IMREAD_REDUCED_COLOR_4 = 33, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/4.
80
- IMREAD_REDUCED_GRAYSCALE_8 = 64, //!< If set, always convert image to the single channel grayscale image and the image size reduced 1/8.
81
- IMREAD_REDUCED_COLOR_8 = 65, //!< If set, always convert image to the 3 channel BGR color image and the image size reduced 1/8.
82
- IMREAD_IGNORE_ORIENTATION = 128 //!< If set, do not rotate the image according to EXIF's orientation flag.
83
- };
84
-
85
- //! Imwrite flags
86
- enum ImwriteFlags {
87
- IMWRITE_JPEG_QUALITY = 1, //!< For JPEG, it can be a quality from 0 to 100 (the higher is the better). Default value is 95.
88
- IMWRITE_JPEG_PROGRESSIVE = 2, //!< Enable JPEG features, 0 or 1, default is False.
89
- IMWRITE_JPEG_OPTIMIZE = 3, //!< Enable JPEG features, 0 or 1, default is False.
90
- IMWRITE_JPEG_RST_INTERVAL = 4, //!< JPEG restart interval, 0 - 65535, default is 0 - no restart.
91
- IMWRITE_JPEG_LUMA_QUALITY = 5, //!< Separate luma quality level, 0 - 100, default is -1 - don't use.
92
- IMWRITE_JPEG_CHROMA_QUALITY = 6, //!< Separate chroma quality level, 0 - 100, default is -1 - don't use.
93
- IMWRITE_JPEG_SAMPLING_FACTOR = 7, //!< For JPEG, set sampling factor. See cv::ImwriteJPEGSamplingFactorParams.
94
- 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).
95
- IMWRITE_PNG_STRATEGY = 17, //!< One of cv::ImwritePNGFlags, default is IMWRITE_PNG_STRATEGY_RLE.
96
- IMWRITE_PNG_BILEVEL = 18, //!< Binary level PNG, 0 or 1, default is 0.
97
- IMWRITE_PXM_BINARY = 32, //!< For PPM, PGM, or PBM, it can be a binary format flag, 0 or 1. Default value is 1.
98
- IMWRITE_EXR_TYPE = (3 << 4) + 0, /* 48 */ //!< override EXR storage type (FLOAT (FP32) is default)
99
- IMWRITE_EXR_COMPRESSION = (3 << 4) + 1, /* 49 */ //!< override EXR compression type (ZIP_COMPRESSION = 3 is default)
100
- IMWRITE_EXR_DWA_COMPRESSION_LEVEL = (3 << 4) + 2, /* 50 */ //!< override EXR DWA compression level (45 is default)
101
- 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.
102
- IMWRITE_HDR_COMPRESSION = (5 << 4) + 0, /* 80 */ //!< specify HDR compression
103
- IMWRITE_PAM_TUPLETYPE = 128,//!< For PAM, sets the TUPLETYPE field to the corresponding string value that is defined for the format
104
- IMWRITE_TIFF_RESUNIT = 256,//!< For TIFF, use to specify which DPI resolution unit to set; see libtiff documentation for valid values
105
- IMWRITE_TIFF_XDPI = 257,//!< For TIFF, use to specify the X direction DPI
106
- IMWRITE_TIFF_YDPI = 258,//!< For TIFF, use to specify the Y direction DPI
107
- 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.
108
- 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.
109
- };
110
-
111
- enum ImwriteJPEGSamplingFactorParams {
112
- IMWRITE_JPEG_SAMPLING_FACTOR_411 = 0x411111, //!< 4x1,1x1,1x1
113
- IMWRITE_JPEG_SAMPLING_FACTOR_420 = 0x221111, //!< 2x2,1x1,1x1(Default)
114
- IMWRITE_JPEG_SAMPLING_FACTOR_422 = 0x211111, //!< 2x1,1x1,1x1
115
- IMWRITE_JPEG_SAMPLING_FACTOR_440 = 0x121111, //!< 1x2,1x1,1x1
116
- IMWRITE_JPEG_SAMPLING_FACTOR_444 = 0x111111 //!< 1x1,1x1,1x1(No subsampling)
117
- };
118
-
119
-
120
- enum ImwriteEXRTypeFlags {
121
- /*IMWRITE_EXR_TYPE_UNIT = 0, //!< not supported */
122
- IMWRITE_EXR_TYPE_HALF = 1, //!< store as HALF (FP16)
123
- IMWRITE_EXR_TYPE_FLOAT = 2 //!< store as FP32 (default)
124
- };
125
-
126
- enum ImwriteEXRCompressionFlags {
127
- IMWRITE_EXR_COMPRESSION_NO = 0, //!< no compression
128
- IMWRITE_EXR_COMPRESSION_RLE = 1, //!< run length encoding
129
- IMWRITE_EXR_COMPRESSION_ZIPS = 2, //!< zlib compression, one scan line at a time
130
- IMWRITE_EXR_COMPRESSION_ZIP = 3, //!< zlib compression, in blocks of 16 scan lines
131
- IMWRITE_EXR_COMPRESSION_PIZ = 4, //!< piz-based wavelet compression
132
- IMWRITE_EXR_COMPRESSION_PXR24 = 5, //!< lossy 24-bit float compression
133
- IMWRITE_EXR_COMPRESSION_B44 = 6, //!< lossy 4-by-4 pixel block compression, fixed compression rate
134
- IMWRITE_EXR_COMPRESSION_B44A = 7, //!< lossy 4-by-4 pixel block compression, flat fields are compressed more
135
- 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.
136
- 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.
137
- };
138
-
139
- //! Imwrite PNG specific flags used to tune the compression algorithm.
140
- /** These flags will be modify the way of PNG image compression and will be passed to the underlying zlib processing stage.
141
-
142
- - 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.
143
- - 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.
144
- - The strategy parameter only affects the compression ratio but not the correctness of the compressed output even if it is not set appropriately.
145
- - IMWRITE_PNG_STRATEGY_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
146
- */
147
- enum ImwritePNGFlags {
148
- IMWRITE_PNG_STRATEGY_DEFAULT = 0, //!< Use this value for normal data.
149
- 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.
150
- IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2, //!< Use this value to force Huffman encoding only (no string match).
151
- IMWRITE_PNG_STRATEGY_RLE = 3, //!< Use this value to limit match distances to one (run-length encoding).
152
- IMWRITE_PNG_STRATEGY_FIXED = 4 //!< Using this value prevents the use of dynamic Huffman codes, allowing for a simpler decoder for special applications.
153
- };
154
-
155
- //! Imwrite PAM specific tupletype flags used to define the 'TUPLETYPE' field of a PAM file.
156
- enum ImwritePAMFlags {
157
- IMWRITE_PAM_FORMAT_NULL = 0,
158
- IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1,
159
- IMWRITE_PAM_FORMAT_GRAYSCALE = 2,
160
- IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3,
161
- IMWRITE_PAM_FORMAT_RGB = 4,
162
- IMWRITE_PAM_FORMAT_RGB_ALPHA = 5
163
- };
164
-
165
- //! Imwrite HDR specific values for IMWRITE_HDR_COMPRESSION parameter key
166
- enum ImwriteHDRCompressionFlags {
167
- IMWRITE_HDR_COMPRESSION_NONE = 0,
168
- IMWRITE_HDR_COMPRESSION_RLE = 1
169
- };
170
-
171
- //! @} imgcodecs_flags
172
-
173
- /** @brief Loads an image from a file.
174
-
175
- @anchor imread
176
-
177
- The function imread loads an image from the specified file and returns it. If the image cannot be
178
- read (because of missing file, improper permissions, unsupported or invalid format), the function
179
- returns an empty matrix ( Mat::data==NULL ).
180
-
181
- Currently, the following file formats are supported:
182
-
183
- - Windows bitmaps - \*.bmp, \*.dib (always supported)
184
- - JPEG files - \*.jpeg, \*.jpg, \*.jpe (see the *Note* section)
185
- - JPEG 2000 files - \*.jp2 (see the *Note* section)
186
- - Portable Network Graphics - \*.png (see the *Note* section)
187
- - WebP - \*.webp (see the *Note* section)
188
- - Portable image format - \*.pbm, \*.pgm, \*.ppm \*.pxm, \*.pnm (always supported)
189
- - PFM files - \*.pfm (see the *Note* section)
190
- - Sun rasters - \*.sr, \*.ras (always supported)
191
- - TIFF files - \*.tiff, \*.tif (see the *Note* section)
192
- - OpenEXR Image files - \*.exr (see the *Note* section)
193
- - Radiance HDR - \*.hdr, \*.pic (always supported)
194
- - Raster and Vector geospatial data supported by GDAL (see the *Note* section)
195
-
196
- @note
197
- - The function determines the type of an image by the content, not by the file extension.
198
- - In the case of color images, the decoded images will have the channels stored in **B G R** order.
199
- - When using IMREAD_GRAYSCALE, the codec's internal grayscale conversion will be used, if available.
200
- Results may differ to the output of cvtColor()
201
- - On Microsoft Windows\* OS and MacOSX\*, the codecs shipped with an OpenCV image (libjpeg,
202
- libpng, libtiff, and libjasper) are used by default. So, OpenCV can always read JPEGs, PNGs,
203
- and TIFFs. On MacOSX, there is also an option to use native MacOSX image readers. But beware
204
- that currently these native image loaders give images with different pixel values because of
205
- the color management embedded into MacOSX.
206
- - On Linux\*, BSD flavors and other Unix-like open-source operating systems, OpenCV looks for
207
- codecs supplied with an OS image. Install the relevant packages (do not forget the development
208
- files, for example, "libjpeg-dev", in Debian\* and Ubuntu\*) to get the codec support or turn
209
- on the OPENCV_BUILD_3RDPARTY_LIBS flag in CMake.
210
- - In the case you set *WITH_GDAL* flag to true in CMake and @ref IMREAD_LOAD_GDAL to load the image,
211
- then the [GDAL](http://www.gdal.org) driver will be used in order to decode the image, supporting
212
- the following formats: [Raster](http://www.gdal.org/formats_list.html),
213
- [Vector](http://www.gdal.org/ogr_formats.html).
214
- - If EXIF information is embedded in the image file, the EXIF orientation will be taken into account
215
- and thus the image will be rotated accordingly except if the flags @ref IMREAD_IGNORE_ORIENTATION
216
- or @ref IMREAD_UNCHANGED are passed.
217
- - Use the IMREAD_UNCHANGED flag to keep the floating point values from PFM image.
218
- - By default number of pixels must be less than 2^30. Limit can be set using system
219
- variable OPENCV_IO_MAX_IMAGE_PIXELS
220
-
221
- @param filename Name of file to be loaded.
222
- @param flags Flag that can take values of cv::ImreadModes
223
- */
224
- CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
225
-
226
- /** @brief Loads a multi-page image from a file.
227
-
228
- The function imreadmulti loads a multi-page image from the specified file into a vector of Mat objects.
229
- @param filename Name of file to be loaded.
230
- @param mats A vector of Mat objects holding each page.
231
- @param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR.
232
- @sa cv::imread
233
- */
234
- CV_EXPORTS_W bool imreadmulti(const String& filename, CV_OUT std::vector<Mat>& mats, int flags = IMREAD_ANYCOLOR);
235
-
236
- /** @brief Loads a of images of a multi-page image from a file.
237
-
238
- The function imreadmulti loads a specified range from a multi-page image from the specified file into a vector of Mat objects.
239
- @param filename Name of file to be loaded.
240
- @param mats A vector of Mat objects holding each page.
241
- @param start Start index of the image to load
242
- @param count Count number of images to load
243
- @param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR.
244
- @sa cv::imread
245
- */
246
- CV_EXPORTS_W bool imreadmulti(const String& filename, CV_OUT std::vector<Mat>& mats, int start, int count, int flags = IMREAD_ANYCOLOR);
247
-
248
- /** @brief Returns the number of images inside the give file
249
-
250
- The function imcount will return the number of pages in a multi-page image, or 1 for single-page images
251
- @param filename Name of file to be loaded.
252
- @param flags Flag that can take values of cv::ImreadModes, default with cv::IMREAD_ANYCOLOR.
253
- */
254
- CV_EXPORTS_W size_t imcount(const String& filename, int flags = IMREAD_ANYCOLOR);
255
-
256
- /** @brief Saves an image to a specified file.
257
-
258
- The function imwrite saves the image to the specified file. The image format is chosen based on the
259
- filename extension (see cv::imread for the list of extensions). In general, only 8-bit
260
- single-channel or 3-channel (with 'BGR' channel order) images
261
- can be saved using this function, with these exceptions:
262
-
263
- - 16-bit unsigned (CV_16U) images can be saved in the case of PNG, JPEG 2000, and TIFF formats
264
- - 32-bit float (CV_32F) images can be saved in PFM, TIFF, OpenEXR, and Radiance HDR formats;
265
- 3-channel (CV_32FC3) TIFF images will be saved using the LogLuv high dynamic range encoding
266
- (4 bytes per pixel)
267
- - PNG images with an alpha channel can be saved using this function. To do this, create
268
- 8-bit (or 16-bit) 4-channel image BGRA, where the alpha channel goes last. Fully transparent pixels
269
- should have alpha set to 0, fully opaque pixels should have alpha set to 255/65535 (see the code sample below).
270
- - Multiple images (vector of Mat) can be saved in TIFF format (see the code sample below).
271
-
272
- If the image format is not supported, the image will be converted to 8-bit unsigned (CV_8U) and saved that way.
273
-
274
- If the format, depth or channel order is different, use
275
- Mat::convertTo and cv::cvtColor to convert it before saving. Or, use the universal FileStorage I/O
276
- functions to save the image to XML or YAML format.
277
-
278
- The sample below shows how to create a BGRA image, how to set custom compression parameters and save it to a PNG file.
279
- It also demonstrates how to save multiple images in a TIFF file:
280
- @include snippets/imgcodecs_imwrite.cpp
281
- @param filename Name of the file.
282
- @param img (Mat or vector of Mat) Image or Images to be saved.
283
- @param params Format-specific parameters encoded as pairs (paramId_1, paramValue_1, paramId_2, paramValue_2, ... .) see cv::ImwriteFlags
284
- */
285
- CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
286
- const std::vector<int>& params = std::vector<int>());
287
-
288
- /// @overload multi-image overload for bindings
289
- CV_WRAP static inline
290
- bool imwritemulti(const String& filename, InputArrayOfArrays img,
291
- const std::vector<int>& params = std::vector<int>())
292
- {
293
- return imwrite(filename, img, params);
294
- }
295
-
296
- /** @brief Reads an image from a buffer in memory.
297
-
298
- The function imdecode reads an image from the specified buffer in the memory. If the buffer is too short or
299
- contains invalid data, the function returns an empty matrix ( Mat::data==NULL ).
300
-
301
- See cv::imread for the list of supported formats and flags description.
302
-
303
- @note In the case of color images, the decoded images will have the channels stored in **B G R** order.
304
- @param buf Input array or vector of bytes.
305
- @param flags The same flags as in cv::imread, see cv::ImreadModes.
306
- */
307
- CV_EXPORTS_W Mat imdecode( InputArray buf, int flags );
308
-
309
- /** @overload
310
- @param buf
311
- @param flags
312
- @param dst The optional output placeholder for the decoded matrix. It can save the image
313
- reallocations when the function is called repeatedly for images of the same size.
314
- */
315
- CV_EXPORTS Mat imdecode( InputArray buf, int flags, Mat* dst);
316
-
317
- /** @brief Reads a multi-page image from a buffer in memory.
318
-
319
- The function imdecodemulti reads a multi-page image from the specified buffer in the memory. If the buffer is too short or
320
- contains invalid data, the function returns false.
321
-
322
- See cv::imreadmulti for the list of supported formats and flags description.
323
-
324
- @note In the case of color images, the decoded images will have the channels stored in **B G R** order.
325
- @param buf Input array or vector of bytes.
326
- @param flags The same flags as in cv::imread, see cv::ImreadModes.
327
- @param mats A vector of Mat objects holding each page, if more than one.
328
- */
329
- CV_EXPORTS_W bool imdecodemulti(InputArray buf, int flags, CV_OUT std::vector<Mat>& mats);
330
-
331
- /** @brief Encodes an image into a memory buffer.
332
-
333
- The function imencode compresses the image and stores it in the memory buffer that is resized to fit the
334
- result. See cv::imwrite for the list of supported formats and flags description.
335
-
336
- @param ext File extension that defines the output format. Must include a leading period.
337
- @param img Image to be written.
338
- @param buf Output buffer resized to fit the compressed image.
339
- @param params Format-specific parameters. See cv::imwrite and cv::ImwriteFlags.
340
- */
341
- CV_EXPORTS_W bool imencode( const String& ext, InputArray img,
342
- CV_OUT std::vector<uchar>& buf,
343
- const std::vector<int>& params = std::vector<int>());
344
-
345
- /** @brief Returns true if the specified image can be decoded by OpenCV
346
-
347
- @param filename File name of the image
348
- */
349
- CV_EXPORTS_W bool haveImageReader( const String& filename );
350
-
351
- /** @brief Returns true if an image with the specified filename can be encoded by OpenCV
352
-
353
- @param filename File name of the image
354
- */
355
- CV_EXPORTS_W bool haveImageWriter( const String& filename );
356
-
357
- /** @brief To read Multi Page images on demand
358
-
359
- The ImageCollection class provides iterator API to read multi page images on demand. Create iterator
360
- to the collection of the images and iterate over the collection. Decode the necessary page with operator*.
361
-
362
- The performance of page decoding is O(1) if collection is increment sequentially. If the user wants to access random page,
363
- then the time Complexity is O(n) because the collection has to be reinitialized every time in order to go to the correct page.
364
- However, the intermediate pages are not decoded during the process, so typically it's quite fast.
365
- This is required because multipage codecs does not support going backwards.
366
- 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).
367
- If you need memory, you can use .releaseCache() method to release cached index.
368
- The space complexity is O(n) if all pages are decoded into memory. The user is able to decode and release images on demand.
369
- */
370
- class CV_EXPORTS ImageCollection {
371
- public:
372
- struct CV_EXPORTS iterator {
373
- iterator(ImageCollection* col);
374
- iterator(ImageCollection* col, int end);
375
- Mat& operator*();
376
- Mat* operator->();
377
- iterator& operator++();
378
- iterator operator++(int);
379
- friend bool operator== (const iterator& a, const iterator& b) { return a.m_curr == b.m_curr; }
380
- friend bool operator!= (const iterator& a, const iterator& b) { return a.m_curr != b.m_curr; }
381
-
382
- private:
383
- ImageCollection* m_pCollection;
384
- int m_curr;
385
- };
386
-
387
- ImageCollection();
388
- ImageCollection(const String& filename, int flags);
389
- void init(const String& img, int flags);
390
- size_t size() const;
391
- const Mat& at(int index);
392
- const Mat& operator[](int index);
393
- void releaseCache(int index);
394
- iterator begin();
395
- iterator end();
396
-
397
- class Impl;
398
- Ptr<Impl> getImpl();
399
- protected:
400
- Ptr<Impl> pImpl;
401
- };
402
-
403
- //! @} imgcodecs
404
-
405
- } // cv
406
-
407
- #endif //OPENCV_IMGCODECS_HPP
@@ -1,34 +0,0 @@
1
- // This file is part of OpenCV project.
2
- // It is subject to the license terms in the LICENSE file found in the top-level directory
3
- // of this distribution and at http://opencv.org/license.html.
4
-
5
- #ifndef OPENCV_IMGPROC_BINDINGS_HPP
6
- #define OPENCV_IMGPROC_BINDINGS_HPP
7
-
8
- // This file contains special overloads for OpenCV bindings
9
- // No need to use these functions in C++ code.
10
-
11
- namespace cv {
12
-
13
- /** @brief Finds lines in a binary image using the standard Hough transform and get accumulator.
14
- *
15
- * @note This function is for bindings use only. Use original function in C++ code
16
- *
17
- * @sa HoughLines
18
- */
19
- CV_WRAP static inline
20
- void HoughLinesWithAccumulator(
21
- InputArray image, OutputArray lines,
22
- double rho, double theta, int threshold,
23
- double srn = 0, double stn = 0,
24
- double min_theta = 0, double max_theta = CV_PI
25
- )
26
- {
27
- std::vector<Vec3f> lines_acc;
28
- HoughLines(image, lines_acc, rho, theta, threshold, srn, stn, min_theta, max_theta);
29
- Mat(lines_acc).copyTo(lines);
30
- }
31
-
32
- } // namespace
33
-
34
- #endif // OPENCV_IMGPROC_BINDINGS_HPP