Source code for draugr.opencv_utilities.color_space.color

import warnings

import cv2

from draugr.opencv_utilities.namespaces.color_conversion_enum import (
    ColorConversionEnum,
)

__all__ = ["num_channels", "is_singular_channel", "to_color"]


[docs]def num_channels(image) -> int: """ :param image: :type image: :return: :rtype: """ return image.shape[-1] if image.ndim == 3 else 1
[docs]def is_singular_channel(image) -> bool: """ :param image: :type image: :return: :rtype: """ return num_channels(image) == 1
[docs]def to_color(image, conversion: ColorConversionEnum = ColorConversionEnum.gray2bgr): """ convert from the default bgr cv2 format to gray, using a single component :param conversion: :type conversion: :param image: :type image: :return: :rtype: """ if is_singular_channel(image): conversion = ColorConversionEnum(conversion) image = cv2.cvtColor(image, conversion) else: warnings.warn(f"expected singular image was shape {image.shape}") return image