2014-10-30 23 views
0

Прошу моего профессора добавить графический интерфейс для моего кода Matlab. Моя программа получает изображение в качестве ввода и возвращает строку.Добавление графического интерфейса MATLAB в код MATLAB

GUI должен позволить мне просматривать изображение, а затем отображать его. Затем мне нужно использовать это изображение в коде Matlab.

Для просмотра и отображения изображения, я создал pushbutton контроль и писал в своей функции обратного вызова

[baseFileName, folder] = uigetfile('*.jpg'); 
fullFileName = [folder baseFileName]; 
rgbImage = imread(fullFileName,'jpg'); 
imshow(rgbImage); 

Я добавил второй pushbutton и код Matlab (который имеет имя файла main.m) внутри его обратный вызов. Эта функция нуждается в изображении, отображаемом выше в качестве входа, и его вывод (который является строкой) должен отображаться в графическом интерфейсе.

Я столкнулся с несколькими проблемами:

  1. Я хочу, чтобы изображение, которое будет отображаться в определенном положении.
  2. Как я могу вызвать функцию в кнопке?
  3. Как я могу получить доступ и использовать изображение в первой кнопке ко второй кнопке?
+0

Есть тысячи учебных пособий. Мне потребовалось всего несколько часов, чтобы узнать: http://www.mathworks.com/videos/creating-a-gui-with-guide-68979.html –

+1

Я бы рекомендовал [программный графический интерфейс] (http: // www. mathworks.com/help/matlab/creating_guis/about-the-simple-programmatic-gui-example.html), а не GUIDE. – excaza

ответ

0

Некоторые советы о том, как вы можете начать работу со своими проблемами:

  1. можно создать осей объект на рисунке, положение которого может быть определена. затем просто постройте изображение на этих осях. Делайте все, что в функции обратного вызова
  2. Вызов функции из обратного вызова не должно быть проблемой

  3. сохранить изображение в структуре, то вы можете использовать, например, setappdata и getappdata передать его между обратных вызовов, то есть, когда ваш фигура ручка h.fig и ваша структура называется д:

    setappdata(h.fig,'d',d) 
    

    в первом обратном вызове, и для его получения, во втором:

    d = getappdata(h.fig,'d'); 
    
Смежные вопросы