/// <summary> /// 转换ECameraSdkType为目录名 /// </summary> /// <param name="eCameraSDK">相机SDK类型</param> /// <returns>目录名</returns> private static string ConvertToDirectoryName(ECameraSdkType eCameraSDK) { switch (eCameraSDK) { case ECameraSdkType.Pylon: return("Pylon"); case ECameraSdkType.uEye: return("uEyeSDK"); case ECameraSdkType.Hik: return("Hik"); case ECameraSdkType.Common: return("CommonSDK"); case ECameraSdkType.Cognex: return("Cognex"); case ECameraSdkType.Daheng: return("Daheng"); case ECameraSdkType.DALSA: return("DALSA"); case ECameraSdkType.ImagingSource: return("ImagingSource"); case ECameraSdkType.VirtualCamera: return("VirtualCamera"); default: return(""); } }
/// <summary> /// 创建相机实例 /// </summary> /// <param name="eCameraSDK">相机SDK类型</param> /// <returns>相机实例</returns> public static ICamera CreateInstance(ECameraSdkType eCameraSDK) { try { if (CameraAssemblys.ContainsKey(eCameraSDK)) { //创建视觉框架实例 foreach (var item in CameraAssemblys[eCameraSDK].ExportedTypes) { if (item.Name == "Camera") { object obj = CameraAssemblys[eCameraSDK].CreateInstance(item.FullName); if (obj is ICamera) { return(obj as ICamera); } } } } throw new FileNotFoundException($"{nameof(eCameraSDK)} is not found"); } catch (Exception) { throw; } }