示例#1
0
def sobel_filter(data: Data) -> Data:
    sobel_matrix: np.ndarray = np.array([[1, 2, 1], [0, 0, 0], [-1, -2, -1]])

    sobel_matrix_t: np.ndarray = sobel_matrix.transpose()

    def sobel_filter(data: np.ndarray) -> int:
        """Фильтруем фрагмент (```data```) с помощьб фильтра собеля"""

        gx: int = int(np.sum(data * sobel_matrix))  # Изменение по X
        gy: int = int(np.sum(data * sobel_matrix_t))  # Изменение по Y

        return int(math.hypot(gx, gy))  # По теореме пифагора находим результат

    data_sobel = data.filter_data(sobel_filter)

    result = data_sobel.norm()

    return result
示例#2
0
def filter_data(data: Data):
    data.filter_data(func(data.args.avg))