我正在开发一个需要从图像中识别文本的应用程序,这可能比使用Tesseract更好的方法。由于Tesseract是开源的并且被广泛接受。我已经在我的应用程序中使用过Tesseract。因此,我从用户那里获取图像,然后对图像进行2-3次操作以提高获得结果的机会,但我没有得到预期的结果。
Java代码->
final Bitmap tessBitmap = Bitmap.createBitmap(image.getWidth(), image.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(tessBitmap);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
canvas.drawBitmap(image, 0, 0, paint);
Mat tessMat = new Mat();
Utils.bitmapToMat(tessBitmap, tessMat);
Imgproc.cvtColor(tessMat, tessMat, Imgproc.COLOR_RGB2GRAY);
Imgproc.threshold(tessMat, tessMat, 0, 255, Imgproc.THRESH_BINARY + Imgproc.THRESH_OTSU);
final Bitmap newTessBitmap = Bitmap.createBitmap(tessMat.width(), tessMat.height(), Bitmap.Config.RGB_565);
Utils.matToBitmap(tessMat, newTessBitmap);
final Bitmap finalTessBitmap = Bitmap.createBitmap(newTessBitmap.getWidth(), newTessBitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas tessCanvas = new Canvas(finalTessBitmap);
Paint tessPaint = new Paint();
tessPaint.setColor(Color.BLACK);
tessCanvas.drawBitmap(newTessBitmap, 0, 0, tessPaint);
,然后将此位图传递给tesseract以获取输出,但效率不高,有时我什至没有得到任何输出。我已经将我的结果与一个在线网站https://www.newocr.com/进行了比较。
它声称在后端也使用tesseract。我也曾尝试通过电子邮件与他们联系,但coudlnt从他们那里得到了任何东西。
mTess = new TessBaseAPI();
tessModelPath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath() + "/tesseract/";
mTess.init(tessModelPath, "eng", TessBaseAPI.OEM_TESSERACT_ONLY); mTess.setPageSegMode(TessBaseAPI.PageSegMode.PSM_AUTO);
mTess.setImage(finalTessBitmap);
这是基本的Tesseract代码。请帮助我解决我的问题。谢谢...
下面给出的是我在应用上述操作后得到的图像,但是当我将其传递给tesseract时,我什么也没得到,但是当传递到newocr.com网站时,它会产生准确的文本。
newOcr的结果。
此图片仅供参考。
如果您有任何想法,请给我建议。
在更多地挖掘并在python代码中运行相同的图像后,我发现在pytesseract中它的工作方式像charm一样,并以newocr的形式产生确切的输出。但是,当我在android中运行时,效果不佳。因此可能是Tesseract的API问题。所以,现在,如果您仍然知道我可以做的任何事情以提高准确性。帮我。预先感谢。
答案 0 :(得分:0)
$ tesseract 8UIBw.jpg -
Warning: Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 613
Tillamook
它没有任何预处理...
$ tesseract -v
tesseract 4.0.0-253-g3948
leptonica-1.76.0 (Dec 14 2018, 15:34:47) [MSC v.1916 LIB Release x64]
libgif 5.1.4 : libjpeg 9b : libpng 1.6.35 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
Found AVX
Found SSE