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