一身转战三千里,一剑曾当百万师。这篇文章主要讲述如何从图像Android应用程序中提取文本相关的知识,希望能为你提供帮助。
我正在为我的android应用程序开发一项功能。我想从图片中读取文本,然后将该文本保存在数据库中。使用OCR是最好的方法吗?还有另外一种方法吗? Google在其文档中建议NDK只应在严格必要时使用,但究竟是什么垮台?
任何帮助都会很棒。
文章图片
文章图片
文章图片
文章图片
答案您可以使用谷歌视觉库将图像转换为文本,它将提供更好的图像输出。在构建gradle中添加以下库:
compile 'com.google.android.gms:play-services-vision:10.0.0+'TextRecognizer textRecognizer = new TextRecognizer.Builder(getApplicationContext()).build();
Frame imageFrame = new Frame.Builder().setBitmap(bitmap)// your image bitmap
.build();
String imageText = "";
SparseArray<
TextBlock>
textBlocks = textRecognizer.detect(imageFrame);
for (int i = 0;
i <
textBlocks.size();
i++) {
TextBlock textBlock = textBlocks.get(textBlocks.keyAt(i));
imageText = textBlock.getValue();
// return string
}
另一答案在这个Simple example of OCRReader in Android教程中,您可以从图像中读取文本,也可以使用非常简单的代码使用相机扫描文本。
该库是使用Mobile Vision Text API开发的用于从相机扫描文本
OCRCapture.Builder(this)
.setUseFlash(true)
.setAutoFocus(true)
.buildWithRequestCode(CAMERA_SCAN_TEXT);
用于从图像中提取文本
String text = OCRCapture.Builder(this).getTextFromUri(pickedImage);
//You can also use getTextFromBitmap(Bitmap bitmap) or getTextFromImage(String imagePath) buplic APIs from OCRLibrary library.
另一答案【如何从图像Android应用程序中提取文本】有一个不同的选择。您可以将图像上传到服务器,从服务器OCR,然后获得结果。
推荐阅读
- 在Bootstrap 4中定义固定宽度input-group-append div
- Android,无法使用WebView上传图像
- 在Glide for Android中离线时加载已获取的图像
- android减少摄像头捕获图像的文件大小小于500 kb
- Applescript制作新文件夹
- WebVR第4部分(画布数据可视化)
- WebVR第5部分(设计和实现)
- 线框映射(如何避免示波器蠕变)
- 所有的好处,没有麻烦(Angular 9教程)