cvt_color
函数功能
将Tensor的图像色域类型转换为指定的色域类型,支持以下类型间的转换。
若设置“keepMargin”为“true”,输出宽自动与16对齐。默认值为“false”,不保留Tensor中无效的边界区域。各产品支持的色域转换类型如表1 色域转换类型所示,标识的含义如下:
- √:支持
- x:不支持
表1 色域转换类型 色域转换类型
Atlas 200I/500 A2 推理产品
Atlas 推理系列产品
Atlas 800I A2推理产品
YUVSP420(nv12)转YUV400(GRAY)
√
√
√
YVUSP420(nv21)转YUV400(GRAY)
x
√
√
YUVSP420(nv12)转RGB
x
√
√
YUVSP420(nv12)转BGR
x
√
√
YVUSP420(nv21)转RGB
x
√
√
YVUSP420(nv21)转BGR
x
√
√
RGB转YUVSP420(nv12)
x
√
√
RGB转YVUSP420(nv21)
x
√
√
BGR转YUVSP420(nv12)
x
√
√
BGR转YVUSP420(nv21)
x
√
√
RGB转YUV400(GRAY)
x
√
√
BGR转YUV400(GRAY)
x
√
√
BGR转RGB
x
√
√
RGB转BGR
x
√
√
RGB转RGBA
x
√
√
RGBA转YUV400(GRAY)
x
√
√
RGBA转RGB
x
√
√
GRAY转RGB
x
√
x
RGB转mRGBA
x
√
x
RGBA转mRGBA需要依赖CANN 8.0.RC1或CANN 8.0.RC1以后的版本。
函数原型
cvt_color(inputTensor: Tensor, cvtColorMode: cvt_color_mode, keepMargin = False)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
inputTensor |
输入 |
Tensor类,输入张量,不可为空,需在Device侧分配内存,数据类型为dtype.uint8。
|
cvtColorMode |
输入 |
枚举类值,对应色域转换的原始类型和目标类型。 若“cvtColorMode”色域类型为“base.color_bgr2yuvsp420”、“base.color_rgb2yuvsp420”、“base.color_rgb2yvusp420”或base.color_bgr2yvusp420:
|
keepMargin |
输入 |
输出的张量中是否保留Tensor中无效的边界区域,默认为False,不保留Tensor中无效的边界区域。若设置“keepMargin”为“true”,输出宽自动与16对齐,保留无效区域。 当cvtColorMode=base.color_gray2rgb或cvtColorMode=base.color_rgba2mrgba时,该参数无效。 |
返回参数说明
返回色域转换后的Tensor类数据。