namespace YOLODetectProcessLib
{
///
/// 在规整图像(使其尺寸符合网络输入尺寸)时的一些元信息
/// 在将网络输出结果坐标转换到原始图像坐标时,需要这些信息
///
public struct MoldedImageMetas
{
///
/// 网络中输入图像层的高度
///
public int NetImgInputHeight { get; set; }
///
/// 网络中输入图像层的宽度
///
public int NetImgInputWidth { get; set; }
///
/// 网络中输入图像层的通道数
///
public int NetImgInputChannels { get; set; }
///
/// 原始图像的高度
///
public int OrigImgHeight { get; set; }
///
/// 原始图像的宽度
///
public int OrigImgWidth { get; set; }
///
/// 在原始图像上感兴趣区域的左上点纵坐标
///
public int ROIRectTop { get; set; }
///
/// 在原始图像上感兴趣区域的左上点横坐标
///
public int ROIRectLeft { get; set; }
///
/// 在原始图像上感兴趣区域的高度
///
public int ROIRectHeight { get; set; }
///
/// 在原始图像上感兴趣区域的宽度
///
public int ROIRectWidth { get; set; }
///
/// 在将ROI规整成网络所需的尺寸时,上面填充的像素个数
///
public int MoldTop { get; set; }
///
/// 在将ROI规整成网络所需的尺寸时,左边填充的像素个数
///
public int MoldLeft { get; set; }
///
/// 在将ROI规整成网络所需的尺寸时,ROI实际缩放的高度
///
public int MoldHeight { get; set; }
///
/// 在将ROI规整成网络所需的尺寸时,ROI实际缩放的宽度
///
public int MoldWidth { get; set; }
public MoldedImageMetas(int netHeight, int netWidth, int netChannel, int origHeight, int origWidth,
int roiTop, int roiLeft, int roiHeight, int roiWidth, int moldTop, int moldLeft, int moldHeight, int moldWidth)
{
NetImgInputHeight = netHeight;
NetImgInputWidth = netWidth;
NetImgInputChannels = netChannel;
OrigImgHeight = origHeight;
OrigImgWidth = origWidth;
ROIRectTop = roiTop;
ROIRectLeft = roiLeft;
ROIRectHeight = roiHeight;
ROIRectWidth = roiWidth;
MoldTop = moldTop;
MoldLeft = moldLeft;
MoldHeight = moldHeight;
MoldWidth = moldWidth;
}
}
}