using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace OS.Spin.Modle.Sdk
{
public class StructInfos
{
//public struct Fore_Result
//{
// public int img_id; //所在图片号
// public int label; //类别
// public float prob; //分类置信度
// public int xCenter; //实际横坐标
// public int yCenter; //实际纵坐标
// public int xCenter_cam; //像素横坐标
// public int yCenter_cam; //像素纵坐标
// public int aera; //瑕疵像素面积
// public int width; //瑕疵宽度
// public int height; //瑕疵高度
// public int location; //瑕疵纬向位置
// public int is_repeat; //瑕疵2米内重复
// public int id;
//}
///
/// TWB20210902
///
[StructLayout(LayoutKind.Sequential)]
public struct Fore_Result
{
public int img_id; //所在图片号
public int label; //类别
public float prob; //分类置信度
public float prob_sum; //分类置信度2
public int is_valid; //是否有效
public int is_repeat; //瑕疵2米内重复
public int deduction; //扣分
public int direction; //候选区域方向:0 横向;1 纵向;2 布边
public int location; //瑕疵纬向位置
public int xCenter_cam; //像素横坐标
public int yCenter_cam; //像素纵坐标
public int width; //瑕疵宽度
public int height; //瑕疵高度
public int aera; //瑕疵像素面积
public float m_slope; //瑕疵斜率
}
//public struct DETC_PARAM
//{
// public int m_id;
// public int index_shift; //布边偏移
// public int edge_width; //布边宽度
// public double mean_factor; //二值化系数
//}
///
/// TWB20210902
///
public struct DETC_PARAM
{
public int m_id; //相机ID
public int cloths_kind; //布种
public int index_shift; //切边偏移
public int overlap_left; //左相机重叠宽度
public int overlap_right; //右相机重叠宽度
public int width_MidTrue; //中间相机实际宽度
public float width_factorL; //CameraLeft幅宽计算系数
public float width_factorR; //CameraRight幅宽计算系数
public float thresh_ratio; //二值化系数
public float num_ratio; //二值化系数2
}
[StructLayout(LayoutKind.Sequential)]
public struct DATA_IMAGE
{
public IntPtr data;
public int width;
public int height;
public int channel;
}
[StructLayout(LayoutKind.Sequential)]
public struct DATA_IMAGE1
{
public int width;
public int height;
public int channel;
public IntPtr data;
}
// Marshal.Copy(bytes, 0, structPtr, size);
[StructLayout(LayoutKind.Sequential)]
public struct CTOOLS_Result
{
public int index; //类别
public float prob;
}
///
/// TWB20210902
///
[StructLayout(LayoutKind.Sequential)]
public struct CLAS_PARAM
{
public float prob_cls; //通用瑕疵
public float prob_sma; //小瑕疵
public float prob_color; //色纤
public float prob_thin; //淡痕
public int len_sma; //小瑕疵长度限制阈值
public int cloths_kind; //布种 0:通用; 1:粗布.
public int m_gain; //增益返回值
public int m_base; //增益基准值
public int m_meters; //当前米数计数值
public int thre_are;//点状瑕疵面积
public int thre_location;//布尾米数位置阈值
}
[StructLayout(LayoutKind.Sequential)]
public struct TFD_PARAM
{
public int mode; //GPU_MODE or CPU_MODE
public int gpuid; //显卡号
public string protopath;
public string wigehtpath;
}
//[StructLayout(LayoutKind.Sequential)]
//public struct FinalResults
//{
// public int location; //纬向位置
// public int label; //瑕疵标号
// public int is_repeat; //是否一米内重复
// public int deduction; //扣分
// public int flaw_length; //(300 600 940)/4 75 150 270
// public int flaw_area; //400
//}
[StructLayout(LayoutKind.Sequential)]
public struct FinalResults
{
public int label; //瑕疵标号
public int location; //纬向位置
public int is_repeat; //是否一米内重复
public int is_valid; //连续性隐性瑕疵是否有效
public int deduction; //扣分
public int flaw_length; //(300 600 940)/4 75 150 270
public int flaw_area; //400
public int sub_num; //子区域数量
}
public struct D_PARAM
{
public int m_id;
public int index_shift; //布边偏移
public int edge_width; //布边宽度
public double mean_factor; //二值化系数
}
}
}