Нарисуйте контуры на изображении красной пластины
Привет, я работаю над программой, которая требует найти контуры номерного знака, с номерными знаками все было хорошо, но когда я пытаюсь получить контуры красного номера, он не показывает контуры должным образом, я проверяю все результат преобразования изображения в серый, затем размытие изображения и затем порог изображения для реализации контуров поиска, и это изображения:
исходное изображение:
изображение в градациях серого:
порог изображения:
найти контуры:
как показано на изображении, я хочу получить контуры вокруг арабских чисел, но порог вокруг числа белый и черный внутри, поэтому он не окружает их идеально
как это изображение:
Это мой код для обработки двух изображений:
image = cv2.imread('red_image3.jpg')
gray_image = extractValue(image)
imgMaxContrastGrayscale = maximizeContrast(gray_image)
imgBlurred = cv2.GaussianBlur(imgMaxContrastGrayscale, (3,3), 0)
imgThresh = cv2.adaptiveThreshold(imgBlurred, 255.0, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV,
17, 9)
contours, _ = cv2.findContours(imgThresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
for contour in contours :
(x,y,w,h) = cv2.boundingRect(contour)
cv2.rectangle(image , (x,y) , (x+w,y+h),(0,255,0), thickness=1)