Config.in 11 KB

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