Config.in 9.5 KB

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