public void Parse() { //var result = str.Substring(str.LastIndexOf('-') + 1); string folderName = folder.Substring(folder.LastIndexOf('\\') + 1); string fileName = CurrentImgFile.Substring(CurrentImgFile.LastIndexOf('\\') + 1); int index = fileName.IndexOf("."); string annotations = folder + "\\Annotations\\"; string xmlImgFile = annotations + fileName.Substring(0, index) + ".xml"; if (!Directory.Exists(annotations)) { Directory.CreateDirectory(annotations); } XmlWriterSettings xmlWriterSettings = new XmlWriterSettings() { Indent = true, IndentChars = "\t", NewLineOnAttributes = true }; using (XmlWriter writer = XmlWriter.Create(xmlImgFile, xmlWriterSettings)) { writer.WriteStartDocument(); writer.WriteStartElement("annotation"); writer.WriteElementString("folder", folderName); writer.WriteElementString("filename", fileName); writer.WriteStartElement("size"); writer.WriteElementString("width", Convert.ToString(ImgWidth)); writer.WriteElementString("height", Convert.ToString(ImgWidth)); writer.WriteElementString("depth", "3"); writer.WriteEndElement(); foreach (ObjectData obj in objData) { writer.WriteStartElement("object"); writer.WriteElementString("name", obj.name); writer.WriteStartElement("bndbox"); writer.WriteElementString("xmin", Convert.ToString(obj.xMin)); writer.WriteElementString("ymin", Convert.ToString(obj.yMin)); writer.WriteElementString("xmax", Convert.ToString(obj.xMax)); writer.WriteElementString("ymax", Convert.ToString(obj.yMax)); writer.WriteEndElement(); writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); objData = new List <ObjectData>(); } }
public string Next() { CurrentImgFile = imgFiles[0]; string imgName = CurrentImgFile.Substring(CurrentImgFile.LastIndexOf('\\') + 1); int index = imgName.IndexOf("."); imgName = imgName.Substring(0, index); if (trainData.Count > split) { testData.Add(imgName); } else { trainData.Add(imgName); } imgFiles.RemoveAt(0); IsEmpty(); return(CurrentImgFile); }