首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从圆形或奇异形状的blob - Matlab中获取像素坐标列表。

从圆形或奇异形状的blob - Matlab中获取像素坐标列表。
EN

Stack Overflow用户
提问于 2015-06-24 18:50:50
回答 1查看 788关注 0票数 0

我对图像处理很陌生,我试图获得一个在圆形/椭圆形/奇怪形状的斑点中找到的像素坐标列表。

我能想到的唯一方法就是使用一个包围盒,但不幸的是,包围盒确实穿过了这个区域。

有人有更好的主意吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 18:55:32

只需使用find获取像素坐标即可。假设您的映像是二进制并存储在im中,请执行以下操作:

代码语言:javascript
复制
[r,c] = find(im);

rc将是每个白色像素的行和列。这假设对象是完全关闭的--我想提一下一个警告。如果对象内部有洞,请考虑使用imfill来填充这些洞,然后将其与find组合起来。

代码语言:javascript
复制
bw = imfill(im, 'holes');
[r,c] = find(bw);

如果有多个对象,请使用regionprops并指定PixelList属性:

代码语言:javascript
复制
s = regionprops(im, 'PixelList');

这将返回一个N元素结构,其中每个结构包含一个PixelList字段,该字段包含每个唯一对象的(x,y)坐标。在您的示例中,这将是一个M x 2矩阵,其中第一列是x或列坐标,第二列是y或行坐标。

要访问对象的像素坐标列表,只需执行以下操作:

代码语言:javascript
复制
coords = s(idx).PixelList;

idx是您想要访问的对象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31034637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档