예제 #1
0
        private void layoutView1_DoubleClick(object sender, EventArgs e)
        {
            int            nIndex   = layoutView1.FocusedRowHandle;
            CardTargetItem itemInfo = mCardVehResultList[nIndex];
            //VehicleCompareResult vehicleRstObj = mSortedVehResult.ElementAt(nIndex);//.[nIndex];
            VehicleCompareResult vehicleRstObj = mSortedVehResultList.GetRange(nStart, nEnd)[nIndex];
            Rectangle            rect          = new Rectangle();

            string[] vehicleLocation = vehicleRstObj.Clwz.Split(',');
            if (vehicleLocation.Length == 4)
            {
                rect.X      = Convert.ToInt32(vehicleLocation[0]);
                rect.Y      = Convert.ToInt32(vehicleLocation[1]);
                rect.Width  = Convert.ToInt32(vehicleLocation[2]);
                rect.Height = Convert.ToInt32(vehicleLocation[3]);
            }
            if (null == frmTargetDetial)
            {
                frmTargetDetial = new FrmTargetDetail();
            }
            else if (null != frmTargetDetial)
            {
                if (frmTargetDetial.IsDisposed)
                {
                    frmTargetDetial = new FrmTargetDetail();
                }
            }
            frmTargetDetial.SetImagePath(vehicleRstObj.ImagePath);
            //frmTargetDetial.SetTargetModel(targetInfoList[nIndex]);
            //frmTargetDetial.SetDetailInfo(itemInfo.toString());
            frmTargetDetial.SetTargetRect(rect);
            frmTargetDetial.Show();
            frmTargetDetial.BringToFront();
        }
예제 #2
0
        private void SearchFaceMongo()
        {
            mCardVehResultList.Clear();
            mSortedVehResult.Clear();
            mSortedVehResultList.Clear();
            HVehicleQuery vehicleQuery = new HVehicleQuery();

            vehicleQuery.timeStart = Convert.ToDateTime(dtpStrartTime.EditValue.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
            vehicleQuery.timeEnd   = Convert.ToDateTime(dtpEndTime.EditValue.ToString()).ToString("yyyy-MM-dd HH:mm:ss");
            vehicleQuery.queryClpp = mQueryClpp;

            LogHelper.WriteLog(typeof(FrmVehSearchByPic), "count start");
            //int mTotalVehCount = Convert.ToInt32(VehicleMongoDAL.GetInstance().GetVehicleCount());
            int mTotalVehCount = Convert.ToInt32(VehicleMongoDAL.GetInstance().GetVehicleCount(vehicleQuery));

            LogHelper.WriteLog(typeof(FrmVehSearchByPic), "count end " + mTotalVehCount);
            int RecordsPerPage = 1000;
            int pageCount      = mTotalVehCount / RecordsPerPage;

            if (mTotalVehCount % RecordsPerPage == 0)
            {
                pageCount = mTotalVehCount / RecordsPerPage;
            }
            else
            {
                pageCount = mTotalVehCount / RecordsPerPage + 1;
            }
            vehicleQuery.PageSize = RecordsPerPage;

            LogHelper.WriteLog(typeof(FrmVehSearchByPic), "query start");
            //ObjectId fistId = VehicleMongoDAL.GetInstance().GetVehicleFirstId(vehicleQuery);
            for (int i = 1; i <= pageCount; i++)
            {
                LogHelper.WriteLog(typeof(FrmVehSearchByPic), "mongo start" + i);
                //List<FaceObject> TempFaceObjList = FaceMongoDAL.GetInstance().GetFaceList(i, RecordsPerPage);
                vehicleQuery.PageNumber = i;
                //List<VehicleObject> TempFaceObjList = VehicleMongoDAL.GetInstance().GetVehicleListGtId(fistId, vehicleQuery);
                List <VehicleObject> TempFaceObjList = VehicleMongoDAL.GetInstance().GetVehicleList(vehicleQuery);

                /*
                 * if (null != TempFaceObjList)
                 * {
                 *  if (TempFaceObjList.Count > 0)
                 *  {
                 *      fistId = TempFaceObjList[TempFaceObjList.Count - 1].Id;
                 *  }
                 * }*/
                LogHelper.WriteLog(typeof(FrmVehSearchByPic), "mongo end");

                double progress = (double)i / (double)pageCount * 100;
                try
                {
                    this.Invoke(new DelegateProgress(ShowProgress), Convert.ToInt32(progress));
                }
                catch
                {
                }

                foreach (var faceObj in TempFaceObjList)
                {
                    if (mVehSearchResult.Veh[nSelectedIndex].Cbdm != faceObj.vehicle.Cbdm)
                    {
                        continue;
                    }
                    VehicleCompareResult faceResult = new VehicleCompareResult();
                    float score = 0;// (float)VehSimCos.HCARREGSimCos(mSearchFaceBase64, faceObj.vehicle.Cltzxx);//Feature.Compare(mSearchFaceBase64, faceObj.FaceFeature);
                    faceResult.Score      = score;
                    faceResult.CreateTime = faceObj.CreateTime.AsDateTime.AddHours(8).ToString("yyyy-MM-dd HH:mm:ss");
                    faceResult.ImagePath  = faceObj.ImagePath;
                    faceResult.Clpp       = faceObj.vehicle.Clpp;
                    faceResult.Clwz       = faceObj.vehicle.Clwz;
                    faceResult.Cphm       = faceObj.vehicle.Hphm;
                    mSortedVehResult.Add(faceResult);
                    if (mSortedVehResult.Count > 100)
                    {
                        mSortedVehResult.Remove(mSortedVehResult.Last());
                    }
                }
            }
            mSortedVehResultList = mSortedVehResult.ToList();
            LogHelper.WriteLog(typeof(FrmVehSearchByPic), "query end");

            try
            {
                this.Invoke(new DelegateBindHandler(BindDataSource));
            }
            catch
            { }
        }