使用opencv的阈值图像(Java)

我正在为我的项目使用Opencv。 我需要将下面的图像转换为阈值图像

原始图像

我试过这个function:

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); 

结果是:

adaptiveThreshold

我只是期望一个只有白色背景和黑色文本的二进制图像,没有黑色区域或噪音(我不喜欢使用Photo.fastNlMeansDenoising因为它需要很多时间)。 请帮我解决这个问题。

另外,我使用Tesseract进行日文识别,但是准确率不高。 你有什么build议更好的OCR为日本人,或任何方法来提高Tesseract质量?

Solutions Collecting From Web of "使用opencv的阈值图像(Java)"