我有一个Android AsyncTask,它使用Leptonica库的ReadFile.readBitmap(bitmap)
方法重复将Pix转换为Bitmap。我在完成任何图像处理操作并从中获取Pix对象后执行此转换。
我发现当我不将Bitmap转换为Pix时,使用Tesseract的OCR结果更好。但是,我没有在任何操作中将Pix转换为Bitmap。典型的循环如下:
mOperation=CONVERT_TO_8;
Pix pix2=convertOperation(pix);
mOperation=PIX_TO_BITMAP;
Bitmap bitmap2=convertPixToBitmap(pix2);
publishProgress(bitmap2);
mOperation=SCALE_PIX;//next operation...
那么,如果我想在显示Bitmap作为进度时保持OCR结果的质量,我该怎么办呢。
答案 0 :(得分:0)
我仍然不知道这个问题的答案,但它可能是肯定的。我使用Leptonica中提供的深拷贝方法将Pix复制到临时Pix对象,然后将其转换为Bitmap。现在工作正常:
Pix temp=pix.copy();