1# ImageProcessing 2 3 4## 概述 5 6ImageProcessing模块提供图片处理功能的API接口,包括颜色空间转换和元数据生成。 7 8<!--RP1--><!--RP1End--> 9 10**起始版本:** 13 11 12 13## 汇总 14 15 16### 文件 17 18| 名称 | 描述 | 19| -------- | -------- | 20| [image_processing.h](image__processing_8h.md) | 声明图片处理函数。 | 21| [image_processing_types.h](image__processing__types_8h.md) | 图片处理的类型定义。 | 22 23 24### 结构体 25 26| 名称 | 描述 | 27| -------- | -------- | 28| struct [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) | 色彩空间信息,用于色彩空间转换能力查询。 | 29 30 31### 类型定义 32 33| 名称 | 描述 | 34| -------- | -------- | 35| typedef struct [OH_ImageProcessing](#oh_imageprocessing) [OH_ImageProcessing](#oh_imageprocessing) | 提供OH_ImageProcessing结构体声明。 | 36| typedef struct [OH_PixelmapNative](#oh_pixelmapnative) [OH_PixelmapNative](#oh_pixelmapnative) | 提供OH_PixelmapNative结构体声明。 | 37| typedef struct [OH_AVFormat](#oh_avformat) [OH_AVFormat](#oh_avformat) | 提供OH_AVFormat结构体声明。 | 38| typedef struct [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) [ImageProcessing_ColorSpaceInfo](#imageprocessing_colorspaceinfo) | 色彩空间信息,用于色彩空间转换能力查询。 | 39| typedef enum [ImageDetailEnhancer_QualityLevel](#imagedetailenhancer_qualitylevel-1) [ImageDetailEnhancer_QualityLevel](#imagedetailenhancer_qualitylevel) | 质量级别,用于细节增强能力。 | 40| typedef enum [ImageProcessing_ErrorCode](#imageprocessing_errorcode-1) [ImageProcessing_ErrorCode](#imageprocessing_errorcode) | 图片处理接口错误码说明。 | 41 42 43### 枚举 44 45| 名称 | 描述 | 46| -------- | -------- | 47| [ImageDetailEnhancer_QualityLevel](#imagedetailenhancer_qualitylevel-1) { <br/>IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_NONE,<br/>IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_LOW,<br/>IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_MEDIUM,<br/>IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH } | 质量级别,用于细节增强能力。 | 48| [ImageProcessing_ErrorCode](#imageprocessing_errorcode-1) {<br/>IMAGE_PROCESSING_SUCCESS,<br/>IMAGE_PROCESSING_ERROR_INVALID_PARAMETER = 401,<br/>IMAGE_PROCESSING_ERROR_UNKNOWN = 29200001,<br/>IMAGE_PROCESSING_ERROR_INITIALIZE_FAILED,<br/>IMAGE_PROCESSING_ERROR_CREATE_FAILED,<br/>IMAGE_PROCESSING_ERROR_PROCESS_FAILED,<br/>IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING,<br/>IMAGE_PROCESSING_ERROR_OPERATION_NOT_PERMITTED,<br/>IMAGE_PROCESSING_ERROR_NO_MEMORY,<br/>IMAGE_PROCESSING_ERROR_INVALID_INSTANCE,<br/>IMAGE_PROCESSING_ERROR_INVALID_VALUE<br/>} | 图片处理接口错误码说明。 | 49 50 51### 函数 52 53| 名称 | 描述 | 54| -------- | -------- | 55| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_InitializeEnvironment](#oh_imageprocessing_initializeenvironment) (void) | 初始化图片处理模块的全局环境。 | 56| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_DeinitializeEnvironment](#oh_imageprocessing_deinitializeenvironment) (void) | 反初始化图片处理模块的全局环境。 | 57| bool [OH_ImageProcessing_IsColorSpaceConversionSupported](#oh_imageprocessing_iscolorspaceconversionsupported) (const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*sourceImageInfo, const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*destinationImageInfo) | 查询是否支持当前图片色彩空间转换能力。 | 58| bool [OH_ImageProcessing_IsCompositionSupported](#oh_imageprocessing_iscompositionsupported) (const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*sourceImageInfo, const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*sourceGainmapInfo, const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*destinationImageInfo) | 查询是否支持HDR双层图片转换为HDR单层图片。 | 59| bool [OH_ImageProcessing_IsDecompositionSupported](#oh_imageprocessing_isdecompositionsupported) (const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*sourceImageInfo, const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*destinationImageInfo, const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*destinationGainmapInfo) | 查询是否支持HDR单层图片转换为HDR双层图片。 | 60| bool [OH_ImageProcessing_IsMetadataGenerationSupported](#oh_imageprocessing_ismetadatagenerationsupported) (const [ImageProcessing_ColorSpaceInfo](_image_processing___color_space_info.md) \*sourceImageInfo) | 查询是否支持图片元数据生成能力。 | 61| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_Create](#oh_imageprocessing_create) ([OH_ImageProcessing](#oh_imageprocessing) \*\*imageProcessor, int32_t type) | 创建一个图片处理模块实例。 | 62| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_Destroy](#oh_imageprocessing_destroy) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor) | 销毁当前图片处理模块实例。 | 63| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_SetParameter](#oh_imageprocessing_setparameter) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, const [OH_AVFormat](#oh_avformat) \*parameter) | 设置图片处理模块参数。 | 64| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_GetParameter](#oh_imageprocessing_getparameter) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, [OH_AVFormat](#oh_avformat) \*parameter) | 获取图片处理模块参数。 | 65| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_ConvertColorSpace](#oh_imageprocessing_convertcolorspace) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, [OH_PixelmapNative](#oh_pixelmapnative) \*sourceImage, [OH_PixelmapNative](#oh_pixelmapnative) \*destinationImage) | 实现单层图片间转换。 | 66| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_Compose](#oh_imageprocessing_compose) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, [OH_PixelmapNative](#oh_pixelmapnative) \*sourceImage, [OH_PixelmapNative](#oh_pixelmapnative) \*sourceGainmap, [OH_PixelmapNative](#oh_pixelmapnative) \*destinationImage) | 实现HDR双层图片到HDR单层图片的转换。 | 67| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_Decompose](#oh_imageprocessing_decompose) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, [OH_PixelmapNative](#oh_pixelmapnative) \*sourceImage, [OH_PixelmapNative](#oh_pixelmapnative) \*destinationImage, [OH_PixelmapNative](#oh_pixelmapnative) \*destinationGainmap) | 实现HDR单层图片到HDR双层图片的转换。 | 68| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_GenerateMetadata](#oh_imageprocessing_generatemetadata) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, [OH_PixelmapNative](#oh_pixelmapnative) \*sourceImage) | 生成HDR图片元数据。 | 69| [ImageProcessing_ErrorCode](#imageprocessing_errorcode) [OH_ImageProcessing_EnhanceDetail](#oh_imageprocessing_enhancedetail) ([OH_ImageProcessing](#oh_imageprocessing) \*imageProcessor, [OH_PixelmapNative](#oh_pixelmapnative) \*sourceImage, [OH_PixelmapNative](#oh_pixelmapnative) \*destinationImage) | 进行图片清晰度/细节增强。 | 70 71 72### 变量 73 74| 名称 | 描述 | 75| -------- | -------- | 76| const int32_t [IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION](#image_processing_type_color_space_conversion) | 用于创建色彩空间转换的图片处理实例。 | 77| const int32_t [IMAGE_PROCESSING_TYPE_COMPOSITION](#image_processing_type_composition) | 用于创建双层HDR图片转换单层HDR图片的图片处理实例。 | 78| const int32_t [IMAGE_PROCESSING_TYPE_DECOMPOSITION](#image_processing_type_decomposition) | 用于创建单层HDR图片转换双层HDR图片的图片处理实例。 | 79| const int32_t [IMAGE_PROCESSING_TYPE_METADATA_GENERATION](#image_processing_type_metadata_generation) | 用于创建元数据生成的图片处理实例。 | 80| const int32_t [IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER](#image_processing_type_detail_enhancer) | 用于创建细节增强的图片处理实例。 | 81| const char \* [IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL](#image_detail_enhancer_parameter_key_quality_level) | 用于设定图像细节增强的质量级别。 | 82 83 84## 类型定义说明 85 86 87### ImageDetailEnhancer_QualityLevel 88 89``` 90typedef enum ImageDetailEnhancer_QualityLevel ImageDetailEnhancer_QualityLevel 91``` 92 93**描述** 94 95质量级别,用于细节增强能力。 96 97键参数的值[IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL](#image_detail_enhancer_parameter_key_quality_level)。 98 99**起始版本:** 13 100 101**参见:** 102 103[OH_ImageProcessing_SetParameter](#oh_imageprocessing_setparameter) 104 105[OH_ImageProcessing_GetParameter](#oh_imageprocessing_getparameter) 106 107 108### ImageProcessing_ColorSpaceInfo 109 110``` 111typedef struct ImageProcessing_ColorSpaceInfo ImageProcessing_ColorSpaceInfo 112``` 113 114**描述** 115 116色彩空间信息,用于色彩空间转换能力查询。 117 118**起始版本:** 13 119 120**参见:** 121 122[OH_ImageProcessing_IsColorSpaceConversionSupported](#oh_imageprocessing_iscolorspaceconversionsupported) 123 124[OH_ImageProcessing_IsCompositionSupported](#oh_imageprocessing_iscompositionsupported) 125 126[OH_ImageProcessing_IsDecompositionSupported](#oh_imageprocessing_isdecompositionsupported) 127 128 129### ImageProcessing_ErrorCode 130 131``` 132typedef enum ImageProcessing_ErrorCode ImageProcessing_ErrorCode 133``` 134 135**描述** 136 137图片处理接口错误码说明。 138 139**起始版本:** 13 140 141 142### OH_AVFormat 143 144``` 145typedef struct OH_AVFormat OH_AVFormat 146``` 147 148**描述** 149 150提供OH_AVFormat结构体声明。 151 152**起始版本:** 13 153 154 155### OH_ImageProcessing 156 157``` 158typedef struct OH_ImageProcessing OH_ImageProcessing 159``` 160 161**描述** 162 163提供OH_ImageProcessing结构体声明。 164 165定义了OH_ImageProcessing的空指针并调用[OH_ImageProcessing_Create](#oh_imageprocessing_create)来创建图片处理实例。在创建实例之前,指针应为空。用户可以为不同的处理类型创建多个图片实例。 166 167**起始版本:** 13 168 169 170### OH_PixelmapNative 171 172``` 173typedef struct OH_PixelmapNative OH_PixelmapNative 174``` 175 176**描述** 177 178提供OH_PixelmapNative结构体声明。 179 180**起始版本:** 13 181 182 183## 枚举类型说明 184 185 186### ImageDetailEnhancer_QualityLevel 187 188``` 189enum ImageDetailEnhancer_QualityLevel 190``` 191 192**描述** 193 194质量级别,用于细节增强能力。 195 196键参数的值[IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL](#image_detail_enhancer_parameter_key_quality_level)。 197 198**起始版本:** 13 199 200**参见:** 201 202[OH_ImageProcessing_SetParameter](#oh_imageprocessing_setparameter) 203 204[OH_ImageProcessing_GetParameter](#oh_imageprocessing_getparameter) 205 206| 枚举值 | 描述 | 207| -------- | -------- | 208| IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_NONE | 无细节增强。 | 209| IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_LOW | 细节增强质量较低,但速度较快。默认级别。 | 210| IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_MEDIUM | 细节增强质量中等,速度介于低级别与高级别之间。 | 211| IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH | 细节增强质量较高,但速度较慢。 | 212 213 214### ImageProcessing_ErrorCode 215 216``` 217enum ImageProcessing_ErrorCode 218``` 219 220**描述** 221 222图片处理接口错误码说明。 223 224**起始版本:** 13 225 226| 枚举值 | 描述 | 227| -------- | -------- | 228| IMAGE_PROCESSING_SUCCESS | 成功。 | 229| IMAGE_PROCESSING_ERROR_INVALID_PARAMETER | 输入参数无效。<br>在以下错误条件返回该错误码: <br>1 - 输入或输出buffer无效,例如图片buffer为空。 <br>2 - 参数无效,例如参数为空。 <br>3 - 类型无效,例如在创建函数中传入的类型不存在。 | 230| IMAGE_PROCESSING_ERROR_UNKNOWN | 未知错误,例如GPU计算失败或memcpy失败。 | 231| IMAGE_PROCESSING_ERROR_INITIALIZE_FAILED | 全局环境初始化失败,例如GPU环境初始化失败。 | 232| IMAGE_PROCESSING_ERROR_CREATE_FAILED | 创建图片处理实例失败,例如实例数量超过上限。 | 233| IMAGE_PROCESSING_ERROR_PROCESS_FAILED | 处理图片buffer失败,例如处理超时。 | 234| IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING | 当前处理不支持,可以通过“OH_ImageProcessing_IsXXXSupported”接口查询是否支持该能力。 | 235| IMAGE_PROCESSING_ERROR_OPERATION_NOT_PERMITTED | 无权限操作,可能由于状态不正确导致。 | 236| IMAGE_PROCESSING_ERROR_NO_MEMORY | 内存不足。 | 237| IMAGE_PROCESSING_ERROR_INVALID_INSTANCE | 无效的图片处理实例,可能由于实例为空导致。 | 238| IMAGE_PROCESSING_ERROR_INVALID_VALUE | 输入值无效。<br>在以下错误条件下返回该错误码: <br>1 - 输入或输出图片buffer无效,例如图片buffer的宽度(高度)过大或颜色空间不正确。 <br>2 - 参数无效,例如参数不包括有效信息,例如细节增强的质量级别不正确。 | 239 240 241## 函数说明 242 243 244### OH_ImageProcessing_Compose() 245 246``` 247ImageProcessing_ErrorCode OH_ImageProcessing_Compose(OH_ImageProcessing* imageProcessor,OH_PixelmapNative* sourceImage, OH_PixelmapNative* sourceGainmap, OH_PixelmapNative* destinationImage) 248``` 249 250**描述** 251 252实现HDR双层图片到HDR单层图片的转换。 253 254此函数通过输入图片与输入Gainmap生成输出图片。 255 256**起始版本:** 13 257 258**参数:** 259 260| 名称 | 描述 | 261| -------- | -------- | 262| imageProcessor | 指向图片处理模块实例的指针。该实例应该由[IMAGE_PROCESSING_TYPE_COMPOSITION](#image_processing_type_composition)类型创建。 | 263| sourceImage | 指向输入图片的指针。 | 264| sourceGainmap | 指向输入Gainmap的指针。 | 265| destinationImage | 指向输出图片的指针。 | 266 267**返回:** 268 269- 如果图片处理成功,则返回IMAGE_PROCESSING_SUCCESS。 270- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 271- 当图片为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 272- 当图片的某些属性无效时,返回IMAGE_PROCESSING_ERROR_INVALID_VALUE,例如图片的色彩空间时不支持的。 273- 当该图片处理不支持时,返回IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。 274- 当该图片处理中返回错误时,返回IMAGE_PROCESSING_ERROR_PROCESS_FAILED。 275- 当内存分配失败时,返回IMAGE_PROCESSING_ERROR_NO_MEMORY。 276 277 278### OH_ImageProcessing_ConvertColorSpace() 279 280``` 281ImageProcessing_ErrorCode OH_ImageProcessing_ConvertColorSpace(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage) 282``` 283 284**描述** 285 286实现单层图片间转换。 287 288此函数包括HDR图片到SDR图片的色彩空间转换,SDR图片到HDR图片的色彩空间转换,SDR图片到SDR图片的色彩空间转换和HDR图片的色彩空间转换。 289 290**起始版本:** 13 291 292**参数:** 293 294| 名称 | 描述 | 295| -------- | -------- | 296| imageProcessor | 指向图片处理模块实例的指针。该实例应该由[IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION](#image_processing_type_color_space_conversion)类型创建。 | 297| sourceImage | 指向输入图片的指针。 | 298| destinationImage | 指向输出图片的指针。 | 299 300**返回:** 301 302- 如果图片处理成功,则返回IMAGE_PROCESSING_SUCCESS。 303- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 304- 当图片为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 305- 当图片的某些属性无效时,返回IMAGE_PROCESSING_ERROR_INVALID_VALUE,例如图片的色彩空间时不支持的。 306- 当该图片处理不支持时,返回IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。 307- 当该图片处理中返回错误时,返回IMAGE_PROCESSING_ERROR_PROCESS_FAILED。 308- 当内存分配失败时,返回IMAGE_PROCESSING_ERROR_NO_MEMORY。 309 310 311### OH_ImageProcessing_Create() 312 313``` 314ImageProcessing_ErrorCode OH_ImageProcessing_Create(OH_ImageProcessing** imageProcessor, int32_t type) 315``` 316 317**描述** 318 319创建一个图片处理模块实例。 320 321**起始版本:** 13 322 323**参数:** 324 325| 名称 | 描述 | 326| -------- | -------- | 327| imageProcessor | 输出参数。指针\*imageProcessor指向一个新的图片处理对象。 指针\*imageProcessor在传递前必须是一个空指针。 | 328| type | 使用IMAGE_PROCESSING_TYPE_XXX来指定图片处理类型。此实例的类型在创建后不能更改。 | 329 330**返回:** 331 332- 如果创建成功,则返回IMAGE_PROCESSING_SUCCESS。 333- 当指定的图片处理类型不支持时,返回IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING,例如如果不支持图片元数据生成能力,则返回不支持该处理类型。 334- 当创建失败时,返回IMAGE_PROCESSING_ERROR_CREATE_FAILED。 335- 当该实例为空或指向该实例的指针为空时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 336- 当指定的图片处理类型无效时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 337 338 339### OH_ImageProcessing_Decompose() 340 341``` 342ImageProcessing_ErrorCode OH_ImageProcessing_Decompose(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage, OH_PixelmapNative* destinationGainmap) 343``` 344 345**描述** 346 347实现HDR单层图片到HDR双层图片的转换。 348 349此函数通过输入图片生成输出图片和输出Gainmap。 350 351**起始版本:** 13 352 353**参数:** 354 355| 名称 | 描述 | 356| -------- | -------- | 357| imageProcessor | 指向图片处理模块实例的指针。该实例应该由[IMAGE_PROCESSING_TYPE_DECOMPOSITION](#image_processing_type_decomposition)类型创建。 | 358| sourceImage | 指向输入图片的指针。 | 359| destinationImage | 指向输出图片的指针。 | 360| destinationGainmap | 指向输出Gainmap的指针。 | 361 362**返回:** 363 364- 如果图片处理成功,则返回IMAGE_PROCESSING_SUCCESS。 365- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 366- 当图片为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 367- 当图片的某些属性无效时,返回IMAGE_PROCESSING_ERROR_INVALID_VALUE,例如图片的色彩空间时不支持的。 当该图片处理不支持时,返回IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。 368- 当该图片处理中返回错误时,返回IMAGE_PROCESSING_ERROR_PROCESS_FAILED。 369- 当内存分配失败时,返回IMAGE_PROCESSING_ERROR_NO_MEMORY。 370 371 372### OH_ImageProcessing_DeinitializeEnvironment() 373 374``` 375ImageProcessing_ErrorCode OH_ImageProcessing_DeinitializeEnvironment(void) 376``` 377 378**描述** 379 380反初始化图片处理模块的全局环境。 381 382如果[OH_ImageProcessing_InitializeEnvironment](#oh_imageprocessing_initializeenvironment)被调用,则此函数为必需函数。 通常此函数在主进程准备退出时被调用,用于反初始化图片处理模块的全局环境(由[OH_ImageProcessing_InitializeEnvironment](#oh_imageprocessing_initializeenvironment)接口 初始化)。 如果此时存在图片处理实例,则不应调用此函数。 如果[OH_ImageProcessing_InitializeEnvironment](#oh_imageprocessing_initializeenvironment)未被调用,则不应调用此函数。 383 384**起始版本:** 13 385 386**返回:** 387 388- 如果反初始化成功,则返回IMAGE_PROCESSING_SUCCESS。 389- 如果存在图片处理实例未被销毁或[OH_ImageProcessing_InitializeEnvironment](#oh_imageprocessing_initializeenvironment)接口未被调用,则返回 IMAGE_PROCESSING_ERROR_OPERATION_NOT_PERMITTED。 390 391 392### OH_ImageProcessing_Destroy() 393 394``` 395ImageProcessing_ErrorCode OH_ImageProcessing_Destroy(OH_ImageProcessing* imageProcessor) 396``` 397 398**描述** 399 400销毁当前图片处理模块实例。 401 402**起始版本:** 13 403 404**参数:** 405 406| 名称 | 描述 | 407| -------- | -------- | 408| imageProcessor | 指向图片处理模块实例的指针。当实例被销毁时,建议该指针设置为空。 | 409 410**返回:** 411 412- 如果销毁成功,则返回IMAGE_PROCESSING_SUCCESS。 413- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 414 415 416### OH_ImageProcessing_EnhanceDetail() 417 418``` 419ImageProcessing_ErrorCode OH_ImageProcessing_EnhanceDetail(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage) 420``` 421 422**描述** 423 424进行图片清晰度/细节增强。 425 426此函数根据输入图片和输出图片预设的尺寸,对源图片进行必要的缩放操作生成目标图片,并提供了多种缩放方法以平衡性能和图像质量。 427 428**起始版本:** 13 429 430**参数:** 431 432| 名称 | 描述 | 433| -------- | -------- | 434| imageProcessor | 指向图片处理模块实例的指针。该实例应该由[IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER](#image_processing_type_detail_enhancer)类型创建。 | 435| sourceImage | 指向输入图片的指针。 | 436| destinationImage | 指向输出图片的指针。 | 437 438**返回:** 439 440- 如果图片处理成功,则返回IMAGE_PROCESSING_SUCCESS。 441- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 442- 当图片为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 443- 当图片的某些属性无效时,返回IMAGE_PROCESSING_ERROR_INVALID_VALUE,例如图片的色彩空间时不支持的。 444- 当该图片处理不支持时,返回IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。 445- 当该图片处理中返回错误时,返回IMAGE_PROCESSING_ERROR_PROCESS_FAILED。 446- 当内存分配失败时,返回IMAGE_PROCESSING_ERROR_NO_MEMORY。 447 448 449### OH_ImageProcessing_GenerateMetadata() 450 451``` 452ImageProcessing_ErrorCode OH_ImageProcessing_GenerateMetadata(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage) 453``` 454 455**描述** 456 457生成HDR图片元数据。 458 459此函数为HDR图片生成元数据。 460 461**起始版本:** 13 462 463**参数:** 464 465| 名称 | 描述 | 466| -------- | -------- | 467| imageProcessor | 指向图片处理模块实例的指针。该实例应该由[IMAGE_PROCESSING_TYPE_METADATA_GENERATION](#image_processing_type_metadata_generation)类型创建。 | 468| sourceImage | 指向输入图片的指针。 | 469 470**返回:** 471 472- 如果图片处理成功,则返回IMAGE_PROCESSING_SUCCESS。 473- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 474- 当图片为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 475- 当图片的某些属性无效时,返回IMAGE_PROCESSING_ERROR_INVALID_VALUE,例如图片的色彩空间时不支持的。 当该图片处理不支持时,返回IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。 476- 当该图片处理中返回错误时,返回IMAGE_PROCESSING_ERROR_PROCESS_FAILED。 477- 当内存分配失败时,返回IMAGE_PROCESSING_ERROR_NO_MEMORY。 478 479 480### OH_ImageProcessing_GetParameter() 481 482``` 483ImageProcessing_ErrorCode OH_ImageProcessing_GetParameter(OH_ImageProcessing* imageProcessor, OH_AVFormat* parameter) 484``` 485 486**描述** 487 488获取图片处理模块参数。 489 490通过特定参数键获取参数。 491 492**起始版本:** 13 493 494**参数:** 495 496| 名称 | 描述 | 497| -------- | -------- | 498| imageProcessor | 指向图片处理模块实例的指针。 | 499| parameter | 该图片处理模块实例使用的参数。 | 500 501**返回:** 502 503- 如果获取参数不成功,则返回IMAGE_PROCESSING_SUCCESS。 504- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 505- 当参数为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 506 507 508### OH_ImageProcessing_InitializeEnvironment() 509 510``` 511ImageProcessing_ErrorCode OH_ImageProcessing_InitializeEnvironment(void) 512``` 513 514**描述** 515 516初始化图片处理模块的全局环境。 517 518此函数为非必需函数。 通常此函数在主进程启动时被调用,用于图片处理模块的全局环境初始化并可以减少[OH_ImageProcessing_Create](#oh_imageprocessing_create)的耗时。 调用[OH_ImageProcessing_DeinitializeEnvironment](#oh_imageprocessing_deinitializeenvironment)进行全局环境反初始化。 可用于检查设备GPU是否正常工作。 519 520**起始版本:** 13 521 522**返回:** 523 524如果初始化成功,则返回IMAGE_PROCESSING_SUCCESS,否则返回IMAGE_PROCESSING_ERROR_INITIALIZE_FAILED。 525 526 527### OH_ImageProcessing_IsColorSpaceConversionSupported() 528 529``` 530bool OH_ImageProcessing_IsColorSpaceConversionSupported(const ImageProcessing_ColorSpaceInfo* sourceImageInfo, const ImageProcessing_ColorSpaceInfo* destinationImageInfo) 531``` 532 533**描述** 534 535查询是否支持当前图片色彩空间转换能力。 536 537**起始版本:** 13 538 539**参数:** 540 541| 名称 | 描述 | 542| -------- | -------- | 543| sourceImageInfo | 指向输入图片色彩空间信息的指针。 | 544| destinationImageInfo | 指向输出图片色彩空间信息的指针, | 545 546**返回:** 547 548如果支持当前色彩空间转换,返回true。如果不支持当前色彩空间转换,返回false。 549 550 551### OH_ImageProcessing_IsCompositionSupported() 552 553``` 554bool OH_ImageProcessing_IsCompositionSupported(const ImageProcessing_ColorSpaceInfo* sourceImageInfo, const ImageProcessing_ColorSpaceInfo* sourceGainmapInfo, const ImageProcessing_ColorSpaceInfo* destinationImageInfo) 555``` 556 557**描述** 558 559查询是否支持HDR双层图片转换为HDR单层图片。 560 561**起始版本:** 13 562 563**参数:** 564 565| 名称 | 描述 | 566| -------- | -------- | 567| sourceImageInfo | 指向输入图片色彩空间信息的指针。 | 568| sourceGainmapInfo | 指向输入Gainmap色彩空间信息的指针。 | 569| destinationImageInfo | 指向输出图片色彩空间信息的指针。 | 570 571**返回:** 572 573如果支持HDR双层图片转换HDR单层图片能力,返回true。如果不支持此能力,返回false。 574 575 576### OH_ImageProcessing_IsDecompositionSupported() 577 578``` 579bool OH_ImageProcessing_IsDecompositionSupported(const ImageProcessing_ColorSpaceInfo* sourceImageInfo, const ImageProcessing_ColorSpaceInfo* destinationImageInfo, const ImageProcessing_ColorSpaceInfo* destinationGainmapInfo) 580``` 581 582**描述** 583 584查询是否支持HDR单层图片转换为HDR双层图片。 585 586**起始版本:** 13 587 588**参数:** 589 590| 名称 | 描述 | 591| -------- | -------- | 592| sourceImageInfo | 指向输入图片色彩空间信息的指针。 | 593| destinationImageInfo | 指向输出图片色彩空间信息的指针。 | 594| destinationGainmapInfo | 指向输出Gainmap色彩空间信息的指针。 | 595 596**返回:** 597 598如果支持HDR单层图片转换为HDR双层图片能力,返回true。如果不支持此能力,返回false。 599 600 601### OH_ImageProcessing_IsMetadataGenerationSupported() 602 603``` 604bool OH_ImageProcessing_IsMetadataGenerationSupported(const ImageProcessing_ColorSpaceInfo* sourceImageInfo) 605``` 606 607**描述** 608 609查询是否支持图片元数据生成能力。 610 611**起始版本:** 13 612 613**参数:** 614 615| 名称 | 描述 | 616| -------- | -------- | 617| sourceImageInfo | 指向输入图片色彩空间信息的指针。 | 618 619**返回:** 620 621如果支持图片元数据生成能力,返回true。如果不支持此能力,返回false。 622 623 624### OH_ImageProcessing_SetParameter() 625 626``` 627ImageProcessing_ErrorCode OH_ImageProcessing_SetParameter(OH_ImageProcessing* imageProcessor, const OH_AVFormat* parameter) 628``` 629 630**描述** 631 632设置图片处理模块参数。 633 634通过特定参数键添加参数。 635 636**起始版本:** 13 637 638**参数:** 639 640| 名称 | 描述 | 641| -------- | -------- | 642| imageProcessor | 指向图片处理模块实例的指针。 | 643| parameter | 图片处理参数。 | 644 645**返回:** 646 647- 如果设置参数成功,则返回IMAGE_PROCESSING_SUCCESS。 648- 当该实例为空或该实例不是图片处理模块实例时,返回IMAGE_PROCESSING_ERROR_INVALID_INSTANCE。 649- 当参数为空时,返回IMAGE_PROCESSING_ERROR_INVALID_PARAMETER。 650- 当部分参数无效时,返回IMAGE_PROCESSING_ERROR_INVALID_VALUE,例如参数包含不支持的参数键或值。 651- 当内存分配失败时,返回IMAGE_PROCESSING_ERROR_NO_MEMORY。 652 653 654## 变量说明 655 656 657### IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL 658 659``` 660const char* IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL 661``` 662 663**描述** 664 665用于设定图像细节增强的质量级别。 666 667使用[ImageDetailEnhancer_QualityLevel](#imagedetailenhancer_qualitylevel)获取其值。 使用[OH_ImageProcessing_SetParameter](#oh_imageprocessing_setparameter)设置质量级别。 使用[OH_ImageProcessing_GetParameter](#oh_imageprocessing_getparameter)获取当前质量级别。 668 669**起始版本:** 13 670 671**参见:** 672 673[OH_VideoProcessing_SetParameter](../apis-media-kit/_video_processing.md#oh_videoprocessing_setparameter) 674 675[OH_VideoProcessing_GetParameter](../apis-media-kit/_video_processing.md#oh_videoprocessing_getparameter) 676 677 678### IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION 679 680``` 681const int32_t IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION 682``` 683 684**描述** 685 686用于创建色彩空间转换的图片处理实例。 687 688色彩空间转换包括单层HDR图片转换SDR图片,SDR图片之间的转换,以及SDR图片转换单层HDR图片,部分能力由厂商支持。 使用**OH_ImageProcessing_IsColorSpaceConversionSuported**查询某种转换是否支持在单层图片之间进行。 689 690**起始版本:** 13 691 692**参见:** 693 694[OH_ImageProcessing_Create](#oh_imageprocessing_create) 695 696 697### IMAGE_PROCESSING_TYPE_COMPOSITION 698 699``` 700const int32_t IMAGE_PROCESSING_TYPE_COMPOSITION 701``` 702 703**描述** 704 705用于创建双层HDR图片转换单层HDR图片的图片处理实例。 706 707包括从双层HDR图片转换为单层HDR图片的能力。部分能力由厂商支持。 使用[OH_ImageProcessing_IsCompositionSupported](#oh_imageprocessing_iscompositionsupported)查询是否支持从双层HDR图片到单层HDR图片的转换。 708 709**起始版本:** 13 710 711**参见:** 712 713[OH_ImageProcessing_Create](#oh_imageprocessing_create) 714 715 716### IMAGE_PROCESSING_TYPE_DECOMPOSITION 717 718``` 719const int32_t IMAGE_PROCESSING_TYPE_DECOMPOSITION 720``` 721 722**描述** 723 724用于创建单层HDR图片转换双层HDR图片的图片处理实例。 725 726包括从单层HDR图片转换为双层HDR图片的能力。部分能力由厂商支持。 使用[OH_ImageProcessing_IsDecompositionSupported](#oh_imageprocessing_isdecompositionsupported)查询是否支持从单层HDR图片到双层HDR图片的转换。 727 728**起始版本:** 13 729 730**参见:** 731 732[OH_ImageProcessing_Create](#oh_imageprocessing_create) 733 734 735### IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER 736 737``` 738const int32_t IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER 739``` 740 741**描述** 742 743用于创建细节增强的图片处理实例。 744 745按指定图像质量缩放或调整图片大小,或仅增强图像细节以在不更改分辨率的情况下渲染图片。 746 747**起始版本:** 13 748 749**参见:** 750 751[OH_ImageProcessing_Create](#oh_imageprocessing_create) 752 753 754### IMAGE_PROCESSING_TYPE_METADATA_GENERATION 755 756``` 757const int32_t IMAGE_PROCESSING_TYPE_METADATA_GENERATION 758``` 759 760**描述** 761 762用于创建元数据生成的图片处理实例。 763 764生成单层HDR图片的HDR Vivid元数据。该能力由厂商支持。如果不支持该能力,[OH_ImageProcessing_Create](#oh_imageprocessing_create)将返回 IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING。 765 766**起始版本:** 13 767 768**参见:** 769 770[OH_ImageProcessing_Create](#oh_imageprocessing_create) 771