【发布时间】:2016-11-17 14:05:30
【问题描述】:
我在 matlab 的 image_area 上创建了一个多边形。 我用了impoly。 但是在创建多边形之后。 我需要阻止移动和拖动 impoly 的可能性(已创建 ROI)。 我不知道该怎么做?
如果有任何帮助,我将不胜感激。
【问题讨论】:
标签: image matlab image-processing matlab-guide
我在 matlab 的 image_area 上创建了一个多边形。 我用了impoly。 但是在创建多边形之后。 我需要阻止移动和拖动 impoly 的可能性(已创建 ROI)。 我不知道该怎么做?
如果有任何帮助,我将不胜感激。
【问题讨论】:
标签: image matlab image-processing matlab-guide
您可以将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);
导致出现这种情况(用红色矩形表示):
【讨论】: