Я использую opencv с Python для очистки изображений для чтения для tesseract. У меня есть черно-белое изображение, и после адаптивного порога он выглядит недостаточно. Существует много бумажного шума, и буквы не так чисты. Как я могу это исправить?Создайте читаемые слова после бинаризации
метод adaptiveThreshold:
cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
Источник:
после adaptiveThreshold:
я также пытался эрозии и дилатации:
kernel = np.ones((2,2), np.uint8)
e = cv2.erode(roi_sharpen, kernel, iterations=1))
d = cv2.dilate(roi_sharpen, kernel, iterations=1))
результаты:
Вы можете применить фильтрацию шума (например, гауссовский фильтр) до или после бинаризации. Также вы можете использовать фильтр обнаружения края (например, Canny) вместо адаптивного порога для извлечения краев. –
Я пробовал. Но это хуже:/ –
сочетание errode и dilate может сделать трюк –