xml - 如何相应地调整图像和适当的 xml 文件的大小?
问题描述
我正在尝试将对象检测模型应用于包含大约 180 个图像和相同数量的 xml 文件的数据集,每个图像都有边界框坐标。问题是所有图像的大小都不同,但在将它们放入模型之前,它们都应该具有相同的大小。如果我只是调整图像大小,边界框的所有坐标都会变得不正确,因此它们也应该更新。
一种解决方案是调整图像大小,然后手动更新每个 xml 文件,但最好有其他解决方案。
解决方案
要调整边界框坐标的大小,您可以使用以下逻辑:如果您的原始图像尺寸是 (width_orig,height_orig),您调整大小的图像尺寸是 (width_new,height_new) 并且您的初始边界框坐标是x_min,y_min,x_max,y_max
,那么您的新边界框坐标将希望x_min*x_scale,y_min*y_scale,x_max*x_scale,y_max*y_scale
,x_scale = width_new/width_orig
y_scale = height_new/height_orig
如果您最终需要 csv 格式的注释,您可以使用此xml_to_csv转换器将您的 xml 文件转换为 csv,然后适当地读取和修改 csv 文件中的行。
希望这可以帮助!
推荐阅读
- ios - Fill front and back sides of the path with different color in context of iOS CoreGraphics
- python - 我使用 Flask 创建了一个网站,并且有两个 html 页面如何连接它们?
- spring - Spring WebFluxTest 禁用 AWS 自动配置
- javascript - javascript加载后是否可以从页面中以纯文本形式获取特定div中的HTML?
- python - 从带有异常的异步任务列表中收集结果
- django - 无法理解 Django REST 框架 JWT Auth
- security - 创建负载平衡器后如何关闭 Google App Engine URL 以进行直接访问
- sharepoint - 在 Teams 中显示来自另一个租户 SharePoint Online 的页面。我想使用自定义 iFrame。是否可以通过对用户进行身份验证
- android - 如何为二进制可执行文件创建 APK 文件?
- string - Ada 自定义图像