文章40 | 阅读 20714 | 点赞0
{
"resultCode":0,
"doc":
"{
\"bottom_left\":{\"x\":17,\"y\":440},
\"bottom_right\":{\"x\":589,\"y\":760},
\"top_left\":{\"x\":256,\"y\":13},
\"top_right\":{\"x\":829,\"y\":332}
}"
}
void setVisionConfiguration(DocRefineConfiguration docRefineConfiguration);
接口 | 参数名 | 类型 | 参数说明 |
---|---|---|---|
setProcessMode() | mode | int | 进程模式定义:<br>VisionConfiguration.MODE_IN(同进程调用)<br>VisionConfiguration.MODE_OUT(跨进程调用)<br>默认值为VisionConfiguration.MODE_OUT |
int docDetect(VisionImage image, DocCoordinates result, VisionCallback<DocCoordinates> visionCallBack);
int docRefine(VisionImage image, DocCoordinates coordinates, ImageResult result,
VisionCallback<ImageResult> visionCallBack);
import ohos.ai.cv.common.ConnectionCallback;
import ohos.ai.cv.common.VisionCallback;
import ohos.ai.cv.common.VisionImage;
import ohos.ai.cv.common.VisionManager;
import ohos.ai.cv.common.ImageResult;
import ohos.ai.cv.docrefine.DocCoordinates;
import ohos.ai.cv.docrefine.DocRefineConfiguration;
import ohos.ai.cv.docrefine.IDocRefine;
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);
IDocRefine docRefine = VisionManager.getDocRefine(context);
VisionImage image = VisionImage.fromPixelMap(pixelMap);
DocCoordinates docCoordinates = new DocCoordinates();
VisionCallback<DocCoordinates> callback= new VisionCallback<DocCoordinates>() {
@Override
public void onResult(DocCoordinates docCoordinates) {
// 对正确获得的结果进行处理
}
@Override
public void onError(int i) {
// 处理错误返回码
}
@Override
public void onProcessing(float v) {
// 返回处理进度
}
};
ImageResult imageResult = new ImageResult();
VisionCallback<ImageResult> callback = new VisionCallback<ImageResult>() {
@Override
public void onResult(ImageResult imageResult) {
// 对正确获得的结果进行处理
}
@Override
public void onError(int i) {
// 处理错误返回码
}
@Override
public void onProcessing(float v) {
// 返回处理进度
}
};
DocRefineConfiguration.Builder builder = new DocRefineConfiguration.Builder();
builder.setProcessMode(VisionConfiguration.MODE_IN);
DocRefineConfiguration configuration = builder.build();
docRefine.setVisionConfiguration(configuration);
result = docRefine.prepare();
result = docRefine.docDetect(image, docCoordinates, null); // 同步
// 或者
result = docRefine.docDetect(image, null, callback); // 异步
result = docRefine.docRefine(image, docCoordinates, imageResult, null); // 同步
// 或者
result = docRefine.docRefine(image, docCoordinates, null, callback); // 异步
result = docRefine.release();
if (pixelMap != null) {
pixelMap.release();
pixelMap = null;
}
VisionManager.destroy();
结果码 | 说明 |
---|---|
0 | 成功 |
-1 | 未知错误 |
-2 | 不支持的功能或接口 |
-3 | 内存分配失败或创建对象失败 |
-4 | 所需库加载失败 |
-10 | 引擎开关已经关闭 |
101 | 失败 |
102 | 超时 |
200 | 输入参数不合法(图片尺寸错误) |
201 | 输入参数不合法(为空) |
210 | 输入参数合法 |
500 | 服务绑定异常 |
521 | 服务绑定异常断开 |
522 | 服务已连接 |
600 | 模型文件异常 |
601 | 模型文件不存在 |
602 | 模型加载失败 |
700 | 异步调用请求发送成功 |
1001 | 神经网络处理单元错误 |
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Forever_wj/article/details/118358997
内容来源于网络,如有侵权,请联系作者删除!