用于记录图像类任务中模型前处理中的感兴趣(region of interest)区域,提供给模型后处理的坐标还原使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | class ImagePreProcessInfo { public: ImagePreProcessInfo() { imageWidth = 0; imageHeight = 0; originalWidth = 0; originalHeight = 0; xRatio = 1.0; xBias = 0.0; yRatio = 1.0; yBias = 0.0; x0Valid = 0.0; y0Valid = 0.0; x1Valid = 0.0; y1Valid = 0.0; } ImagePreProcessInfo(uint32_t width, uint32_t height) { imageWidth = width; imageHeight = height; originalWidth = width; originalHeight = height; xRatio = 1.0; xBias = 0.0; yRatio = 1.0; yBias = 0.0; x0Valid = 0.0; y0Valid = 0.0; x1Valid = width; y1Valid = height; } ImagePreProcessInfo(uint32_t widthResize, uint32_t heightResize, uint32_t widthOriginal, uint32_t heightOriginal) { if (!((widthOriginal == 0) || (heightOriginal == 0))) { xRatio = widthResize / (float)widthOriginal; yRatio = heightResize / (float)heightOriginal; } else { xRatio = 1.0; yRatio = 1.0; } imageWidth = widthResize; imageHeight = heightResize; originalWidth = widthOriginal; originalHeight = heightOriginal; xBias = 0.0; yBias = 0.0; x0Valid = 0.0; y0Valid = 0.0; x1Valid = widthResize; y1Valid = heightResize; } ~ImagePreProcessInfo() {} public: // image uint32_t imageWidth = 0; // memoryWidth uint32_t imageHeight = 0; // memoryHeight uint32_t originalWidth = 0; // originalWidth uint32_t originalHeight = 0; // originalHeight // mapping parameters float xRatio = 1.0; float xBias = 0.0; float yRatio = 1.0; float yBias = 0.0; // valid region float x0Valid = 0.0; float y0Valid = 0.0; float x1Valid = 0.0; float y1Valid = 0.0; }; |
参数名 |
说明 |
---|---|
imageWidth |
图像宽。 |
imageHeight |
图像高。 |
originalWidth |
原图宽。 |
originalHeight |
原图高。 |
xRatio |
x方向伸缩比。 |
xBias |
x方向偏置。 |
yRatio |
y方向伸缩比。 |
yBias |
y方向偏置。 |
x0Valid |
图像中有效区域的左上角横坐标。 |
y0Valid |
图像中有效区域的左上角纵坐标。 |
x1Valid |
图像中有效区域的右下角横坐标。 |
y1Valid |
图像中有效区域的右下角纵坐标。 |