文章40 | 阅读 20927 | 点赞0
void setVisionConfiguration(TextConfiguration textConfiguration);
接口名称 | 参数名 | 类型 | 参数说明 |
---|---|---|---|
setDetectType() | detectType | int | OCR引擎类型定义:TextDetectType.TYPE_TEXT_DETECT_FOCUS_SHOOT(自然场景OCR) |
setLanguage() | language | int | 识别语种定义:<br>TextConfiguration.AUTO(不指定语种,会进行语种检测操作)<br>TextConfiguration.CHINESE(中文)<br>TextConfiguration.ENGLISH(英语)<br>TextConfiguration.SPANISH(西班牙语)<br>TextConfiguration.PORTUGUESE(葡萄牙语)<br>TextConfiguration.ITALIAN(意大利语)<br>TextConfiguration.GERMAN(德语)<br>TextConfiguration.FRENCH(法语)<br>TextConfiguration.RUSSIAN(俄语)<br>TextConfiguration.JAPANESE(日语)<br>TextConfiguration.KOREAN(韩语)<br>默认值为TextConfiguration.AUTO |
setProcessMode() | mode | int | 进程模式定义:<br>VisionConfiguration.MODE_IN(同进程调用)<br>VisionConfiguration.MODE_OUT(跨进程调用)<br>默认值为VisionConfiguration.MODE_OUT |
int detect(VisionImage image, Text result, VisionCallback<Text> visionCallBack);
import ohos.ai.cv.common.ConnectionCallback;
import ohos.ai.cv.common.VisionCallback;
import ohos.ai.cv.common.VisionConfiguration;
import ohos.ai.cv.common.VisionImage;
import ohos.ai.cv.common.VisionManager;
import ohos.ai.cv.text.ITextDetector;
import ohos.ai.cv.text.Text;
import ohos.ai.cv.text.TextConfiguration;
import ohos.ai.cv.text.TextDetectType;
import ohos.app.Context;
import ohos.media.image.PixelMap;
ConnectionCallback connectionCallback = new ConnectionCallback() {
@Override
public void onServiceConnect() {
// 定义连接能力引擎成功后的操作。
}
@Override
public void onServiceDisconnect() {
// 定义连接能力引擎失败后的操作。
}
};
int result = VisionManager.init(context, connectionCallback);
ITextDetector textDetector = VisionManager.getTextDetector(context);
VisionImage image = VisionImage.fromPixelMap(pixelMap);
Text text = new Text();
VisionCallback<Text> callback= new VisionCallback<Text>() {
@Override
public void onResult(Text text) {
// 对正确获得文字识别结果进行处理。
}
@Override
public void onError(int i) {
// 处理错误返回码。
}
@Override
public void onProcessing(float v) {
// 返回处理进度。
}
};
TextConfiguration.Builder builder = new TextConfiguration.Builder();
builder.setProcessMode(VisionConfiguration.MODE_IN);
builder.setDetectType(TextDetectType.TYPE_TEXT_DETECT_FOCUS_SHOOT);
builder.setLanguage(TextConfiguration.ENGLISH);
TextConfiguration config = builder.build();
textDetector.setVisionConfiguration(config);
result = textDetector.prepare();
result = textDetector.detect(image, text, null); // 同步
// 或者
result = textDetector.detect(image, null, visionCallback); // 异步
结果码 | 说明 |
---|---|
0 | 成功 |
-1 | 未知错误 |
-2 | 不支持的功能或接口 |
-3 | 内存分配失败或创建对象失败 |
-4 | 所需库加载失败 |
-10 | 引擎开关已经关闭 |
101 | 失败 |
102 | 超时 |
200 | 输入参数不合法(图片尺寸错误) |
201 | 输入参数不合法(为空) |
210 | 输入参数合法 |
500 | 服务绑定异常 |
521 | 服务绑定异常断开 |
522 | 服务已连接 |
600 | 模型文件异常 |
601 | 模型文件不存在 |
602 | 模型加载失败 |
700 | 异步调用请求发送成功 |
1001 | 神经网络处理单元错误 |
textDetector.release();
if (pixelMap != null) {
pixelMap.release();
pixelMap = null;
}
VisionManager.destroy();
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Forever_wj/article/details/118311429
内容来源于网络,如有侵权,请联系作者删除!