【问题标题】:How to block possibility to edit/drag impoly in matlab?如何阻止在matlab中编辑/拖动impoly的可能性?
【发布时间】:2016-11-17 14:05:30
【问题描述】:

我在 matlab 的 image_area 上创建了一个多边形。 我用了impoly。 但是在创建多边形之后。 我需要阻止移动和拖动 impoly 的可能性(已创建 ROI)。 我不知道该怎么做?

如果有任何帮助,我将不胜感激。

【问题讨论】:

    标签: image matlab image-processing matlab-guide


    【解决方案1】:

    您可以将makeConstrainToRectFcn 设置为一个包含您的投资回报率的矩形,然后当您尝试移动后者时,它将不起作用。您还可以在创建 ROI 后,将setVerticesDraggable 方法设置为 false,以防止顶点被拖动。

    示例代码(改编自 Mathworks 的示例):

    clc
    clear
    
    figure
    imshow('gantrycrane.png');
    h = impoly(gca, [188,30; 189,142; 93,141; 13,41; 14,29]);
    
    %// Get currentposition
    Pos = getPosition(h);
    
    %// Prevent draggable vertices
    setVerticesDraggable(h,0);
    
    %// Set up rectangle to prvent movement of ROI
    fcn = makeConstrainToRectFcn('impoly', [min(Pos(:,1)) max(Pos(:,1))], [min(Pos(:,2)) max(Pos(:,2))]);
    
    %// Apply function
    h.setPositionConstraintFcn(fcn);
    

    导致出现这种情况(用红色矩形表示):

    【讨论】:

    • 当然!如果这回答了您的问题,请将答案标记为已接受(其分数下方的绿色复选标记)以关闭线程。谢谢!
    猜你喜欢
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多