在Tensorflow对象检测中创建不带Labelimg的XML文件

时间:2018-07-10 21:56:12

标签: xml tensorflow label object-detection

我想运行自己的数据集并想自己创建XML文件,因为文件太多了,labelimg软件无法实现。
我已经有了绑定框的坐标,并且已经编写了一个脚本来创建XML文件。

以下是创建的XML文件的示例:
我大约有400张训练图像-每个图像中都有20-30个对象。 但是在运行“ xml_to_csv.py”代码后,我得到了以下错误(也在附件中)。当我使用创建了labelimg的XML运行它时,它就不存在了。

这是错误:

enter image description here

这是我生成的XML文件:

This is my generated XML file:

这是继续:

enter image description here 4

1 个答案:

答案 0 :(得分:0)

最好使用一种安全的方法来生成 LabelImg import java.io.*; import java.util.*; import com.ibm.jzos.MvsConsole; import com.ibm.jzos.ZFile; import com.ibm.jzos.ZFileException; import com.ibm.jzos.ZUtil; import com.itextpdf.text.*; import com.itextpdf.text.pdf.ColumnText; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.text.pdf.BaseFont; public class Simplepdf { public static void main(String[] args) throws ZFileException, IOException, DocumentException { ZFile inZFile = new ZFile("//DD:INDD","rb,type=record,noseek"); ZFile outZFile = new ZFile("//DD:OUTDD", "wb"); BufferedReader brdr = null; InputStream istream = inZFile.getInputStream(); InputStreamReader rdr = new InputStreamReader(istream,"Cp420"); brdr = new BufferedReader(rdr); OutputStream ostream = outZFile.getOutputStream(); BaseFont nf = BaseFont.createFont("cour.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Float pf = Float.parseFloat("8"); Font font = new Font(nf,pf); BaseFont bf = BaseFont.createFont("courbd.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font fontb = new Font(bf,pf); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, ostream); document.open(); ColumnText column = new ColumnText(writer.getDirectContent()); column.setSimpleColumn(36, 770, 569, 36); column.setRunDirection(PdfWriter.RUN_DIRECTION_NO_BIDI); String encoding = "Cp420"; byte[] recBuf = new byte[inZFile.getLrecl()]; int nRead; while((nRead = inZFile.read(recBuf)) > 0) { String line = new String(recBuf,1,nRead-1,encoding); column.addElement(new Paragraph(line, font)); } column.go(); brdr.close(); document.close(); } } 文件,这样可以减少出现数据格式错误的可能性。我发现这种方法对避免由于 xml standard 导致的错误非常有用。

xml