Фильтр изображений дает разные результаты для похожих изображений - PullRequest
0 голосов
/ 03 января 2019

Я экспериментирую с пользовательскими ядрами для извлечения границ в заданных изображениях.

Я использую фильтр np.array([[-2, -1, 0], [-1, 10, 1], [0, 1, 2]]). Для данного набора изображений, которые имеют аналогичную природу, код генерирует результаты, в которых иногда присутствуют штриховки, тогда как для других изображений они отсутствуют.

Я не могу понять, почему это происходит. Я читал о пользовательских фильтрах и о том, как они работают, но это не решает мою проблему.

Код выглядит следующим образом:

import cv2
import sys
import numpy as np 

im_name = sys.argv[1]#give path to the image

im = cv2.imread(im_name, 0)

im_copy = im.copy()

#create custom filter

my_filter = np.array([[-2, -1, 0], [-1, 10, 1], [0, 1, 2]])

dst = cv2.filter2D(im, -1, my_filter)

cv2.imshow("test", im)
cv2.imshow("check", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

Изображение 1 и 2 показывают отклоняющийся результат, остальные изображения ожидаются Результаты

...