Я использую 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