public static void DetectAll(string folderPath, string[] cascadesPath, string savePath) { List <SignsHaarCascade> cascadesList = new List <SignsHaarCascade>(); List <ImageFolder> foldersList = new List <ImageFolder>(); foreach (string casPath in cascadesPath) { cascadesList.Add(new SignsHaarCascade(casPath)); } ImageFolder f = new ImageFolder(); f.Load(folderPath); int c = 0; foreach (string image_path in f.GetAll()) { Mat img = new Image <Bgr, byte>(image_path).Mat; foreach (SignsHaarCascade cascade in cascadesList) { Console.WriteLine(f.GetPath()); Console.WriteLine(c++); List <Mat> list = cascade.detectAll(img, 1.1, 4); var n = new DirectoryInfo(f.GetPath()).Name; var newFolderPath = Path.Combine(savePath, n.ToString()); var imageName = Path.GetFileNameWithoutExtension(image_path); for (int i = 0; i < list.Count; i++) { list[i].Save(newFolderPath + "_" + imageName + "_" + i + ".jpg"); } } } }
/** * \brief Allows the user to start a new project. * * \param N/A * * \return Returns true if the user confirmed that they want to start a new project. * Otherwise false is returned. */ public static bool NewProject() { SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "Handshake Tool files (*.hst)|*.hst"; if (dialog.ShowDialog() == DialogResult.OK) { // assign project folder File.Create(dialog.FileName); ProjectFolder = new DirectoryInfo( dialog.FileName.Remove(dialog.FileName.LastIndexOf('.'))); // ensure project & images folders exist if (!ProjectFolder.Exists) { ProjectFolder.Create(); } if (!ImageFolder.Exists) { ImageFolder.Create(); } return(true); } return(false); }
private static string GetServerImagePath(string root, ImageFolder folder) { string fullPath; switch (folder) { case ImageFolder.Temp: fullPath = root + "\\temp"; break; case ImageFolder.Backup: fullPath = root + "\\backup"; break; case ImageFolder.Match: fullPath = root + "\\matches"; break; case ImageFolder.Players: default: fullPath = root + "\\players"; break; } if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } return(fullPath); }
public ActionResult DeleteConfirmed(int id) { ImageFolder imageFolder = db.ImageFolders.Find(id); db.ImageFolders.Remove(imageFolder); db.SaveChanges(); return(RedirectToAction("Index")); }
/// <summary> /// Returns path of the image which is used for the shopping cart selector button. /// </summary> /// <param name="imageButton">Image name or image relative path.</param> private string GetImageButtonUrl(string imageButton) { if (imageButton.StartsWithCSafe("~")) { return(UrlResolver.ResolveUrl(imageButton)); } return(ImageFolder.TrimEnd('/') + "/" + imageButton); }
public ActionResult Edit([Bind(Include = "Id,Name")] ImageFolder imageFolder) { if (ModelState.IsValid) { db.Entry(imageFolder).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(imageFolder)); }
public ActionResult Create([Bind(Include = "Id,Name")] ImageFolder imageFolder) { if (ModelState.IsValid) { db.ImageFolders.Add(imageFolder); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(imageFolder)); }
private static string GetServerImagePath(ImageFolder folder) { string root; #if DEBUG root = Properties.Settings.Default.PublicImageFolder; #else root = HttpContext.Current.Server.MapPath("~/img"); #endif var fullPath = GetServerImagePath(root, folder); return(fullPath); }
public static bool Save(ImageFolder sub_folder, string filename, byte[] data) { IFolder rootFolder = Plugin.NetStandardStorage.CrossStorage.FileSystem.LocalStorage; IFolder folder = rootFolder.CreateFolder(sub_folder.ToString(), CreationCollisionOption.OpenIfExists); IFile file = folder.CreateFile(filename, CreationCollisionOption.ReplaceExisting); using (Stream stream = file.Open(FileAccess.ReadWrite)) { stream.Write(data, 0, data.Length); } return(true); }
private static List <byte[]> LoadImages(string path, out ImageFolder fold, int maxItem = -1) { var result = new List <byte[]>(); var f = new ImageFolder(); f.Load(path); foreach (string imgpath in f.GetAll()) { result.Add(new Image <Gray, byte>(imgpath).Bytes); } fold = f; return(result); }
// GET: ImageFolders/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ImageFolder imageFolder = db.ImageFolders.Find(id); if (imageFolder == null) { return(HttpNotFound()); } return(View(imageFolder)); }
public static async Task <bool> HaveAllImages() { var imageFiles = ImageFolder.CreateFileQuery(); // Should have at least 95% of pages; of more than that it's not efficient to download the ZIP var pageCount = await imageFiles.GetItemCountAsync(); if (pageCount >= 600) { // ideally, we should loop for each page and ensure // all pages are there, but this will do for now. return(true); } return(false); }
private ImageFolder EnsureImageFolderExists(string folderName) { var folder = GetImageFolder(folderName); if (folder == null) { folder = new ImageFolder { FolderName = folderName }; _folderRepository.Add(folder); } return(folder); }
private static List <int> LoadLabels(string path, ImageFolder f, int maxItem = -1) { var result = new List <int>(); var name = "labels.txt"; var filePath = Path.Combine(path, name); string labels = ""; if (File.Exists(filePath)) { File.Delete(filePath); } if (!File.Exists(filePath)) { foreach (string imgpath in f.GetAll()) { string n = Path.GetFileName(imgpath); n = n.Substring(n.IndexOf('_') + 1, n.IndexOf('.') - n.IndexOf('_') - 1); labels += " " + n; } File.WriteAllText(filePath, labels); } labels = File.ReadAllText(filePath, Encoding.UTF8) + " "; int c = 0; int i = 0; string tmp = ""; do { if ((labels[i] != ' ')) { tmp += labels[i]; } else { if (tmp.Length > 0) { result.Add(Int32.Parse(tmp)); tmp = ""; c++; } } i++; } while (i < labels.Length); return(result); }
private ImageFolder EnsureImageFolderExistsWithParent(string folderName, Guid parentFolderId) { var folder = _folderRepository.GetSingle( x => x.FolderName.Equals(folderName, StringComparison.CurrentCultureIgnoreCase) && x.ParentFolderId != null && x.ParentFolderId.Equals(parentFolderId)); if (folder == null) { folder = new ImageFolder { FolderName = folderName, ParentFolderId = parentFolderId }; _folderRepository.Add(folder); } return(folder); }
public static byte[] Load(ImageFolder sub_folder, string filename) { IFolder rootFolder = Plugin.NetStandardStorage.CrossStorage.FileSystem.LocalStorage; IFolder folder = rootFolder.CreateFolder(sub_folder.ToString(), CreationCollisionOption.OpenIfExists); if (!folder.CheckFileExists(folder.FullPath + "/" + filename)) { return(null); } IFile file = folder.GetFile(filename); using (Stream stream = file.Open(FileAccess.ReadWrite)) { long length = stream.Length; byte[] streamBuffer = new byte[length]; stream.Read(streamBuffer, 0, (int)length); return(streamBuffer); } }
public static KeyValuePair <string, FileInfo> BuildImageInfo(ImageFolder folder, string subFolder, string oriFileName, bool isTemp) { oriFileName = oriFileName.Split('/').Last(); var index = oriFileName.LastIndexOf("."); var fileName = oriFileName.Substring(0, index); fileName = HttpUtility.UrlDecode(fileName); var dateParts = DateTime.Now.ToString(isTemp ? "yyyy/MM/dd" : "yyyy/MM"); if (!string.IsNullOrWhiteSpace(subFolder)) { dateParts = PathManager.UrlCombine(subFolder, dateParts); } var extension = oriFileName.Substring(index + 1); FileInfo fileInfo; int count = 0; string filePath; do { string extra = null; if (count > 0) { extra = "({0})".FormatWith(count); } if (isTemp) { filePath = "temp/{0}/{1}{3}.{2}".FormatWith(dateParts, fileName, extension, extra); } else { filePath = "data/{4}/{0}/{1}{3}.{2}".FormatWith(dateParts, fileName, extension, extra, folder); } fileInfo = new FileInfo(PathManager.PathCombine(filePath.ToImageUrl(false)).FromRoot()); count++; } while (fileInfo.Exists); return(new KeyValuePair <string, FileInfo>(filePath, fileInfo)); }
public static IEnumerable <PhotoData> Connect(ImageFolder f, List <MovementPoint> pointsList, int timeStepMilliseconds) { var pointsDates = pointsList.Select(p => p.Date); var firstPhotoDate = pointsDates.Min(); var lastPhotoDate = pointsDates.Max(); List <Photo> photos = new List <Photo>(); for (int i = 0; i < f.GetCount(); i++) { photos.Add(new Photo { Number = i, FileName = f.GetImg(i) }); } return(photos.Select(photo => { var photoDateTime = firstPhotoDate.AddMilliseconds(photo.Number * timeStepMilliseconds); var maxTimeRangeDiff = timeStepMilliseconds / 2; var closestPointInRange = pointsList .Where(point => Math.Abs((point.Date - photoDateTime).TotalMilliseconds) < maxTimeRangeDiff) .OrderBy(point => Math.Abs((point.Date - photoDateTime).TotalMilliseconds)) .FirstOrDefault(); if (closestPointInRange == null) { return null; } return new PhotoData { MovementPoint = closestPointInRange, Photo = photo }; }) .Where(pd => pd != null)); }
public string[] RecognizeAll(ImageFolder imf) { int count = imf.GetCount(); string[] result = new string[count]; for (int i = 0; i < count; i++) { var image = new Image <Gray, byte>(imf.GetImg(i)).Bytes; if (image.Length != 32 * 32) { result[0] = "wrong image size"; return(result); } if (net.Layers.Count == 0) { this.CreateCNN(); LoadCNN(path); } var dataShape = new Shape(32, 32, 1, 1); var data = new double[dataShape.TotalLength]; var dataVolume = BuilderInstance.Volume.From(data, dataShape); var j = 0; for (var y = 0; y < net.Layers[0].InputHeight; y++) { for (var x = 0; x < net.Layers[0].InputWidth; x++) { dataVolume.Set(x, y, 0, 0, image[j++]); } } net.Forward(dataVolume); var prediction = net.GetPrediction(); result[i] = GetClassNameFromNumber(prediction[0]); } return(result); }
public Config() { ApplicationFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); ConfigFile = Path.Combine(ApplicationFolder, "Config.json"); dynamic data = JsonParse.Deserialize(File.ReadAllText(ConfigFile)); GameTitle = "Bricker"; GameVersion = GetVersion(); DisplayVersion = $"{GameVersion.Major}.{GameVersion.Minor}.{GameVersion.Build}"; LocalIP = InterfaceDiscovery.GetLocalIP(); ServerIP = JsonParse.GetIPAddress(data.multiplayer.server) ?? DnsHelper.ResolveHost(JsonParse.GetString(data.multiplayer.server)); ServerPort = JsonParse.GetUShort(data.multiplayer.port); AudioSampleFolder = Path.Combine(ApplicationFolder, "Samples"); ImageFolder = Path.Combine(ApplicationFolder, "Images"); LogFile = Path.Combine(ApplicationFolder, "LogFile.txt"); FontFile = Path.Combine(ApplicationFolder, "Zorque.ttf"); HighScoreFile = Path.Combine(ApplicationFolder, "HighScores.txt"); InitialsFile = Path.Combine(ApplicationFolder, "Initials.txt"); RemoteInstanceFile = Path.Combine(ApplicationFolder, "RemoteInstances.txt"); Music = JsonParse.GetBoolean(data.audio.music); SoundEffects = JsonParse.GetBoolean(data.audio.effects); ShowGhost = JsonParse.GetBoolean(data.display.ghost); ShowBackground = JsonParse.GetBoolean(data.display.background); HighFrameRate = JsonParse.GetBoolean(data.performance.highFrameRate); AntiAlias = JsonParse.GetBoolean(data.performance.antiAlias); ImageFolder = JsonParse.GetString(data.display.imageFolder, null) ?? ImageFolder; if (ImageFolder.StartsWith("./")) { ImageFolder = Path.Combine(ApplicationFolder, ImageFolder.Substring(2)); } Debug = JsonParse.GetBoolean(data.debug); Initials = LoadInitials(); }
public static async Task <bool> SaveAsync(ImageFolder sub_folder, string filename, byte[] data) { return(await Task.Run(() => Save(sub_folder, filename, data))); }
private static void FirstImage_Changed(DependencyObject o, DependencyPropertyChangedEventArgs args) { ImageFolder thisClass = (ImageFolder)o; thisClass.SetFirstImage(); }
public static async Task <byte[]> LoadAsync(ImageFolder sub_folder, string filename) { return(await Task.Run(() => Load(sub_folder, filename))); }
public ImagesService(HttpPostedFileBase image, ImageFolder folder, string subFolder) { this._folder = folder; this._subFolder = subFolder; this.Image = image; }