Сегментация персонажа не работает в течение 3,8 - PullRequest
0 голосов
/ 06 мая 2018

Я новичок в обработке изображений. Я хочу выполнить сегментацию символов в OCR. Я уже сделал необходимую предварительную обработку. Когда я выполняю сегментацию персонажа, находя контур, он работает хорошо, за исключением персонажа 3, 8.

После того как предварительно обработанное изображение выглядит следующим образом,

pre processed image

Выход после нахождения контуров для 3 и 8 равен

enter image description here

enter image description here

Используемый код:

imgGray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
ret, imgThresh = cv2.threshold(imgGray, 127, 255, 0)
image, contours , _ = cv2.findContours(imgThresh, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)

Но это дает хороший результат для других персонажей:

enter image description here

enter image description here

enter image description here

Как решить эту проблему?

1 Ответ

0 голосов
/ 06 мая 2018

Поскольку ваше изображение не содержит сложного фона, я использовал метод Оцу, чтобы выбрать для меня правильный порог:

threshold, thresh_img = cv2.threshold(imgGray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)

enter image description here

Теперь, когда вы найдете контуры, вам будет легче. Это потому, что контуры найдены для объектов или персонажей белого цвета.

enter image description here

Посмотрите на тех персонажей, которые вызывали проблемы сейчас:

enter image description here

enter image description here

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