xref: /OK3568_Linux_fs/buildroot/package/opencv4/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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