コード例 #1
0
        /// <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("");
            }
        }
コード例 #2
0
        /// <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;
            }
        }