在JavaScript中,将标注图片保存为XML通常涉及以下几个步骤:
<annotation>
、<folder>
、<filename>
等标签。以下是一个简单的示例,展示如何将标注数据保存为Pascal VOC格式的XML文件:
function createXML(annotations, imagePath) {
let xml = '<?xml version="1.0"?>\n';
xml += '<annotation>\n';
xml += ` <folder>images</folder>\n`;
xml += ` <filename>${path.basename(imagePath)}</filename>\n`;
xml += ' <size>\n';
xml += ` <width>800</width>\n`; // 假设图片宽度
xml += ` <height>600</height>\n`; // 假设图片高度
xml += ` <depth>3</depth>\n`; // 假设图片深度
xml += ' </size>\n';
annotations.forEach(annotation => {
xml += ' <object>\n';
xml += ` <name>${annotation.label}</name>\n`;
xml += ' <bndbox>\n';
xml += ` <xmin>${annotation.xmin}</xmin>\n`;
xml += ` <ymin>${annotation.ymin}</ymin>\n`;
xml += ` <xmax>${annotation.xmax}</xmax>\n`;
xml += ` <ymax>${annotation.ymax}</ymax>\n`;
xml += ' </bndbox>\n';
xml += ' </object>\n';
});
xml += '</annotation>';
return xml;
}
// 示例标注数据
const annotations = [
{ label: 'car', xmin: 100, ymin: 100, xmax: 200, ymax: 200 },
{ label: 'person', xmin: 300, ymin: 150, xmax: 400, ymax: 300 }
];
// 假设图片路径
const imagePath = 'path/to/image.jpg';
// 生成XML
const xmlString = createXML(annotations, imagePath);
// 保存XML文件
const fs = require('fs');
fs.writeFileSync('annotations.xml', xmlString);
通过以上步骤和示例代码,你可以将图片标注数据保存为XML文件,以便后续使用。
领取专属 10元无门槛券
手把手带您无忧上云