gpt4 book ai didi

matlab - 使用更多的点来定义 imroi 对象

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

简而言之:我想知道是否有可能,当使用 ROI 基类(实际上是 imroi)时,例如 impoly , imfreehand和其他人增加由 getPosition 生成的点数(即增加灵敏度)方法。

示例代码:

考虑以下代码,其中我:

1) 读取并显示一些图像

2) 调用imfreehand绘制一个封闭的感兴趣区域。

3) 调用getPosition 得到一个Nx2 的数组,其中存储了我刚刚绘制的手绘对象的坐标。

4) 调用scatter 以查看记录的实际坐标是什么。

clear
clc
close all

%// Read and display image
A = imread('coins.png');

imshow(A)

%// Set up imroi object
hROI = imfreehand(gca,'Closed',1);

%// Get its position as a Nx2 array
ROIPosition = getPosition(hROI);

%// Display the points retrieved by the getPosition method.
hold on

scatter(ROIPosition(:,1),ROIPosition(:,2),20,'r','filled')

放大绘制的 ROI 后,我得到了这个:

enter image description here

如您所见,缺少几个要点来完整描述该对象。

换句话说,是否可以通过 getPosition 方法获取 Nx2 数组,其中 N 大于默认值(我不知道其值)?我在网上搜索但找不到与此问题相关的任何内容。

谢谢!

最佳答案

如果还不算太晚,还有另一种方法可以通过在您创建的 ROI 对象 hROI 的掩码上使用 bwboundaries() 来获取坐标。

这是一个例子:

A = imread('coins.png');
imshow(A)
hROI = imfreehand(gca, 'closed', 1);
bw = createMask(hROI);
B = bwboundaries(bw);
B = B{:};
hold on
scatter(B(:,2), B(:,1),20, 'r', 'filled')

关于matlab - 使用更多的点来定义 imroi 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29947248/

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