/// <summary> /// 检测通过图片路径 /// </summary> /// <param name="filename"></param> /// <param name="bbox_T_Container"></param> /// <param name="thresh"></param> /// <returns></returns> public int Detect(string filename, ref bbox_t_container bbox_T_Container, float thresh = (float)0.01) { lock (this) { switch (AiId) { case 1: return(AiSdk1.detect_image_path(filename, ref bbox_T_Container, thresh)); case 2: return(AiSdk2.detect_image_path(filename, ref bbox_T_Container, thresh)); case 3: return(AiSdk3.detect_image_path(filename, ref bbox_T_Container, thresh)); case 4: return(AiSdk4.detect_image_path(filename, ref bbox_T_Container, thresh)); case 5: return(AiSdk5.detect_image_path(filename, ref bbox_T_Container, thresh)); case 6: return(AiSdk6.detect_image_path(filename, ref bbox_T_Container, thresh)); case 7: return(AiSdk7.detect_image_path(filename, ref bbox_T_Container, thresh)); case 8: return(AiSdk8.detect_image_path(filename, ref bbox_T_Container, thresh)); case 9: return(AiSdk9.detect_image_path(filename, ref bbox_T_Container, thresh)); case 10: return(AiSdk10.detect_image_path(filename, ref bbox_T_Container, thresh)); case 11: return(AiSdk11.detect_image_path(filename, ref bbox_T_Container, thresh)); case 12: return(AiSdk12.detect_image_path(filename, ref bbox_T_Container, thresh)); default: return(-1); } } }
/// <summary> /// 检测函数,通过bitmap /// </summary> /// <param name="data"></param> /// <param name="data_length"></param> /// <param name="bbox_T_Container"></param> /// <param name="thresh"></param> /// <returns></returns> public int Detect(byte[] data, long data_length, ref bbox_t_container bbox_T_Container, float thresh = (float)0.01) { lock (this) { switch (AiId) { case 1: return(AiSdk1.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 2: return(AiSdk2.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 3: return(AiSdk3.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 4: return(AiSdk4.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 5: return(AiSdk5.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 6: return(AiSdk6.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 7: return(AiSdk7.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 8: return(AiSdk8.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 9: return(AiSdk9.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 10: return(AiSdk10.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 11: return(AiSdk11.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); case 12: return(AiSdk12.detect_opencv_mat(data, data_length, ref bbox_T_Container, thresh)); default: return(-1); } } }
static void Main(string[] args) { var prefix = "E:\\VSProjects\\darknet\\build\\darknet\\x64\\"; init(prefix + "cfg\\yolov3-tiny.cfg", prefix + "yolov3-tiny.weights", 0); var btc = new bbox_t_container(); detect_image("E:\\Pictures\\dog.jpg", ref btc); foreach (var box in btc.candidates) { Console.Write(box.ToString()); } dispose(); }
public static extern int detect_mat(IntPtr data, UIntPtr data_length, ref bbox_t_container container);
public static extern int detect_image(string filename, ref bbox_t_container container);