Documentation/4.6/Extensions/OpenCVExample
For the latest Slicer documentation, visit the read-the-docs. |
Introduction and Acknowledgements
Extension: OpenCVExample | |||||
|
Module Description
This extension provides an example on how to build and run against the OpenCV package provided by the SlicerOpenCV extension. OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library.
This extension includes a C++ CLI module that loads, operates on, and saves PNG images.
Use Cases
- This module can be used as a template by extension developers who wish to use the algorithms provided by OpenCV.
Tutorials
Panels and their use
The ExampleOpenCV extension provides the Blend Vector Volumes CLI as a stand alone module, but the extension does not provide an overall GUI.
Similar Modules
The Slicer Pathology extension also uses the SlicerOpenCV extension.
References
Information for Developers
Section under construction. |
Use this extension as a template on how to include OpenCV provided by the SlicerOpenCV module.
In your extension's top level CMakeList.txt:
- Specify that it depends on SlicerOpenCV:
set(EXTENSION_DEPENDS "SlicerOpenCV")
- Include the SlicerOpenCV extension by including this line after the find_package for Slicer:
find_package(SlicerOpenCV REQUIRED)
- If you're building from a locally built version of SlicerOpenCV, SlicerOpenCV_DIR is set to the inner-build sub-directory of the SlicerOpenCV build directory.
In your extension's module CMakeLists.txt file:
- Define OpenCV_DIR by finding the package that SlicerOpenCV provided:
find_package(OpenCV 3.1 REQUIRED)
- The header include path is defined as:
get_filename_component(OpenCV_INCLUDE_DIR ${OpenCV_DIR}/../../include ABSOLUTE)
- Add ${OpenCV_INCLUDE_DIR} to the MODULE_INCLUDE_DIRECTORIES list
- Link against the OpenCV libraries by adding ${OpenCV_LIBS} to the MODULE_TARGET_LIBRARIES