我正在使用tess-two(Tesseract的android端口)进行OCR。我正在使用OpenCV转换为灰度并应用自适应阈值。结果非常好。问题在于解决方案。当我将Mat转换为位图时,文件大小从315 kb降至12kb。 Tesseract的结果输出是垃圾。有没有办法在使用Utils.matToBitmap()时保持图像的分辨率完好无损。如果不可能,那么解决方法会有所帮助。这是我的代码:
Mat tmp = Imgcodecs.imread(filePath, Imgcodecs.CV_LOAD_IMAGE_COLOR);
Mat source = new Mat(tmp.rows(), tmp.cols(), tmp.type());
Imgproc.cvtColor(tmp, source, Imgproc.COLOR_RGB2GRAY);
//Adaptive Threshold
Imgproc.GaussianBlur(source, source, new Size(3, 3), 0);
Imgproc.adaptiveThreshold(source, source, 255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,
Imgproc.THRESH_BINARY, 15, 4);
Utils.matToBitmap(source, bitmap);