OpenCV - возможно ли разделить контуры на значение в градациях серого в изображении? - PullRequest
0 голосов
/ 21 января 2019

Я довольно новичок в OpenCV и в настоящее время учусь извлекать цифры из изображений, используя контуры Изображение, на которое я ссылаюсь, можно найти здесь:

enter image description here

Проблема, с которой я сталкиваюсь, состоит в том, что значения в градациях серого чисел и линий / точек могут быть очень похожими, и в результате их контуры объединяются. Как бы я решил это?

Код, который у меня есть, выглядит так:

img = cv2.imread(filename=('data/6737,K.png'))
imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY);
thresh = cv2.adaptiveThreshold(imgray,255,
                cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, 
                cv2.CHAIN_APPROX_SIMPLE)

Если в OpenCV есть опция, позволяющая разделять контуры по значению в градациях серого, возможно, будет возможно извлечь отдельные цифры. Или, может быть, есть другое решение, которое я не пробовал?

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 11 февраля 2019

Решается путем установки пикселей из столбцов с низким суммированным значением оттенков серого в цвет фона (т.е. обрезка горизонтальной линии).Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...