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