1.输入大小
虽然我们对输入图像的大小不做限制,但是对输入图像宽高均超过2048像素的图像,超分的效果可能不佳。(我们希望用户自主根据情况进行限制)
2.IVManager类
提供接入授权处理,模型管理、下载、缓存和更新
初始化方法
public int initWithDevKey(Context context,String devKey)
参数说明
context:应用程序的上下文环境
devKey:开发密钥
3.IVImage类
1)初始化方法
IVStatus ivStatus=ivImage.loadIVModel(String modelName);
参数说明
modelName:用户从开发者网站中获取的模型名称
2)图像超分辨率重建方法,返回IVOut
public IVOut void improveImage(Bitmap srcBitmap)
参数说明
srcBitmap:输入原始图像
3)返回结果类IVOut
IVOut 包含两个字段,一个是错误代码字段ivStatus,一个是outObject字段。
public IVStatus getIvStatus():允许您获取错误代码 public Object getOutObject():获取输出结果字段 public boolean isSuccess():判断IVOut是否成功
4.IVUpgrade类
1)获取它的实例
public static IVUpgrade getIVUpgrage()
它将为您提供一个已经初始化的IVUpgrade类的实例
2)更新模型操作
public void updateModelsWithCallback(final IVUpdateModelCallback var1)
它将给您提供一个更新模型的服务,同时给了一个回调接口,您可以在更新模型后马上做一些事情
3)获取模型保存位置(为C++接口预留)
public String ivsrPath()
它将提供获取模型保存位置的服务
5.IVUpdateModelCallback接口
void afterUpdateModel(IVStatus var1);
更新完模型后,会获得一个是否成功的IVStatus,请确保更新成功后再做处理。
IvError中的statusCode值的定义与说明
状态命名 | 状态值 | 描述 |
IVStatus_Success | 0 | 成功返回超分结果 |
IVStatus_Bilinea | 1 | 成功,返回bilinear结果(只有当设置了Time Control有效) |
IVStatus_UnknowError | -1 | 未定义错误 |
IVStatus_InternelError | -2 | SDK内部执行错误(通常为内存问题) |
IVStatus_InvalidData | -10001 | HTTP请求,无效数据 |
IVStatus_InvalidParmeter | -10002 | HTTP请求,无效参数 |
IVStatus_InvalidSignature | -10003 | HTTP请求,无效签名 |
IVStatus_InvalidAppIDorDevKey | -10004 | HTTP请求,无效AppID或DevKey |
IVStatus_DatabaseConnectError | -10005 | 数据库连接错误 |
IVStatus_DatabaseOpenError | -10006 | 数据库打开错误 |
IVStatus_AppNotAuthorized | -20000 | App还没有获取获取授权,请检查您的AppID以及DevKey |
IVStatus_LoadModelError | -20001 | 加载模型错误 |
IVStatus_ModelNotFound | -20002 | 模型文件未找到 |
IVStatus_InvalidModelDefine | -20003 | 无效模型定义 |
IVStatus_InvalidReturnData | -20004 | 无效返回数据 |
IVStatus_CertificationNotFound | -20005 | 证书文件未找到 |
IVStatus_AndriodNotSupport | -30001 | Android系统版本不支持 |
IVStatus_GPUNotSupport | -30002 | 设备GPU不支持 |
IVStatus_ServerConnectError | -30003 | 服务器连接错误 |
IVStatus_PleaseLoadModelFirst | -40001 | 请先加载模型 |
IVStatus_InternelNetWorkingError | -40002 | 内部网络执行错误 |
IVStatus_ImgTooBig | -40003 | 图像超过最大允许值 |
IVStatus_Certificate_overdue | -40004 | 证书失效 |
IVStatus_InvalidInputImg | -40005 | 输入图像非法 |
对于返回结果的statusCode您也可以使用IVStatus的public方法getCodeString()获取中文的错误原因。
6.关于混淆
如果出现:
以及:
由于加入了okhttp 所以混淆的时候可能会出错,请在“proguard-rules.pro”文件中加入:
-dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.annotation.** -dontwarn org.conscrypt.**
即可修改这两个错误。