Я работаю с Opencv для своего проекта. Мне нужно, чтобы преобразовать изображение ниже порогового изображенияПороговое изображение с использованием opencv (Java)
Я попробовал эту функцию:
Imgproc.threshold(imgGray, imgThreshold, 0, 255, Imgproc.THRESH_BINARY + Imgproc.THRESH_OTSU);
Но результат был не так хорош, как вы видите ниже
Итак, я попробовал adaptiveThreshold function
:
Imgproc.adaptiveThreshold(imgGray, imgThreshold, 255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C, Imgproc.THRESH_BINARY, 11, 2);
и это привело:
Я просто ожидать бинарное изображение с белым фоном и черным текстом только не черный области или шум (я не предпочитаю использовать Photo.fastNlMeansDenoising
, потому что это занимает много время). Пожалуйста, помогите мне с решением для этого.
Кроме того, я использую Tesseract
для японского распознавания, но точность не является хорошей. Есть ли у вас какие-либо предложения по улучшению OCR для японцев или какой-либо метод улучшения качества Tesseract?
Это было долгое время, так как я использовал OpenCV, так что может быть болтливая болтовня. Вы не можете найти контуры и белое все вне контура и черное все внутри контура? Изображение результата должно быть довольно четким и точным, учитывая тип ввода. –