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