matlab人機交互界面生成GIF圖片_第1頁
matlab人機交互界面生成GIF圖片_第2頁
matlab人機交互界面生成GIF圖片_第3頁
matlab人機交互界面生成GIF圖片_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、%以下代碼為在matlab2017a版本下編寫的代碼%該代碼運行后會出現(xiàn)人機交互界面,用于從用戶指定的文件夾中取出圖片并生成相應(yīng)的GIF動圖%具體操作:將該文件中的內(nèi)容拷貝后保存為.txt文件,然后修改該文件的后綴名為.m文件。打開matlab,并在matlab中打開該.m文件。點擊運行后會出現(xiàn)人機交互界面。在人機交互界面中選擇圖片所在的路徑,并設(shè)定其他相應(yīng)的參數(shù),最后點擊“生成GIF圖片”按鈕即可在該.m文件所在路徑下生成相應(yīng)的GIF動圖。%人機交互界面截圖如下:%functionvarargout=gen_gif(varargin)gui_Singleton=1;gui_State=str

2、uct(gui_Name,mfilename,.gui_Singleton,gui_Singleton,.gui_OpeningFcn,gen_gif_OpeningFcn,.gui_OutputFcn,gen_gif_OutputFcn,.gui_LayoutFcn,.gui_Callback,);ifnargin&ischar(varargin1)gui_State.gui_Callback=str2func(varargin1);endifnargoutvarargout1:nargout=gui_mainfcn(gui_State,varargin:);elsegui_mainfcn(

3、gui_State,varargin:);endfunctiongen_gif_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=gen_gif_OutputFcn(hObject,eventdata,handles)varargout1=handles.output;functiongen_gif_Callback(hObject,eventdata,handles)height=get(handles.height,S

4、tring);height=str2double(height);delaytime=get(handles.delaytime,String);delaytime=str2double(delaytime);maxnum=get(handles.maxnum,String);maxnum=str2double(maxnum);path_imgs=get(handles.path_imgs,String);ifisempty(path_imgs)msgbox(請先選擇一個含有圖片的文件夾!,Tip,modal);elsegen_mygif(path_imgs,height,delaytime,

5、maxnum);endfunctionpick_path_Callback(hObject,eventdata,handles)path_imgs=uigetdir;set(handles.path_imgs,String,path_imgs);functionheight_Callback(hObject,eventdata,handles)functionheight_CreateFcn(hObject,eventdata,handles)ifispc&isequal(get(hObject,BackgroundColor),get(0,defaultUicontrolBackground

6、Color)set(hObject,BackgroundColor,white);endfunctiondelaytime_CreateFcn(hObject,eventdata,handles)ifispc&isequal(get(hObject,BackgroundColor),get(0,defaultUicontrolBackgroundColor)set(hObject,BackgroundColor,white);endfunctionmaxnum_CreateFcn(hObject,eventdata,handles)ifispc&isequal(get(hObject,Back

7、groundColor),get(0,defaultUicontrolBackgroundColor)set(hObject,BackgroundColor,white);endfunctionpath_imgs_CreateFcn(hObject,eventdata,handles)ifispc&isequal(get(hObject,BackgroundColor),get(0,defaultUicontrolBackgroundColor)set(hObject,BackgroundColor,white);endfunctiontxt_height_CreateFcn(hObject,

8、eventdata,handles)ifispc&isequal(get(hObject,BackgroundColor),get(0,defaultUicontrolBackgroundColor)set(hObject,BackgroundColor,white);endfunctiondelaytime_Callback(hObject,eventdata,handles)functiontxt_delaytime_CreateFcn(hObject,eventdata,handles)ifispc&isequal(get(hObject,BackgroundColor),get(0,d

9、efaultUicontrolBackgroundColor)set(hObject,BackgroundColor,white);endfunctionmaxnum_Callback(hObject,eventdata,handles)functiontxt_maxnum_CreateFcn(hObject,eventdata,handles)ifispc&isequal(get(hObject,BackgroundColor),get(0,defaultUicontrolBackgroundColor)set(hObject,BackgroundColor,white);end%產(chǎn)生gif

10、文件functiongen_mygif(path_imgs,img_H,time_delay,max_numImgs)dbImds=imageDatastore(path_imgs,IncludeSubfolders,true,LabelSource,foldernames);num_img=numel(dbImds.Files);num_img=min(num_img,max_numImgs);ifnum_img=0msgbox(所選文件夾內(nèi)不含任何圖片,請重新選擇圖片路徑!,Tip,modal);return;endI=readimage(dbImds,1);I_tmp=uint8(zer

11、os(size(I,2),size(I,1),size(I,3);I_tmp(:,:,1)=I(:,:,1);I_tmp(:,:,2)=I(:,:,2);I_tmp(:,:,3)=I(:,:,3);I=I_tmp;s1,s2,=size(I);ifimg_H=0,img_H=s1;end%為0表示使用原始圖像長寬數(shù)據(jù),suffix=fileparts(path_imgs);name_gif=sprintf(%s_%d_%.2f_%d.gif,suffix,img_H,time_delay,num_img);img_W=floor(img_H*(s2/s1);fori=1:num_imgI=readimage(dbImds,i);I_tmp=uint8(zeros(size(I,2),size(I,1),size(I,3);I_tmp(:,:,1)=I(:,:,1);I_tmp(:,:,2)=I(:,:,2);I_tmp(:,:,3)=I(:,:,3);I=I_tmp;I=imresize(I,img_H,img_W);I2,map=rgb2ind(I,256);ifi=1imwrite(I2,map,name_gif,gif,WriteMode,append

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論