ImagePreProcessInfo
功能
用于记录图像类任务中模型前处理中的感兴趣(region of interest)区域,提供给模型后处理的坐标还原使用。
结构定义
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 |
图像中有效区域的右下角纵坐标。 |
父主题: 通用数据结构