Esempio n. 1
0
        //找到无效视频 并且删除
        private void ViladityVideo(DateTime begTime, DateTime endTime)
        {
            string rootFile = Properties.Settings.Default.OutputPath;

            if (Directory.Exists(rootFile))
            {
                string[] cams = Directory.GetDirectories(rootFile);
                foreach (string camfile in cams)
                {
                    string[]      resFiles        = FileSystemStorage.FindVideos(Convert.ToInt32(camfile.Substring(camfile.Length - 2)), begTime, endTime); //1 获得在时间区域内的video的路径
                    List <string> invalidVideoArr = new List <string>();                                                                                    //2 找出没video对应的录像  放入 InvalidVideoArr
                    foreach (string strFile in resFiles)
                    {
                        if (imgSearch.getPicFiles(strFile, camfile.Substring(camfile.Length - 2), false).Length == 0)
                        {
                            invalidVideoArr.Add(strFile);
                        }
                    }
                    if (invalidVideoArr.Count > 0)//3 然后独立一个方法 删除InvalidVideoList里的无效视频
                    {
                        DeleteVideo(invalidVideoArr);
                    }
                }
            }
        }
        public static string GetFacePath(Frame frame, DateTime timeStamp, int sequence)
        {
            string folderFace = FileSystemStorage.FolderForFaces(frame.cameraID, timeStamp);

            string faceFileName = FileSystemStorage.GetFaceFileName(frame.GetFileName(), sequence);

            string facePath = Path.Combine(folderFace, faceFileName);

            return(facePath);
        }
        public static string PathForFaceImage(Frame frame, int sequence)
        {
            DateTime dt = DateTime.FromBinary(frame.timeStamp);

            string folderFace = FileSystemStorage.EnsureFolderForFacesAt(frame.cameraID, dt);

            string faceFileName = FileSystemStorage.FaceImageFileNameOf(frame.GetFileName(), sequence);

            string facePath = Path.Combine(folderFace, faceFileName);

            return(facePath);
        }
        public static string PathForFaceImage(Frame frame, int sequence)
        {
            DateTime dt = frame.CapturedAt;

            string folderFace = FileSystemStorage.EnsureFolderForFacesAt(frame.CapturedFrom.Id, dt);

            string faceFileName = FileSystemStorage.FaceImageFileNameOf(frame.GetFileName(), sequence);

            string facePath = Path.Combine(folderFace, faceFileName);

            return(facePath);
        }
        public static void SaveFrame(Frame frame)
        {
            IplImage ipl = new IplImage(frame.image);

            ipl.IsEnabledDispose = false;

            string   path = frame.GetFileName();
            DateTime dt   = DateTime.FromBinary(frame.timeStamp);

            string root = Path.Combine(Properties.Settings.Default.OutputPath,
                                       frame.cameraID.ToString("d2"));

            string folder = FileSystemStorage.BuildDestDirectory(root, dt, Properties.Settings.Default.BigImageDirectoryName);

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            path = Path.Combine(folder, path);
            ipl.SaveImage(path);
        }