Выделить жилы у листьев растений с помощью python
Нужна помощь. Я пытаюсь выделить структуру листа "Скелет" с помощью метода Кенни но результат не устраивает.
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt
path = r'C:\Users\Admin\PycharmProjects\pythonProject2\v.png'
img = cv.imread(path, 0)
edges = cv.Canny(img, 400, 300)
plt.subplot(121), plt.imshow(img, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, cmap='gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])
plt.show()
Выделяется слишком много границ, а хочется получить только основную структуру как например:

Допустим вот эту
Ответы (1 шт):
Чтобы убрать лишний шум с изображения используйте алгоритмы размытия, например GaussianBlur
blur = cv2.GaussianBlur(img, (11,11), 0)
Укажите ширину и высоту ядра, которые должны быть положительными и нечетными. Также можете указать стандартное отклонение в направлениях X и Y, sigmaX и sigmaY соответственно. Если указан только sigmaX, sigmaY принимается таким же, как sigmaX. Если оба заданы как нули, они рассчитываются на основе размера ядра. Размытие по очень эффективно удаляет шум с изображения.
