Python/MATLAB 中的边界框不同

BoundingBox different in Python/MATLAB

在 MATLAB 中我有以下代码:

props = regionprops(bw,'BoundingBox');
v = cat(1, props.BoundingBox);

和 v returns 这个:[194.5000, 156.5000, 378.0000, 154.0000; 325.5000, 342.5000, 160.0000, 160.0000]

在Python中:

label_img = label(bw, connectivity = bw.ndim)
regions = regionprops(label_img)
v = np.array([p.bbox for p in regions]).reshape(2,4)

这次 v returns: array([[156, 194, 310, 572], [342, 325, 502, 485]])

有些数字很相似,但我不知道它们的真正含义。 ¿有谁知道我怎样才能在 MATLAB 中得到相同的结果?

这两个的输出格式有点不同,我认为相同的内容可能会让您感到困惑

OpenCV 输出:

[156, 194, 310, 572] -> [min_x, min_y, max_x, max_y]

Matlab 输出:

[194.5000, 156.5000, 378.0000, 154.0000] -> [min_y, min_x, height, width]

如果要复制值,只需将 matlab 输出中的高度和宽度参数相加即可

请注意:我可能混淆了两个轴。但是无论

,加法的基本概念都是一样的