华为hiai引擎“通用文本识别”未检测到图像中的任何文本

apeeds0o  于 2021-07-12  发布在  Java
关注(0)|答案(3)|浏览(354)

当使用“通用文本识别”从hiai引擎我不能让它检测和返回任何文本。例如,对于示例图像,它返回空文本,但代码为200。我使用了hiai文档中的一个示例程序,所以我不知道问题出在哪里。所以我从头开始创建了另一个应用程序,结果是一样的。

ghhkc1vu

ghhkc1vu1#

我已经想出了一些办法,至少足够让它发挥作用。您正在导入的某些图像可能太大,并抛出代码200,格式无效,即图像高度和宽度太大。您需要检查位图的高度是否超过2560像素,宽度是否超过1440像素,并相应地进行缩放/裁剪。
我所做的:

Bitmap initClassifiedImg;
    if(bitmap.getHeight()>2560 && bitmap.getWidth()>1440)
        initClassifiedImg = Bitmap.createScaledBitmap(bitmap, 1440, 2560, true);
    else if(bitmap.getHeight()>2560)
        initClassifiedImg = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth(), 2560, true);
    else if (bitmap.getWidth()>1440)
        initClassifiedImg = Bitmap.createScaledBitmap(bitmap, 1440, bitmap.getHeight(), true);
    else
        initClassifiedImg = Bitmap.createBitmap(bitmap);

将此设置为检查位图,它至少不会生成代码200错误。请注意,某些图像仍然无法生成结果。如果resultcode为0而没有结果,则表示它无法识别图像中的文本。
识别图像输出示例
样本图像输出
无结果示例日志

0yg35tkg

0yg35tkg2#

hiai通用文本识别服务限制输入图像的大小。如果图像大小超过指定的范围,则返回错误代码200。
截图的最大宽度和高度分别为1440像素和15210像素。
对于相机拍摄的照片,请使用分辨率为720p或更高、标准照片大小比为2:1或更小的图像。
您还可以集成华为ml kittext识别服务,不受图像大小限制。它适用于所有android手机,不依赖于hms。

holgip5t

holgip5t3#

华为hiai的基本功能包括人脸识别、图像识别、自然语言处理、语言识别、代码检测等。如果无法识别图片中的文字,建议使用对比度高的图片。

相关问题