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 输出中的高度和宽度参数相加即可
请注意:我可能混淆了两个轴。但是无论
,加法的基本概念都是一样的
在 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 输出中的高度和宽度参数相加即可
请注意:我可能混淆了两个轴。但是无论
,加法的基本概念都是一样的