2015-07-22 89 views
0

我正在使用imrect函數在matlab中顯示imrect矩形的canny和sobel邊緣的ROI。
其實我在我的matlab gui中有兩個座標軸。在一個軸上,我顯示用戶選擇的圖像,並使用imrect函數放置初始矩形。對應於imrect rectange我在軸2上顯示canny邊緣或sobel邊緣。一切都很好,直到現在。
現在我想用戶拖動或自動調整矩形,然後我想dispaly最新的矩形精明和索貝爾邊緣上軸2如何找到正確的矩形位置改變或不?

如何找到imrect矩形位置改變或不?

任何人都可以幫助我。如果任何網頁鏈接將幫助請放棄。

回答

4

您可以使用addNewPositionCallback方法添加您自己的回調函數,以便在矩形改變其位置時執行。

首先,你需要創建一個功能與新的矩形位置被稱爲:

function myFunc(newRect) 
fprintf(1, 'New rect position = [%d %d %d %d]\n', newRect); 

現在你可以用imrect功能寄存器:

rHandle = imrect(); %// create the interactive rectangle 
addNewPositionCallback(rHandle, @myFunc); %// register function myFunc to be called when rect is changed 
+1

感謝夏嘉曦它的工作這是很多的你解決方案。 –

+0

@ saimadhu.polamuri你是最受歡迎的;) – Shai

+0

如果我在圖像上有一堆直接的圖像,並且想要檢測它們中的所有變化並最終將這些矩形保存在文件中,該怎麼辦? –