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; //二值化系数 } } }