OpenCV conversions library ========================== `OpenCV `_ is one of most frequently used C++ libraries in computer vision. This support library provides conversion functions so that protocol image and region objects can be quickly converted to corresponding OpenCV objects and vice-versa. Requirements and building ------------------------- To compile the module you have to enable the ``BUILD_OPENCV`` flag in CMake build system (check out the :doc:`tutorial on compiling the project ` for more details). You will of course need OpenCV library available on the system, version 2.4 or higher is supported. Documentation ------------- .. cpp:namespace:: trax .. cpp:function:: cv::Mat image_to_mat(const Image& image) Converts a protocol image object to an OpenCV matrix that represents the image. :param image: Protocol image object :return: OpenCV matrix object .. cpp:function:: cv::Rect region_to_rect(const Region& region) Converts a protocol region object to an OpenCV rectangle structure. :param image: Protocol region object :return: OpenCV rectangle structure .. cpp:function:: std::vector region_to_points(const Region& region) Converts a protocol region object to a list of OpenCV points. :param image: Protocol region object :return: List of points .. cpp:function:: Image mat_to_image(const cv::Mat& mat) Converts an OpenCV matrix to a new protocol image object. :param mat: OpenCV image :return: Protocol image object .. cpp:function:: Region rect_to_region(const cv::Rect rect) Converts an OpenCV rectangle structure to a protocol region object of type rectangle. :param rect: Rectangle structure :return: Protocol region object .. cpp:function:: Region points_to_region(const std::vector points) Converts a list of OpenCV points to a protocol region object of type polygon. :param rect: List of points :return: Protocol region object .. cpp:function:: void draw_region(cv::Mat& canvas, const Region& region, cv::Scalar color, int width = 1) Draws a given region to an OpenCV image with a given color and line width. :param canvas: Target OpenCV image to which the region is drawn :param region: Protocol region object :param color: Color of the line as a an OpenCV scalar structure :param width: Width of the line