1menuconfig BR2_PACKAGE_OPENCV4 2 bool "opencv4" 3 depends on BR2_TOOLCHAIN_HAS_ATOMIC 4 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL 5 depends on BR2_INSTALL_LIBSTDCPP 6 depends on BR2_USE_WCHAR 7 depends on !BR2_STATIC_LIBS # include dlfcn.h 8 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 9 depends on !BR2_PACKAGE_OPENCV3 10 select BR2_PACKAGE_ZLIB 11 help 12 OpenCV (Open Source Computer Vision) is a library of 13 programming functions for real time computer vision. 14 15 Note that the opencv_core module and the opencv_hal library 16 are always built and installed, not matter which other 17 modules are enabled below. 18 19 http://opencv.org/ 20 21if BR2_PACKAGE_OPENCV4 22 23comment "OpenCV modules" 24 25config BR2_PACKAGE_OPENCV4_LIB_CALIB3D 26 bool "calib3d" 27 select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D 28 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 29 help 30 Include opencv_calib3d (camera calibration and 3d 31 reconstruction) module into the OpenCV build. 32 33config BR2_PACKAGE_OPENCV4_LIB_FEATURES2D 34 bool "features2d" 35 select BR2_PACKAGE_OPENCV4_LIB_FLANN 36 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 37 select BR2_PACKAGE_OPENCV4_LIB_ML 38 help 39 Include opencv_features2d (2d features framework) module 40 into the OpenCV build. 41 42config BR2_PACKAGE_OPENCV4_LIB_FLANN 43 bool "flann" 44 # opencv_core dependency is already enabled 45 help 46 Include opencv_flann (clustering and search in 47 multi-dimensional spaces) module into the OpenCV build. 48 49config BR2_PACKAGE_OPENCV4_LIB_HIGHGUI 50 bool "highgui" 51 select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS 52 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 53 select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO 54 help 55 Include opencv_highgui (high-level gui and media i/o) module 56 into the OpenCV build. 57 58if BR2_PACKAGE_OPENCV4_LIB_HIGHGUI 59 60choice 61 prompt "gui toolkit" 62 help 63 GUI toolkit to be used by the opencv_highgui module. 64 65config BR2_PACKAGE_OPENCV4_GUI_NONE 66 bool "none" 67 68config BR2_PACKAGE_OPENCV4_WITH_GTK 69 bool "gtk2" 70 depends on BR2_PACKAGE_LIBGTK2 71 72comment "gtk2 support needs libgtk2" 73 depends on BR2_USE_MMU # libgtk2 -> glib2 74 depends on BR2_TOOLCHAIN_HAS_SYNC_4 75 depends on !BR2_PACKAGE_LIBGTK2 76 77config BR2_PACKAGE_OPENCV4_WITH_GTK3 78 bool "gtk3" 79 depends on BR2_PACKAGE_LIBGTK3 80 81comment "gtk3 support needs libgtk3" 82 depends on BR2_USE_MMU # libgtk3 -> glib2 83 depends on BR2_TOOLCHAIN_HAS_SYNC_4 84 depends on !BR2_PACKAGE_LIBGTK3 85 86config BR2_PACKAGE_OPENCV4_WITH_QT5 87 bool "qt5" 88 depends on BR2_PACKAGE_QT5 89 select BR2_PACKAGE_QT5BASE_CONCURRENT 90 select BR2_PACKAGE_QT5BASE_GUI 91 select BR2_PACKAGE_QT5BASE_WIDGETS 92 help 93 Use Qt5 with base, concurrent, test, gui and widgets 94 components, as GUI toolkit. 95 96comment "qt5 support needs qt5" 97 depends on !BR2_PACKAGE_QT5 98 99endchoice 100 101config BR2_PACKAGE_OPENCV4_WITH_OPENGL 102 bool "opengl support" 103 # OpenGL support done using Qt5OpenGL, so depends on WITH_QT5 104 depends on BR2_PACKAGE_OPENCV4_WITH_QT5 105 # OpenGL support requires Qt5OpenGL with GL support, not GLES 106 depends on BR2_PACKAGE_QT5_GL_AVAILABLE 107 depends on BR2_PACKAGE_HAS_LIBGL 108 select BR2_PACKAGE_QT5BASE_OPENGL 109 help 110 Enable OpenGL for UI. 111 112comment "opengl support needs an OpenGL provider" 113 depends on BR2_PACKAGE_OPENCV4_WITH_QT5 114 depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || \ 115 !BR2_PACKAGE_HAS_LIBGL 116 117endif # BR2_PACKAGE_OPENCV4_LIB_HIGHGUI 118 119config BR2_PACKAGE_OPENCV4_LIB_IMGCODECS 120 bool "imgcodecs" 121 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 122 help 123 Include opencv_imgcodecs (image codecs) module into the 124 OpenCV build. 125 126config BR2_PACKAGE_OPENCV4_LIB_IMGPROC 127 bool "imgproc" 128 # opencv_core dependency is already enabled 129 help 130 Include opencv_imgproc (image processing) module into the 131 OpenCV build. 132 133config BR2_PACKAGE_OPENCV4_LIB_ML 134 bool "ml" 135 # opencv_core dependency is already enabled 136 help 137 Include opencv_ml (machine learning) module into the OpenCV 138 build. 139 140config BR2_PACKAGE_OPENCV4_LIB_OBJDETECT 141 bool "objdetect" 142 # opencv_core dependency is already enabled 143 select BR2_PACKAGE_OPENCV4_LIB_CALIB3D 144 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 145 select BR2_PACKAGE_OPENCV4_LIB_ML 146 help 147 Include opencv_objdetect (object detection) module into the 148 OpenCV build. 149 150config BR2_PACKAGE_OPENCV4_LIB_PHOTO 151 bool "photo" 152 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 153 help 154 Include opencv_photo (computational photography) module into 155 the OpenCV build. 156 157config BR2_PACKAGE_OPENCV4_LIB_PYTHON 158 bool "python" 159 depends on BR2_PACKAGE_PYTHON3 160 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS 161 depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy 162 select BR2_PACKAGE_PYTHON_NUMPY 163 help 164 Include opencv_python module into the OpenCV build. No 165 python example is installed. 166 167comment "python support needs glibc or musl" 168 depends on BR2_PACKAGE_PYTHON3 169 depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS 170 depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) 171 172config BR2_PACKAGE_OPENCV4_LIB_SHAPE 173 bool "shape" 174 # opencv_core dependency is already enabled 175 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 176 select BR2_PACKAGE_OPENCV4_LIB_VIDEO 177 help 178 Include opencv_shape (shape descriptors and matchers) module 179 into the OpenCV build. 180 181config BR2_PACKAGE_OPENCV4_LIB_STITCHING 182 bool "stitching" 183 select BR2_PACKAGE_OPENCV4_LIB_CALIB3D 184 select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D 185 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 186 select BR2_PACKAGE_OPENCV4_LIB_OBJDETECT 187 help 188 Include opencv_stitching (images stitching) module into the 189 OpenCV build. 190 191config BR2_PACKAGE_OPENCV4_LIB_SUPERRES 192 bool "superres" 193 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 194 select BR2_PACKAGE_OPENCV4_LIB_VIDEO 195 help 196 Include opencv_superres (super resolution) module into the 197 OpenCV build. 198 199config BR2_PACKAGE_OPENCV4_LIB_TS 200 bool "ts" 201 # opencv_core dependency is already enabled 202 select BR2_PACKAGE_OPENCV4_LIB_HIGHGUI 203 select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS 204 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 205 select BR2_PACKAGE_OPENCV4_LIB_VIDEOIO 206 help 207 Include opencv_ts (test) module into the OpenCV build. 208 209config BR2_PACKAGE_OPENCV4_LIB_VIDEOIO 210 bool "videoio" 211 select BR2_PACKAGE_OPENCV4_LIB_IMGCODECS 212 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 213 help 214 Include opencv_videoio (media i/o) module into the OpenCV 215 build. 216 217config BR2_PACKAGE_OPENCV4_LIB_VIDEO 218 bool "video" 219 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 220 help 221 Include opencv_video (video analysis) module into the OpenCV 222 build. 223 224config BR2_PACKAGE_OPENCV4_LIB_VIDEOSTAB 225 bool "videostab" 226 select BR2_PACKAGE_OPENCV4_LIB_CALIB3D 227 select BR2_PACKAGE_OPENCV4_LIB_FEATURES2D 228 select BR2_PACKAGE_OPENCV4_LIB_IMGPROC 229 select BR2_PACKAGE_OPENCV4_LIB_PHOTO 230 select BR2_PACKAGE_OPENCV4_LIB_VIDEO 231 help 232 Include opencv_videostab (video stabilization) module into 233 the OpenCV build. 234 235comment "Test sets" 236config BR2_PACKAGE_OPENCV4_BUILD_TESTS 237 bool "build tests" 238 239config BR2_PACKAGE_OPENCV4_BUILD_PERF_TESTS 240 bool "build performance tests" 241 242comment "3rd party support" 243 244config BR2_PACKAGE_OPENCV4_WITH_FFMPEG 245 bool "ffmpeg support" 246 depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS 247 select BR2_PACKAGE_BZIP2 248 select BR2_PACKAGE_FFMPEG 249 select BR2_PACKAGE_FFMPEG_AVRESAMPLE 250 select BR2_PACKAGE_FFMPEG_SWSCALE 251 help 252 Use ffmpeg from the target system. 253 254config BR2_PACKAGE_OPENCV4_WITH_GSTREAMER1 255 bool "gstreamer-1.x" 256 depends on BR2_USE_MMU # gstreamer1 -> libglib2 257 select BR2_PACKAGE_GSTREAMER1 258 select BR2_PACKAGE_GST1_PLUGINS_BASE 259 select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP 260 help 261 Enable gstreamer support. 262 263choice 264 prompt "jpeg2000 support" 265 help 266 Select the desired jpeg2000 library provider. 267 268config BR2_PACKAGE_OPENCV4_JPEG2000_NONE 269 bool "none" 270 271config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_JASPER 272 bool "jasper" 273 select BR2_PACKAGE_JASPER 274 help 275 Enable jpeg2000 support through jasper. 276 277 Note: this does not use the libjasper bundled with opencv, 278 but uses the libjasper package installed system-wide by 279 Buildroot. 280 281config BR2_PACKAGE_OPENCV4_JPEG2000_WITH_OPENJPEG 282 bool "openjpeg" 283 select BR2_PACKAGE_OPENJPEG 284 help 285 Enable jpeg2000 support through openjpeg. 286 287 Note: this does not use the openjpeg bundled with opencv, 288 but uses the openjpeg package installed system-wide by 289 Buildroot. 290 291endchoice 292 293config BR2_PACKAGE_OPENCV4_WITH_JPEG 294 bool "jpeg support" 295 select BR2_PACKAGE_JPEG 296 help 297 Use shared libjpeg from the target system. 298 299config BR2_PACKAGE_OPENCV4_WITH_PNG 300 bool "png support" 301 select BR2_PACKAGE_LIBPNG 302 help 303 Use shared libpng from the target system. 304 305config BR2_PACKAGE_OPENCV4_WITH_PROTOBUF 306 bool "protobuf support" 307 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf 308 select BR2_PACKAGE_PROTOBUF 309 help 310 Use shared protobuf from the target system. 311 312config BR2_PACKAGE_OPENCV4_WITH_TIFF 313 bool "tiff support" 314 select BR2_PACKAGE_TIFF 315 help 316 Use shared libtiff from the target system. 317 318config BR2_PACKAGE_OPENCV4_WITH_V4L 319 bool "v4l support" 320 help 321 Enable Video 4 Linux support. 322 323 If the package libv4l is enabled, its support is 324 automatically enabled. 325 326config BR2_PACKAGE_OPENCV4_WITH_WEBP 327 bool "webp support" 328 select BR2_PACKAGE_WEBP 329 help 330 Enable WebP support. 331 332 Use shared libwebp from the target system. 333 334comment "Install options" 335 336config BR2_PACKAGE_OPENCV4_INSTALL_DATA 337 bool "install extra data" 338 help 339 Install various data that is used by cv libraries and/or 340 demo applications, specifically for haarcascades and 341 lbpcascades features. 342 343 For further information: see OpenCV documentation. 344 345endif # BR2_PACKAGE_OPENCV4 346 347comment "opencv4 needs a toolchain w/ C++, NPTL, wchar, dynamic library, gcc >= 4.8" 348 depends on BR2_TOOLCHAIN_HAS_ATOMIC 349 depends on !BR2_INSTALL_LIBSTDCPP || \ 350 !BR2_USE_WCHAR || \ 351 !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ 352 BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 353