HarmonyOS 鸿蒙Next 文字识别模拟器中运行失败
HarmonyOS 鸿蒙Next 文字识别模拟器中运行失败
在调用 textRecognition.recognizeText
实现图片文字识别的时候模拟器异常,真机上正常使用,在断点调试的时候发现模拟器进不去 textRecognition.recognizeText
这个方法里面,日志也无报错信息输出,初次接触 app 开发求大佬解答
案例代码如下:
import { textRecognition } from '@kit.CoreVisionKit'
import { image } from '@kit.ImageKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { fileIo } from '@kit.CoreFileKit';
import { photoAccessHelper } from '@kit.MediaLibraryKit';
let imageSource: image.ImageSource | undefined = undefined;
let chooseImage: PixelMap | undefined = undefined;
// 将图片转换为 PixelMap,可以通过图库获取
let photoPicker: photoAccessHelper.PhotoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoPicker.select({
MIMEType: photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE, maxSelectNumber: 1
}).then((res: photoAccessHelper.PhotoSelectResult) => {
let uri = res.photoUris[0];
if (uri === undefined) {
hilog.error(0x0000, 'OCRDemo', "Failed to get uri.");
return;
}
setTimeout(async () => {
let fileSource = await fileIo.open(uri, fileIo.OpenMode.READ_ONLY);
imageSource = image.createImageSource(fileSource.fd);
chooseImage = await imageSource.createPixelMap();
hilog.info(0x0000, 'OCRDemo', `chooseImage:${chooseImage.toString()}`);
if (!chooseImage) {
return;
}
// 调用文本识别接口
let visionInfo: textRecognition.VisionInfo = {
pixelMap: chooseImage
};
textRecognition.recognizeText(visionInfo, (error: BusinessError, data: textRecognition.TextRecognitionResult) => {
if (error) {
hilog.error(0x0000, 'OCRDemo', `Failed to recognize text. Code: ${error.code}, message: ${error.message}`);
return;
}
// 识别成功,获取对应的结果
let recognitionString = data.toString();
hilog.info(0x0000, 'OCRDemo', `Succeeded in recognizing text:${recognitionString}`);
if(chooseImage && imageSource) {
chooseImage.release();
imageSource.release();
}
});
}, 100)
}).catch((err: BusinessError) => {
hilog.error(0x0000, 'OCRDemo', `Failed to get photo image uri. Code:${err.code},message:${err.message}`);
})
更多关于HarmonyOS 鸿蒙Next 文字识别模拟器中运行失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
模拟器不支持AI能力,请参考真机与模拟器的区别:
更多关于HarmonyOS 鸿蒙Next 文字识别模拟器中运行失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对“HarmonyOS 鸿蒙Next 文字识别模拟器中运行失败”的问题,可能的原因及解决方向如下:
-
模拟器配置问题:
- 检查模拟器是否支持HarmonyOS Next版本,以及是否已正确配置所有必要的环境和依赖。
- 确认模拟器版本与文字识别SDK或框架的版本兼容性。
-
代码或资源文件问题:
- 验证文字识别功能的相关代码是否存在逻辑错误或资源文件缺失。
- 检查是否所有必要的权限(如相机、存储等)都已在模拟器的配置中开启。
-
系统或API限制:
- 某些文字识别功能可能依赖于特定的硬件或系统API,模拟器可能无法完全模拟这些环境。
- 查阅HarmonyOS Next的官方文档,确认文字识别功能在模拟器上的支持情况。
-
调试与日志分析:
- 使用HarmonyOS提供的调试工具查看模拟器上的运行日志,分析错误原因。
- 根据日志信息调整代码或配置,尝试重新运行。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。请注意,直接联系官网客服可能能更快地获得针对您具体问题的专业帮助。