0
我在matlab的image_area上創建一個多邊形。 我用impoly。 但創建多邊形後。 我需要阻止移動和拖動impoly(ROI已創建)的可能性。 我不知道該怎麼做?如何阻止在matlab中編輯/拖拽impoly的可能性?
我希望能得到任何幫助。
我在matlab的image_area上創建一個多邊形。 我用impoly。 但創建多邊形後。 我需要阻止移動和拖動impoly(ROI已創建)的可能性。 我不知道該怎麼做?如何阻止在matlab中編輯/拖拽impoly的可能性?
我希望能得到任何幫助。
您可以將makeConstrainToRectFcn設置爲包含您的ROI的矩形,然後無論何時嘗試移動後者都不起作用。您也可以在創建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);
導致這種情況(紅色矩形進行說明):
非常感謝! :) –
當然!如果回答您的問題,請將答案標記爲已接受(綠色複選標記低於其分數)以關閉該線程。謝謝! –
完成。謝謝:)它現在運作良好! –