gpt4 book ai didi

image-processing - 如何使用 bwlabel 或 regionprops 提取每个标签的像素集?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:23 26 4
gpt4 key购买 nike

我正在关注这个 tutorial

目标是能够吐出:A。每个标记对象的中心b.与每个标记对象关联的所有像素

在某种程度上,我有一个“a”的数组。对于每个对象,或“b.”对于每个对象

enter image description here

我真的不知道该怎么做。是否有 matlabl 工具可以帮助提取这些像素集或中心 - 每个 - 标签?

更新

我确实设法用 reigionprops 圈出了我想要的 80% ,但是它并没有准确地捕获标签,只是在它们周围设置一个圆圈,同时也捕获背景,这真的是不可避免的吗?我只是不确定如何访问每个带圆圈的项目的像素集。

r=regionprops(L, 'All'); imshow(imagergb); areas={r.Area}; Bboxes={r.BoundingBox};
for k=2:numel(r)
if areas{k}>50 && areas{k} < 1100
rectangle('Position',Bboxes{k}, 'LineWidth',1, 'EdgeColor','b', 'Curvature', [1 1]);
end
end

所以我想做的就是举个例子。
enter image description here

我还以为是

r = regionprops(L, 'PixelIdxList')

然后

element1 = r(1).PixelIdxList

但不知道如何获取每个像素的位置

我也试过

Z= bwlabel(L);

但是 imshow(Z==1) 吐出所有标签,而 imshow(Z==2) 吐出背景,所有标签和背景。无法测试 bwlabeln,因为我不确定为 r 和 c 参数输入什么。

最佳答案

使用 regionprops(L, 'PixelIdxList') 是正确的。它为您提供每个标签的像素索引列表。然后,您可以使用(例如,对于第一个标签)将它们转换为 [x,y] 坐标

[y,x] = ind2sub(size(L), r(1).PixelIdxList)

您可以使用 regionprops(L, 'Centroid') 获取标签中心。这已经为您提供了每个标签的 [x,y] 坐标。请注意,这些是亚像素坐标,因此如果您想将它们用作索引,您可能需要将它们四舍五入。

关于image-processing - 如何使用 bwlabel 或 regionprops 提取每个标签的像素集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141223/

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