Exemplo n.º 1
0
def weighted_median_filter(a_img: ImageImpl, kernel_size: int) -> ImageImpl:
    """
    Given an Image instance, apply the weighted median filter using a square kernel of size
    kernel_size.
    :param a_img: Image instance
    :param kernel_size: kernel size int
    :return: transformed image
    """
    a_img.convolution(
        kernel_size,
        lambda window: _weighted_median(window, kernel_size),
    )

    return a_img
Exemplo n.º 2
0
def high_filter(a_img: ImageImpl, kernel_size: int) -> ImageImpl:
    """
    Given a Image instance, apply high value filter.
    :param a_img:
    :param kernel_size:
    :return: transformed Image instance
    """

    a_img.convolution(
        kernel_size,
        lambda window: apply_high_filter(window, int(kernel_size)),
    )

    return a_img
Exemplo n.º 3
0
def gaussian_filter(a_img: ImageImpl, kernel_size: int, sigma: float) -> ImageImpl:
    """
    Given an Image instance, apply the weighted gaussian filter using a square kernel of size
    kernel_size.
    :param a_img: Image instance
    :param kernel_size: kernel size int
    :param sigma: sigma value
    :return: transformed image
    """
    a_img.convolution(
        kernel_size,
        lambda window: _apply_gaussian_filter(window, int(kernel_size), sigma),
    )

    return a_img
Exemplo n.º 4
0
def median_filter(a_img: ImageImpl, kernel_size: int) -> ImageImpl:
    """
    Given an Image instance, apply the median filter using a square kernel of size
    kernel_size.
    :param a_img: Image instance
    :param kernel_size: kernel size int
    :return: transformed image
    """
    a_img.convolution(
        kernel_size,
        lambda window: np.median(
            window.reshape(
                -1,
            )
        ),
    )

    return a_img