2015-07-22 2 views
0

Я работаю над imrect Функция в matlab для отображения canny и sobel edge ROI imrect прямоугольник.
На самом деле у меня есть две оси в моем matlab gui. В одной оси я показываю выбранное пользователем изображение и размещая исходный прямоугольник, используя функцию imrect. соответственно к прямоугольнику imrect. Я показываю кромку края или бордюра на оси два. До сих пор все в порядке.
Теперь я хочу, чтобы пользователь перетащить или изменить размер прямоугольника, то автоматически я хочу 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

что делать, если у меня есть куча правильного изображения, и я хочу обнаружить изменения во всех них и, наконец, сохранить эти прямоугольники в файле? –