Как избежать тени в OpenCV Canny Edge края? - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь получить край ноги от фотографии, используя обнаружение хитрого края.Но если есть темная тень, она также обнаруживает тень.Как избежать тени?Что не так или какой алгоритм я могу использовать вместо этого?Пожалуйста, проверьте мой код и изображения (я удалил часть края) и помогите мне.

def get_edges(image):
    img = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
    # Bilateral filter preserve edges
    img = cv2.bilateralFilter(img, 9, 75, 75)
    # Create black and white image based on adaptive threshold
    img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 159, 4)
    # Median filter clears small details
    img = cv2.medianBlur(img, 11)
    # Add black border in case that page is touching an image border
    img = cv2.copyMakeBorder(img, 5, 5, 5, 5, cv2.BORDER_CONSTANT, value=[0, 0, 0])
    # Get edges using Canny
    edges = cv2.Canny(img, 200, 250)
    return edges

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

Изображение края

...