【问题标题】:how to extract the objects inside the region of interest in matlab如何在matlab中提取感兴趣区域内的对象
【发布时间】:2012-08-22 02:28:02
【问题描述】:

我有兴趣提取区域内的对象。

例如,

图 1 显示了我的激光轮廓的强度轮廓。根据激光强度,我将轮廓分为 2 个感兴趣区域(ROI1 和 ROI2)。

图 2 显示了我的阳性反应 exp 结果与激光强度分布的重叠。肯定响应数据文件由 x 和 y 坐标组成。如您所见,结果分散在激光轮廓图像上。

这就是我想要做的,我想提取 ROI2 中的点并丢弃所有其余的点,如图 3 所示。我该怎么做?具体来说,如何在matlab中定义不规则形状的ROI2并提取正响应数据的坐标。 感谢您的帮助。

【问题讨论】:

    标签: image matlab image-processing roi


    【解决方案1】:

    正如 eykanal 所说,您可以使用 impoly 函数在图像中创建任何类型的 ROI。提取坐标的一般解决方案是创建您想要的 ROI,并使用find 提取坐标和一些设置操作以删除不需要的点。像这样:

    imshow(image)
    h         = impoly() ;      %# draw ROI1
    ROI1      = createMask(h);  %# create binary mask of ROI1
    h2        = impoly();       %# draw dummy_ROI consisting of ROI1+ROI2
    dummy_ROI = createMask(h2); %# create binary mask
    ROI2      = dummy_ROI-ROI1; %# create ROI2
    
    p      = find(ROI2);        %# find all coordinates of ROI2
    points = intersect(ind,p);  %# find all points with linear index ind that are
                                %# part of ROI2
    

    【讨论】:

    • @Ghaul ind 是什么?你没有定义它。
    • @memyself ind 将是他想要保留的点的线性索引(一维坐标)。 (他在问题中说他想提取一些已知坐标)
    【解决方案2】:

    我认为这个问题比你想象的要容易,只要你总是沿着(看起来是)轮廓线分割图像。您想选择所有值大于等高线 1 且小于等高线 2 的点。我不确定您是如何指定等高线的,但选择命令应该是:

    #% let laserData be the image data (it looks like it should
    #% be 512x256, so I'll assume that)
    
    highBound = mean(contour1points);
    lowBound  = mean(contour2points);
    
    selectedData = laserData(laserData > lowBound & laserData < highBound);
    

    如果看起来你只是根据值设置轮廓,那么mean(contour1points) 可以替换为用户定义的值,使用该函数获取光标下像素的值,我可以碰巧现在不记得了。如果要定义多边形,请查看impoly function

    【讨论】:

    • @eykanal,这是非常有用的方向。 Ghaul 的建议使它更完整。感谢您的帮助。
    【解决方案3】:

    我不知道您对 ROI 使用什么表示,但我会建议一些方法:

    1. 如果您的 ROI 是一个椭圆并且您知道它的方程式,只需将其应用于结果坐标。用标志来判断是否在里面

    2. 如果您的 ROI 是某种多边形,您可以使用函数 inpolygon

    3. 您可以将 ROI 渲染为黑白图像并轻松测试命中/未命中。

    请提供有关 ROI 表示的更多详细信息。

    【讨论】:

    • @Albert,ROI 的形状不一定是椭圆或一定的形状。假设形状是不规则的。你将如何处理这个问题?谢谢。
    • @Tai-YenChen 但你将如何代表它?作为一个方程,作为一个最小强度,作为一系列点,等等?
    猜你喜欢
    • 2018-08-15
    • 2015-06-07
    • 2017-09-28
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多