Exemple #1
0
        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>();
            }
        }
Exemple #2
0
        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);
        }