0
[fname1 path] = uigetfile('*.*','open image file');%*.*
[path,name,ext,ver] = fileparts(fname1);
handles.fname = strcat(name,ext);
a = imread(handles.fname);
r = imresize(a,[256,256]);
file = 'C:\Main CBIR\query images\r.bmp';
[fname,map] = rgb2ind(r,32);
imwrite(fname,map,file);
위의 코드는 지정된 경로/폴더에 r
이라는 이름의 이미지 (BMP)를 저장합니다. 하지만 어떻게 이미지를 자체 이름으로 저장합니까? 나는 위의 코드를 사용하여 rose.bmp
을 저장하는 방법 이름을 입력하면 이미지가 rose.jpg
의미합니까? 위의 코드 대신 r.bmp
으로 이미지를 저장합니다. 어떻게해야합니까?MATLAB에서 Imwrite 명령 사용
위의 코드에서 imwrite (fname, map, file); 명령 뒤에'imread'를 사용하면 고맙겠습니다. 오류가 발생했습니다. b = imread (fname);'사용 오류 ==> strfind' '입력 문자열은 한 행을 가져야합니다. ' '오류 ==> 329' '하다면 imread (strfind (파일 이름 '//')); Y ' 이 ==의'' 오류> CBIR_MJP> insert_Callback 97' 'B = imread (FNAME)에서 오류? – Chethan
코드를 직접 가져와야합니다. 'name'은 문자열이므로'file'입니다. . 그러나'fname'은 문자열이 아니며'imread'의 입력으로 사용할 수 없습니다. 'imread (file); 시도하십시오. – Shai
'imread (file)'도 오류가납니다. '??? ==>'fileparts at 17'을 사용하는 중 오류 '입력은 행의 문자 벡터 여야합니다. ' 'Pre_processing> Pre_processing_OpeningFcn at 60' '[path, name, ext, ver] = fileparts (FNAME) '는 '==에서 오류> gui_mainfcn가 221' 'feval (gui_State.gui_OpeningFcn, gui_hFigure []'guidata (gui_hFigure) varargin {})로,' *이 파일 * 단지 포함 * bmp * image 내 생각에,이 명령을 실행 한 후에는'imwrite' 바로 위 코드에서 볼 수 있듯이 * index *로 변환됩니다. 그러나 나는 지정된 폴더에 저장된 이미지를 읽고 싶다. – Chethan