Как хранить имена файлов разных форм и цветов, полученные с помощью Matlab GUIDE в месте - PullRequest
0 голосов
/ 06 июля 2019

Я использую Matlab Guide для создания графического интерфейса, который принимает формы и цвета из 2 разных папок, содержащих разные формы и цвета. Я разработал скрипт на python для заливки определенного цвета внутри определенной формы. Для того, чтобы получить пользовательский ввод о выборе его / ее формы и цвета заливки мне нужно вернуть имена файлов и использовать эти имена в моем скрипте python.

Мой скрипт на python работает нормально. Я столкнулся с проблемой хранения имен файлов, полученных из matlab для хранения в определенном месте.

function popupmenu1_Callback(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 
contents as cell array
%     contents{get(hObject,'Value')} returns selected item frompopupmenu1
items = get(hObject,'String');
global item_selected
index_selected = get(hObject,'Value');
item_selected = items{index_selected};
display (item_selected)
matfrompy;

Ниже приведен код matfrompy.m

global filename1;
global filename2;
global item_selected

switch item_selected
    case 'Shapes'
        [file,path] = 
uigetfile('H:\baibhav\MPEG7dataset\changed_name\*.jpg'); 
    if isequal(file,0)  %if users clicks on cancel button it returns 0
     disp('User selected Cancel')
    else
        [~, file1, ~] = fileparts(file);   

        disp(file1);
        filename1 = str2num(file1);
        disp(filename1);
    end

case 'Colour'
    [file,path] = uigetfile('H:\Color Files\*.png'); 
    if isequal(file,0)  %if users clicks on cancel button it returns 0
     disp('User selected Cancel')
    else
        [~, file2, ~] = fileparts(file);    %In the syntax of fileparts, filepath and extension are taken to be ~
        disp(file2);
        filename2 = str2num(file2);
        disp(filename2);
    end
end

fid = fopen('write_credentials.txt', 'at');

if fid ~= -1
    %fprintf(fid, '%s', email_id);   % %s and %c are format specifier
    fprintf(fid, '%c', ' '); fprintf(fid, '%d', filename1);
    fprintf(fid, '%c', ' '); fprintf(fid, '%d', filename2);
    fprintf(fid, '\n'); %this is working..
    fclose(fid);
else
    warningMessage = sprintf('Cannot open file %s', filename);
    uiwait(warndlg(warningMessage));
end
...