RGB изображение свертка от Scipy - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь сделать функцию для выделения краев на изображении, используя свертку от scipy.signal.Вот мой код:

def highlight_edges(self):
    window = np.array([[-1, -1, -1],
                       [-1, 9, -1],
                       [-1, -1, -1]])

    if self.image_data.ndim == 2:
        # gray image
        self.image_data = convolve2d(self.image_data, window, mode='same', boundary='symm')
    elif self.image_data.shape[2] == 3:
        # rgb image
        # for each channel:
        for i in range(3):
            self.image_data[:, :, i] = convolve2d(self.image_data[:, :, i], window, mode='same', boundary='symm')

Он отлично работает для серого изображения, но для и RGB Image возвращает беспорядок.Я подозреваю, что может произойти переполнение, но я не совсем уверен.Вот изображения:

Исходное изображение:

enter image description here

После выполнения функции highligh_edges:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...