我想运行自己的数据集并想自己创建XML文件,因为文件太多了,labelimg
软件无法实现。
我已经有了绑定框的坐标,并且已经编写了一个脚本来创建XML文件。
以下是创建的XML文件的示例:
我大约有400张训练图像-每个图像中都有20-30个对象。
但是在运行“ xml_to_csv.py”代码后,我得到了以下错误(也在附件中)。当我使用创建了labelimg的XML运行它时,它就不存在了。
这是错误:
这是我生成的XML文件:
这是继续:
答案 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