public PlateRecognitionResult Recognize(int parkID, int entranceID) { //if (_plnImp != null) //{ // return _plnImp.Recognize(parkID, entranceID); //} IPlateRecognition plnImp = null; //默认车牌识别类型 CarPlateRecognizationType reconizationType = AppSettings.CurrentSetting.CarPlateRecognization; try { EntranceInfo entrance = ParkBuffer.Current.GetEntrance(parkID, entranceID); if (entrance != null) { //如果是使用信路通识别的 if (entrance.CarPlateIP != "0.0.0.0" && !string.IsNullOrEmpty(entrance.CarPlateIP)) { reconizationType = CarPlateRecognizationType.XinLuTong; } else { foreach (VideoSourceInfo video in entrance.VideoSources) { if (video.IsForCarPlate) { //使用大华摄像机的 if (video.VideoSourceType == (int)VideoServerType.DaHua) { reconizationType = CarPlateRecognizationType.DaHua; } break; } } } } } catch (Exception ex) { Ralid.GeneralLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex); } if (_plnImps.ContainsKey((int)reconizationType)) { plnImp = _plnImps[(int)reconizationType]; } if (plnImp != null) { return(plnImp.Recognize(parkID, entranceID)); } return(new PlateRecognitionResult()); }
public AppSettings(string path) { if (File.Exists(path)) { try { _path = path; this._doc = new XmlDocument(); this._doc.Load(_path); _parent = this._doc.SelectSingleNode("configuration/appSettings"); _WorkstationID = GetConfigContent("WorkStationID"); _ParkConnect = GetConfigContent("Parking"); _StandbyParkConnect = GetConfigContent("StandbyParking"); _SnapShotSavePath = GetConfigContent("SnapShotSavePath"); string temp = GetConfigContent("SystemType"); _SystemType = (!string.IsNullOrEmpty(temp) && temp == "1") ? SystemType.Server : SystemType.WorkStation; temp = GetConfigContent("SelectedParking"); _SelectedPark = (string.IsNullOrEmpty(temp) || temp == "0") ? DataBaseType.Master : DataBaseType.Standby; temp = GetConfigContent("ParkFeeLedCOMPort"); byte.TryParse(temp, out _ParkFeeLedCOMPort); temp = GetConfigContent("ParkFeeLedType"); byte.TryParse(temp, out _ParkFeeLedType); temp = GetConfigContent("TicketReaderCOMPort"); byte.TryParse(temp, out _TicketReaderCOMPort); temp = GetConfigContent("BillPrinterCOMPort"); byte.TryParse(temp, out _BillPrinterCOMPort); temp = GetConfigContent("YCTReaderCOMPort"); byte.TryParse(temp, out _YCTReaderCOMPort); temp = GetConfigContent("ParkFullLedCOMPort"); byte.TryParse(temp, out _ParkFullLedCOMPort); temp = GetConfigContent("ThreeLedCOMPort"); byte.TryParse(temp, out _VehicleLedCOMPort); temp = GetConfigContent("Debug"); bool.TryParse(temp, out _Debug); temp = GetConfigContent("DatabaseNeedUpgrade"); bool.TryParse(temp, out _DatabaseNeedUpgrade); temp = GetConfigContent("OpenLastOpenedVideo"); bool.TryParse(temp, out _OpenLastOpenedVideo); temp = GetConfigContent("ShowOnlyListenedPark"); bool.TryParse(temp, out _ShowOnlyListenedPark); temp = GetConfigContent("Optimized"); bool.TryParse(temp, out _Optimized); temp = GetConfigContent("NeedPasswordWhenExit"); bool.TryParse(temp, out _NeedPasswordWhenExit); _Language = GetConfigContent("Language"); temp = GetConfigContent("RememberLogID"); bool.TryParse(temp, out _RememberLogID); temp = GetConfigContent("EnableTTS"); bool.TryParse(temp, out _EnableTTS); temp = GetConfigContent("EnlargeMemo"); bool.TryParse(temp, out _EnlargeMemo); temp = GetConfigContent("ChargeAfterMemo"); bool.TryParse(temp, out _ChargeAfterMemo); temp = GetConfigContent("ShowAPMMonitor"); bool.TryParse(temp, out _ShowAPMMonitor); temp = GetConfigContent("EnableZST"); bool.TryParse(temp, out _EnableZST); _ZSTReaderIP = GetConfigContent("ZSTReaderIP"); temp = GetConfigContent("EnableWriteCard"); bool.TryParse(temp, out _EnableWriteCard); temp = GetConfigContent("AuotAddToFirewallException"); bool.TryParse(temp, out _AuotAddToFirewallException); _ParkingCommunicationIP = GetConfigContent("ParkingCommunicationIP"); temp = GetConfigContent("AllowChangeParkWorkMode"); bool.TryParse(temp, out _AllowChangeParkWorkMode); temp = GetConfigContent("CheckConnectionWithPing"); bool.TryParse(temp, out _CheckConnectionWithPing); temp = GetConfigContent("ParkVacantLed"); if (!string.IsNullOrEmpty(temp)) { int.TryParse(temp, out _ParkVacantLed); } temp = GetConfigContent("SwitchEntrance"); bool.TryParse(temp, out _SwitchEntrance); temp = GetConfigContent("EnableHotel"); bool.TryParse(temp, out _EnableHotel); temp = GetConfigContent("NewCardValidCommand"); bool.TryParse(temp, out _NewCardValidCommand); temp = GetConfigContent("ParkingSamNO"); byte.TryParse(temp, out _ParkingSamNO); temp = GetConfigContent("EnablePosButton"); _EnablePOSButton = bool.TryParse(temp, out _EnablePOSButton) ? _EnablePOSButton : true;//默认显示 temp = GetConfigContent("SpeakPromptWhenCarArrival"); bool.TryParse(temp, out _SpeakPromptWhenCarArrival); temp = GetConfigContent("CarPlateRecognization"); if (temp == "VECON") { _CarPlateRecognization = CarPlateRecognizationType.VECON; } else if (temp == "XinLuTong") { _CarPlateRecognization = CarPlateRecognizationType.XinLuTong; } else if (temp == "DaHua") { _CarPlateRecognization = CarPlateRecognizationType.DaHua; } else { //默认用文通 _CarPlateRecognization = CarPlateRecognizationType.WINTONE; } } catch { } } }