MCPcopy Create free account
hub / github.com/CVCUDA/CV-CUDA / str2Frmt

Function str2Frmt

bench/BenchCvtColor.cpp:31–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29using CodeMap = std::map<std::string, ConvCodeToFormat>;
30
31inline static ConvCodeToFormat str2Frmt(const std::string &str)
32{
33 // clang-format off
34 static const CodeMap codeMap {
35 { "RGB2BGR", {NVCV_COLOR_RGB2BGR, NVCV_IMAGE_FORMAT_RGB8, NVCV_IMAGE_FORMAT_BGR8 }},
36 { "RGB2RGBA", {NVCV_COLOR_RGB2RGBA, NVCV_IMAGE_FORMAT_RGB8, NVCV_IMAGE_FORMAT_RGBA8}},
37 { "RGBA2RGB", {NVCV_COLOR_RGBA2RGB, NVCV_IMAGE_FORMAT_RGBA8, NVCV_IMAGE_FORMAT_RGB8 }},
38 { "RGB2GRAY", {NVCV_COLOR_RGB2GRAY, NVCV_IMAGE_FORMAT_RGB8, NVCV_IMAGE_FORMAT_Y8 }},
39 { "GRAY2RGB", {NVCV_COLOR_GRAY2RGB, NVCV_IMAGE_FORMAT_Y8, NVCV_IMAGE_FORMAT_RGB8 }},
40 { "RGB2HSV", {NVCV_COLOR_RGB2HSV, NVCV_IMAGE_FORMAT_RGB8, NVCV_IMAGE_FORMAT_HSV8 }},
41 { "HSV2RGB", {NVCV_COLOR_HSV2RGB, NVCV_IMAGE_FORMAT_HSV8, NVCV_IMAGE_FORMAT_RGB8 }},
42 { "RGB2YUV", {NVCV_COLOR_RGB2YUV, NVCV_IMAGE_FORMAT_RGB8, NVCV_IMAGE_FORMAT_YUV8 }},
43 { "YUV2RGB", {NVCV_COLOR_YUV2RGB, NVCV_IMAGE_FORMAT_YUV8, NVCV_IMAGE_FORMAT_RGB8 }},
44 {"RGB2YUV_NV12", {NVCV_COLOR_RGB2YUV_NV12, NVCV_IMAGE_FORMAT_RGB8, NVCV_IMAGE_FORMAT_NV12 }},
45 {"YUV2RGB_NV12", {NVCV_COLOR_YUV2RGB_NV12, NVCV_IMAGE_FORMAT_NV12, NVCV_IMAGE_FORMAT_RGB8 }},
46 };
47 // clang-format on
48
49 if (auto it = codeMap.find(str); it != codeMap.end())
50 {
51 return it->second;
52 }
53 else
54 {
55 throw std::invalid_argument("Unrecognized color code");
56 }
57}
58
59template<typename BT>
60inline float bytesPerPixel(NVCVImageFormat imgFormat)

Callers 1

CvtColorFunction · 0.85

Calls 2

findMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected