2014-06-10 33 views
1

我正在製作一個GUI(帶GUIDE),其中有一個軸用於顯示圖像序列。爲了讓用戶在序列中選擇一個感興趣的區域,我使用'非正確'。問題如下:當圖像小於512x512像素(大約)時,一切都很順利,但對於較大的圖像(我試過600x600和1024x1024)矩形確實出現,我可以改變它的大小,但我不能拖動它。我雖然必須使用軸單位,所以我將屬性從「像素」更改爲「標準化」,並使用標準化的座標,但不起作用。無法爲高分辨率圖像拖動'正確'對象

這裏是我的代碼來創建矩形和限制其運動軸界限:

hROI = imrect(hVideo,[Width/4 Height/4 Width/2 Height/2]; % Arbitrary size and position of the rectangle, centered on the image. 

fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim')); 
setPositionConstraintFcn(hROI,fcn); 

當我在它工作的GUI之外的大量圖像進行同樣的操作。任何暗示都歡迎! 感謝

回答

0

我找到了一個解決方法的問題,在情況下,它可以幫助別人:

在呼叫調用imrect之前剛剛imshow,我們需要指定軸極限的「擴展數據」和「YDATA 「參數。

例子:

imshow(Movie{Frame},'parent',handles.axes1_Video,'XData',get(gca,'XLim'),'YData',get(gca,'YLim')) 

它適用於圖像可達1024×1024。