跳转至

ImageEnhancement.h

Go to the source code of this file.

Image Enhancement是一个提高图像质量的功能。

SAIGE VISION使用与低质量图像对应的高质量图像数据训练的模型来提高低质量图像的质量。

与分割和OCR功能一样,您可以在创建Handle时使用 SaigeHandleConfig 结构设置检查大小。

50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// ExampleIenRuntime.cpp:52

SaigeInferenceHandle handle = nullptr;
SaigeHandleConfig config;
unsigned int handleFlags = 0;
/*config.inspectionSizeWidth = 640;
config.inspectionSizeHeight = 1100;
handleFlags |= SAIGE_SET_INSPECTION_SIZE;*/

if (optimize) {
    handleFlags |= SAIGE_OPTIMIZE_HANDLE;
}
retval = SaigeCreateInferenceHandle(&handle, kProjectTypeIEN, trainedModelPath.c_str(),
                                    deviceIndex, &config, handleFlags);
if (retval < 0) {
    std::cerr << "SaigeCreateInferenceHandle failed - " << SaigeStrError(retval) << std::endl;
    return retval;
}

推理选项

Image Enhancement具有以下推理选项。

推理结果

Image Enhancement的检查结果作为与输入图像大小相同的 unsigned char 数组返回。

208
209
210
211
212
213
214
215
216
217
218
219
220
// ExampleIenRuntime.cpp:210

unsigned char* enhanced_image;
long long imreadTime, inferenceTime, postProcessingTime;

retval = SaigeGetInferenceResultEnhancedImage(result, &enhanced_image);
if (retval < 0) {
    std::cerr << "SaigeGetInferenceResultEnhancedImage() failed - " << SaigeStrError(retval)
              << std::endl;
    SaigeDestroyInferenceHandle(handle);
    SaigeDestroyInferenceResult(result);
    return retval;
}