I am trying to build OpenCV from source (latest SVN trunk) and there are several "optional" dependencies, which will amount to several gigabytes of downloading on their own, especially with the Qt Framework. For example:
- CUDA
- GHOSTSCRIPT
- MIKTEX
- PYTHON
- EIGEN
- IPP
- JASPER
- JPEG
- OPENEXR
- OPENNI
- PNG
- QT
- QT_OPENGL
- TBB
- TIFF
- VIDEOINPUT
- XIMEA
Can someone provide a list of what each of these external things provides - ranked by importance? (Sometimes subjective answers are the most insightful answers.) Which ones are built in the binary distribution?
Usually you can leave all the flags in default state unless you need to enable or disable some special features. All really important libraries are already there.
Options you listened can be split into several groups:
Image input/output
Actually OpenCV comes with a copy of these libraries for platforms where these libraries are missed (like Windows or Android).
PNG
OPENEXR - this one is not included into OpenCV
Video IO
Libraries of performance primitives
GPU acceleration
gpu
module having a lot of functions accelerated with NVIDIA CUDA technology. If CUDA SDK is not found, then all functions degrade to CPU implementation.Enhanced GUI
imshow
) has a QT version. Without QT they will default to native OS interfaces. (In case of Windows it will be WinAPI).Bindings to other languages
Building documentation
Actually this is just a partial answer to your question. You have listened less than half of the options that can be set on OpenCV configuration step - other half is hidden because those options are not available for your platform.