public void Run(string cam1dir, string cam2dir, string outdir) { PictureCollection pics = new PictureCollection(); string ext; foreach (string f in Directory.GetFiles(cam1dir)) { ext = Path.GetExtension(f).ToLower(); if (ext.Equals(".jpg") || ext.Equals(".jpeg")) { pics.AddFromFile(f); } } foreach (string f in Directory.GetFiles(cam2dir)) { ext = Path.GetExtension(f).ToLower(); if (ext.Equals(".jpg") || ext.Equals(".jpeg")) { pics.AddFromFile(f); } } if (pics.Count > 0) { if (!Directory.Exists(outdir)) { Directory.CreateDirectory(outdir); } List<Picture> list; foreach (KeyValuePair<long, List<Picture>> kvp in pics) { list = kvp.Value; if (list.Count == 1) { this.CopyFile(list[0].Filename, outdir, list[0].DateTime, -1); } else { for (int i=0; i!=list.Count; i++) { this.CopyFile(list[i].Filename, outdir, list[i].DateTime, i); } } } } }
public static void Main(string[] args) { string cam1dir = "/home/pingvinen/Desktop/camera1"; string cam2dir = "/home/pingvinen/Desktop/camera2"; string outdir = "/home/pingvinen/Desktop/cam1_and_cam2_merged"; PictureCollection pics = new PictureCollection(); foreach (string f in Directory.GetFiles(cam1dir)) { pics.AddFromFile(f); } foreach (string f in Directory.GetFiles(cam2dir)) { pics.AddFromFile(f); } if (pics.Count > 0) { if (!Directory.Exists(outdir)) { Directory.CreateDirectory(outdir); } List<Picture> list; foreach (KeyValuePair<long, List<Picture>> kvp in pics) { list = kvp.Value; if (list.Count == 1) { CopyFile(list[0].Filename, outdir, list[0].DateTime, -1); } else { for (int i=0; i!=list.Count; i++) { CopyFile(list[i].Filename, outdir, list[i].DateTime, i); } } } } }