gpt4 book ai didi

javascript - 如何将 Darknet 标签文件转换为常规 x,y,w,h?

转载 作者:行者123 更新时间:2023-11-28 03:35:40 24 4
gpt4 key购买 nike

很抱歉在这里问这个问题,但我已经研究了好几天了,但我不知道该使用什么公式。我希望有人知道我能做什么,谢谢!

所以我试图为暗网制作一个 GUI 工具,但前面显示的小方 block 位置错误。

image

图像尺寸:1024 x 683标签文件中的注释行:0 0.6681250000000001 0.510788 0.09750000000000003 0.15103200000000006

我正在尝试像这样得到x,y,w,h

    var convertDarknetImageLabelsToMatrices = function(loadedImage){
// loadedImage = {
// annotation: "0 0.6681250000000001 0.510788 0.09750000000000003 0.15103200000000006",
// dimensions: {
// height: 683,
// width: 1024
// }
// }
var width = loadedImage.dimensions.width
var height = loadedImage.dimensions.height
var matrices = []
var labels = loadedImage.annotation.split('\n')
labels.forEach(function(label){
if(!label)return
var lineParts = label.split(' ')
var classNumber = lineParts[0]
var x = lineParts[1] * width / 2
var y = lineParts[2] * height / 2
var w = lineParts[3] * width
var h = lineParts[4] * height
matrices.push({
classNumber: classNumber,
tag: loadedImage.className,
x: x,
y: y,
w: w,
h: h,
imageWidth: width,
imageHeight: height
})
})
return matrices
}

解析部分是

                var x = lineParts[1] * width / 2
var y = lineParts[2] * height / 2
var w = lineParts[3] * width
var h = lineParts[4] * height

我添加了 /2 因为它看起来更接近。在某些图像上,它在单个轴上几乎是精确的,例如 X 会对齐,但 Y 会偏离很远。我试图找出一个静态公式,但每当打开另一个图像时,它总是在其他方向上关闭。

训练本身很好,我只是无法稍后在 UI 中编辑/查看这些框:(

谢谢!如果您需要更多信息,请告诉我!

最佳答案

感谢所有查看并考虑回答的人。我刚刚想通了!这是我需要用于解析的内容。

                var w = lineParts[3] * width
var h = lineParts[4] * height
var x = (lineParts[1] * width) - w / 2
var y = (lineParts[2] * height) - h / 2

关于javascript - 如何将 Darknet 标签文件转换为常规 x,y,w,h?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com