Я пытаюсь удалить фон изображения (фон может быть любого другого цвета или содержать шум, пыль и т. Д. c)
Это изображение:
А это мой код:
import cv2
img = cv2.imread('image.jpg', 0)
norm_img = np.zeros(img.shape)
normim = cv2.normalize(img, norm_img, 0, 255, cv2.NORM_MINMAX)
_, thresh1 = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
kernel = np.ones((5,5),np.uint8)
opening = cv2.morphologyEx(thresh1, cv2.MORPH_OPEN, kernel)
mask_inv = cv2.bitwise_not(opening)
seg = cv2.add(mask_inv, normim)
Вывод:
Код собирается нормализовать исходное изображение, а затем добавить изображение, которое применяет морфологию, которая является двоичным изображением.
Результат нормализации исходного изображения и морфологического применения исходного изображения:
Итак, что происходит с моим кодом, как я могу удалить фон?