Я хотел бы обнаружить контур гигантского черного сгустка в следующем изображении:Некорректное обнаружение контура в изображение питона OpenCV
Поэтому я использовал оператор кэнни, чтобы найти края, используя следующие код:
edged = cv2.Canny(image, 30, 200)
Тогда, когда я пытаюсь найти контур, он дает мне только половину на клякса.
Это код, который я использовал, чтобы найти контур:
# find contours in the edged image, keep only the largest
# ones, and initialize our screen contour
(cnts, _) = cv2.findContours(image.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:10]
# Scan the contours for largest item
array_sizes = []
for numpoints in cnts:
array_sizes.append(len(numpoints))
largest = max(array_sizes)
second = second_largest(array_sizes)
index_of_object = array_sizes.index(largest)
# Largest detected contour
screenCnt = cnts[index_of_object]
Есть ли какие-либо изменения, я могу сделать в исходном изображении, чтобы получить полную и более точное обнаружение большой черный BLOb? Вся помощь приветствуется.