圖像增強(qiáng)——頻域增強(qiáng)法課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《 MATLAB 實(shí)踐 》</p><p><b>  課程設(shè)計(jì)</b></p><p>  題目:圖像增強(qiáng)——頻域增強(qiáng)法</p><p>  二○○六 年 6 月 29 日</p><p> 姓名學(xué)號(hào)</p><p>  目 錄</p><

2、;p><b>  1、設(shè)計(jì)目的2</b></p><p><b>  2、題目分析2</b></p><p><b>  3、總體設(shè)計(jì)3</b></p><p><b>  4、具體設(shè)計(jì)4</b></p><p>  4.1圖像的讀取和保存

3、4</p><p>  4.1.1利用“讀入圖像”按鈕實(shí)現(xiàn)圖片的讀取 4</p><p>  4.1.2圖像保存6</p><p>  4.2 程序的還原與撤銷(xiāo)7</p><p>  4.3 圖像的截取7</p><p>  4.4 加入各種噪聲,并通過(guò)幾種濾波算法實(shí)現(xiàn)去噪。8</p><

4、p>  4.4.1 加入噪聲8</p><p>  4.5 濾除噪聲11</p><p>  4.6.1圖像翻轉(zhuǎn)15</p><p>  4.6.2 圖像旋轉(zhuǎn)16</p><p><b>  5、結(jié)果分析17</b></p><p><b>  6、心得體會(huì)18<

5、/b></p><p><b>  參考書(shū)目19</b></p><p>  摘要:圖像增強(qiáng)是指按特定的需要突出一幅圖像中的某些信息,同時(shí)消弱或去除某些不需要的信息。其主要目的是處理后的圖像對(duì)某些特定的應(yīng)用比原來(lái)的圖像更加有效。圖像增強(qiáng)的方法分為空域法和頻域法兩類(lèi),空域法主要是對(duì)圖像中的各個(gè)像素點(diǎn)進(jìn)行操作;而頻域法是在圖像的某個(gè)變換域內(nèi),對(duì)圖像進(jìn)行操作,修改變

6、換后的系數(shù),例如傅立葉變換,DCT變換等的系數(shù),然后再進(jìn)行反變換得到處理后的圖像。關(guān)鍵字:高斯噪聲,巴特沃斯濾波,理想低通濾波,梯形低通濾波</p><p><b>  1、設(shè)計(jì)目的</b></p><p>  綜合運(yùn)用MATLAB工具箱實(shí)現(xiàn)圖像處理的GUI程序設(shè)計(jì), 利用MATLAB圖像處理工具箱,實(shí)現(xiàn)圖像增強(qiáng)—頻域增強(qiáng)。</p><p>

7、<b>  2、題目分析 </b></p><p>  利用matlab的GUI程序設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用的圖像處理程序,該程序應(yīng)具備圖像處理的常用功能,以滿(mǎn)足用戶(hù)的使用?,F(xiàn)設(shè)計(jì)程序有以下基本功能:</p><p>  1)圖像的讀取和保存。</p><p>  2)設(shè)計(jì)圖形用戶(hù)界面,讓用戶(hù)能夠?qū)D像進(jìn)行任意角度的翻轉(zhuǎn)。</p>&l

8、t;p>  3)設(shè)計(jì)圖形用戶(hù)界面,讓用戶(hù)能夠用鼠標(biāo)截取圖像感興趣區(qū)域,并顯示和保存該選擇區(qū)域。</p><p>  4)設(shè)計(jì)圖形用戶(hù)界面,讓用戶(hù)能夠?qū)D像添加任意參數(shù)的各種噪聲,如椒鹽噪聲、高斯噪聲、乘性噪聲等。</p><p>  5)設(shè)計(jì)圖形用戶(hù)界面,讓用戶(hù)能夠?qū)D像實(shí)現(xiàn)中值濾波、線性濾波、自適應(yīng)濾波等操作。</p><p>  6)設(shè)計(jì)圖形用戶(hù)界面,讓用

9、戶(hù)能夠?qū)υ肼晥D像實(shí)現(xiàn)理想低頻濾波、巴特沃斯濾波、指數(shù)濾波、梯形低通濾波。</p><p><b>  7)額外功能。</b></p><p><b>  3、總體設(shè)計(jì)</b></p><p><b>  圖 一</b></p><p>  軟件的總體設(shè)計(jì)界面布局如上圖所示,主要

10、分為兩個(gè)部分:顯示區(qū)域與操作區(qū)域。</p><p>  顯示區(qū)域:顯示載入原圖,以及通過(guò)處理后的圖像。</p><p>  操作區(qū)域:通過(guò)功能鍵實(shí)現(xiàn)對(duì)圖像的各種處理。</p><p>  左部的一系列功能按鍵如“讀入圖像”、“存儲(chǔ)圖像”、“還原”、“撤銷(xiāo)”、“截圖”。右部的一系列功能按鍵如“巴特沃斯濾波”、“理想低通濾波”、“梯形低通濾波”、“指數(shù)濾波”、“退出”。

11、</p><p>  界面正中部分為圖片顯示部分,界面中下方為一系列功能選擇組。</p><p>  設(shè)計(jì)完成后運(yùn)行的軟件界面如下:</p><p>  圖 二 </p><p>  與圖一相比,運(yùn)行后的界面更為簡(jiǎn)潔。</p><p><b>  4、具體設(shè)計(jì)</b></p>

12、;<p>  現(xiàn)介紹各個(gè)模塊的功能與實(shí)現(xiàn)。</p><p>  4.1圖像的讀取和保存</p><p>  4.1.1利用“讀入圖像”按鈕實(shí)現(xiàn)圖片的讀取 </p><p>  利用matlab中 “ uigetfile”、“imread” “imshow”等函數(shù)實(shí)現(xiàn)圖像文件的讀取與顯示:</p><p>  function o

13、penfile_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to openfile (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>

14、;  % handles structure with handles and user data (see GUIDATA)</p><p>  [filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'載入圖像');</p><p>

15、  if isequal(filename,0)|isequal(pathname,0)</p><p>  errordlg('沒(méi)有選中文件','出錯(cuò)');</p><p><b>  return;</b></p><p><b>  else </b></p><p

16、>  file=[pathname,filename];</p><p>  global S %設(shè)置一個(gè)全局變量S,保存初始圖像路徑,以便之后的還原操作</p><p><b>  S=file;</b></p><p>  x=imread(file);</p><p>  set(handles.axes

17、1,'HandleVisibility','ON');</p><p>  axes(handles.axes1);</p><p>  imshow(x);</p><p>  set(handles.axes1,'HandleVisibility','OFF');</p><p&

18、gt;  axes(handles.axes2);</p><p>  imshow(x);</p><p>  handles.img=x;</p><p>  guidata(hObject,handles);</p><p><b>  end</b></p><p><b>  

19、程序關(guān)鍵部分: </b></p><p>  通過(guò)[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'載入圖像')選擇相應(yīng)路徑打開(kāi)的圖像;通過(guò)file=[pathname,filename]; x=imread(file); 讀取選中的圖像;最后,

20、通過(guò)imshow(x)在顯示區(qū)域上顯示圖像。</p><p><b>  4.1.2圖像保存</b></p><p>  利用“uiputfile”、“imwrite”函數(shù)實(shí)現(xiàn)圖像文件的保存。</p><p>  function save_Callback(hObject, eventdata, handles)</p><

21、;p>  % hObject handle to save (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDAT

22、A)</p><p>  [sfilename ,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存圖像文件','untitled.jpg');</p><p>  if ~isequal([sfilename,sfilepath],

23、[0,0])</p><p>  sfilefullname=[sfilepath ,sfilename];</p><p>  imwrite(handles.img,sfilefullname);</p><p><b>  else</b></p><p>  msgbox('你按了取消鍵',

24、9;保存失敗');</p><p><b>  end </b></p><p><b>  程序關(guān)鍵部分:</b></p><p>  通[sfilename ,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'

25、*.*'},'保存圖像文件','untitled.jpg')選擇圖像文件保存的路徑與格式;然后,通過(guò)sfilefullname=[sfilepath ,sfilename];</p><p>  imwrite(handles.img,sfilefullname); 實(shí)現(xiàn)對(duì)圖像的保存。</p><p>  4.2 程序的還原與撤銷(xiāo)</p>

26、<p>  通過(guò)一個(gè)全局變量保存原始圖像路徑,在需要還原至原始圖像時(shí),重新讀取該全局變量即可。實(shí)現(xiàn)程序段如下:</p><p>  function pushbutton_huanyuan_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to pushbutton_huanyuan (se

27、e GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p>  global S

28、 %還原</p><p>  axes(handles.axes2);</p><p>  y=imread(S);</p><p>  f=imshow(y);</p><p>  handles.img=y;</p><p>  guidata(hObject,handl

29、es);</p><p>  撤銷(xiāo)是指撤銷(xiāo)上一步的操作,通過(guò)另設(shè)一個(gè)全局變量T保存是上一次操作后的圖像。實(shí)現(xiàn)程序段如下:</p><p>  function pushbutton_chexiao_Callback(hObject, eventdata, handles)</p><p>  % hObject handle to pushbutton3 (s

30、ee GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p>  axes(handles.

31、axes2); %撤銷(xiāo)</p><p><b>  global T</b></p><p>  imshow(T);</p><p>  handles.img=T;</p><p>  guidata(hObject,handles);</p><p><b>  4.3 圖像

32、的截取</b></p><p>  通過(guò)imcrop(x)函數(shù)來(lái)實(shí)現(xiàn)對(duì)圖片某一區(qū)域的截取,截取的圖片在右框中顯示,并保存在指定的路徑。</p><p><b>  實(shí)現(xiàn)程序段如下:</b></p><p>  function pushbutton_jietu_Callback(hObject, eventdata, handles

33、)</p><p>  % hObject handle to pushbutton_jietu (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handl

34、es and user data (see GUIDATA)</p><p><b>  global T</b></p><p>  axes(handles.axes2);</p><p>  T=getimage;</p><p>  x=imcrop(handles.img); %截圖&l

35、t;/p><p>  imshow(x);</p><p>  handles.img=x;</p><p>  guidata(hObject,handles);</p><p>  4.4 加入各種噪聲,并通過(guò)幾種濾波算法實(shí)現(xiàn)去噪。</p><p>  4.4.1 加入噪聲</p><p>  

36、通過(guò)imnoise(I,type,parameters)來(lái)加入各種噪聲。</p><p><b>  <1>加入椒鹽噪聲</b></p><p>  <2>加入高斯噪聲:</p><p>  <3>加入乘性噪聲:</p><p><b>  實(shí)現(xiàn)程序段如下:</b>

37、;</p><p>  function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)</p><p>  % hObject handle to the selected object in uipanel1 </p><p>  % eventdata structure with th

38、e following fields (see UIBUTTONGROUP)</p><p>  % EventName: string 'SelectionChanged' (read only)</p><p>  % OldValue: handle of the previously selected object or empty if none was

39、selected</p><p>  % NewValue: handle of the currently selected object</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global T</b>

40、</p><p>  str=get(hObject,'string');</p><p>  axes(handles.axes2);</p><p>  switch str</p><p>  case '椒鹽噪聲'</p><p>  T=getimage; </p>

41、<p>  prompt={'輸入椒鹽噪聲參數(shù):'};</p><p>  defans={'0.02'};</p><p>  p=inputdlg(prompt,'input',1,defans);</p><p>  p1=str2num(p{1});</p><p>  f

42、=imnoise(handles.img,'salt & pepper',p1);</p><p>  imshow(f);</p><p>  handles.img=f;</p><p>  guidata(hObject,handles);</p><p>  case '高斯噪聲'</p&

43、gt;<p>  T=getimage;</p><p>  prompt={'輸入高斯噪聲參數(shù)1:','輸入高斯噪聲參數(shù)2'};</p><p>  defans={'0','0.02'};</p><p>  p=inputdlg(prompt,'input',1,de

44、fans);</p><p>  p1=str2num(p{1});</p><p>  p2=str2num(p{2});</p><p>  f=imnoise(handles.img,'gaussian',p1,p2);</p><p>  imshow(f);</p><p>  handles

45、.img=f;</p><p>  guidata(hObject,handles); </p><p>  case '乘性噪聲'</p><p>  T=getimage;</p><p>  prompt={'輸入乘性噪聲參數(shù)1:'};</p><p>  defans={&

46、#39;0.02'};</p><p>  p=inputdlg(prompt,'input',1,defans);</p><p>  p1=str2num(p{1});</p><p>  f=imnoise(handles.img,'speckle',p1);</p><p>  imshow(f

47、);</p><p>  handles.img=f;</p><p>  guidata(hObject,handles); </p><p><b>  End</b></p><p><b>  4.5 濾除噪聲</b></p><p><b>

48、  濾波前</b></p><p><b>  中值濾波后</b></p><p><b>  線性濾波后</b></p><p><b>  實(shí)現(xiàn)程序段如下:</b></p><p>  function uipanel3_SelectionChangeFcn(h

49、Object, eventdata, handles)</p><p>  % hObject handle to the selected object in uipanel3 </p><p>  % eventdata structure with the following fields (see UIBUTTONGROUP)</p><p>  %

50、 EventName: string 'SelectionChanged' (read only)</p><p>  % OldValue: handle of the previously selected object or empty if none was selected</p><p>  % NewValue: handle of the cur

51、rently selected object</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global T</b></p><p>  str=get(hObject,'string');</

52、p><p>  axes(handles.axes2);</p><p>  switch str</p><p>  case '中值濾波'</p><p>  T=getimage;</p><p>  k=medfilt2(handles.img);</p><p>  ims

53、how(k);</p><p>  handles.img=k;</p><p>  guidata(hObject,handles);</p><p>  case '線性濾波'</p><p>  T=getimage;</p><p>  h=[1 1 1;1 1 1;1 1 1];</p&

54、gt;<p><b>  H=h/9;</b></p><p>  i=double(handles.img);</p><p>  k=convn(i,h);</p><p>  imshow(k,[]);</p><p>  handles.img=k;</p><p>  gu

55、idata(hObject,handles);</p><p>  case '自適應(yīng)濾波'</p><p>  T=getimage;</p><p>  k=wiener2(handles.img,[5,5]);</p><p>  imshow(k);</p><p>  handles.img=

56、k;</p><p>  guidata(hObject,handles);</p><p><b>  end </b></p><p>  理想低通濾波器濾波后巴特沃斯濾波器濾波后</p><p><b>  實(shí)現(xiàn)程序如下:</b></p><p>  % --- Exe

57、cutes on button press in pushbutton14.</p><p>  function pushbutton_bsiwote(hObject, eventdata, handles)</p><p>  % hObject handle to pushbutton14 (see GCBO)</p><p>  % eventdata

58、 reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p><p>  axes(handles.axes2);</p><p>  y1=handles.i

59、mg; </p><p>  f=double(y1); % 數(shù)據(jù)類(lèi)型轉(zhuǎn)換,matlab不支持圖像的無(wú)符號(hào)整型的計(jì)算</p><p>  g=fft2(f); % 傅里葉變換</p><p>  g=fftshift(g); % 轉(zhuǎn)換數(shù)據(jù)矩陣</p><p>  [M,N]=size(g);</p>

60、;<p>  nn=2; %巴特沃斯低通濾波器</p><p>  d0=50; %截止頻率50</p><p>  m=fix(M/2); n=fix(N/2);</p><p><b>  for i=1:M</b></p><p><b>  for j=1

61、:N</b></p><p>  d=sqrt((i-m)^2+(j-n)^2);</p><p>  h=1/(1+0.414*(d/d0)^(2*nn)); % 計(jì)算低通濾波器傳遞函數(shù)</p><p>  result(i,j)=h*g(i,j);</p><p><b>  end</b><

62、;/p><p><b>  end</b></p><p>  result=ifftshift(result);</p><p>  y2=ifft2(result);</p><p>  y3=uint8(real(y2));</p><p>  imshow(y3);

63、 % 顯示處理后的圖像</p><p>  % --- Executes on button press in pushbutton15.</p><p>  function pushbutton_lixiangditong(hObject, eventdata, handles)</p><p>  % hObject

64、handle to pushbutton15 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p>  % handles structure with handles and user data (see GUIDATA)</p>

65、<p>  axes(handles.axes2);</p><p>  x=(handles.img); </p><p>  f=double(x); % 數(shù)據(jù)類(lèi)型轉(zhuǎn)換</p><p>  k=fft2(f);

66、% 傅里葉變換</p><p>  g=fftshift(k); % 轉(zhuǎn)換數(shù)據(jù)矩陣</p><p>  [M,N]=size(g);</p><p><b>  nn=2;</b></p><p>  d0=25;

67、 %截止頻率25</p><p>  m=fix(M/2); n=fix(N/2);</p><p><b>  for i=1:M</b></p><p><b>  for j=1:N</b></p><p>  d=sqrt((i-m)^2+(j-n)^2); %

68、計(jì)算理想低通濾波器傳遞函數(shù)</p><p><b>  if d<=d0</b></p><p><b>  h=0;</b></p><p><b>  else h=1;</b></p><p><b>  end</b></p>

69、<p>  result(i,j)=h*g(i,j);</p><p><b>  end</b></p><p><b>  end</b></p><p>  result=ifftshift(result);</p><p>  y2=ifft2(result);</p>

70、<p>  y3=uint8(real(y2));</p><p>  imshow(y3); % 顯示濾波處理后的圖像</p><p><b>  4.6圖像變形</b></p><p><b>  4.6.1圖像翻轉(zhuǎn)</b></p>

71、<p><b>  左右翻轉(zhuǎn):</b></p><p><b>  上下翻轉(zhuǎn)</b></p><p><b>  實(shí)現(xiàn)程序如下:</b></p><p>  function uipanel7_SelectionChangeFcn(hObject, eventdata, handles)&

72、lt;/p><p>  % hObject handle to the selected object in uipanel7 </p><p>  % eventdata structure with the following fields (see UIBUTTONGROUP)</p><p>  % EventName: string 'Se

73、lectionChanged' (read only)</p><p>  % OldValue: handle of the previously selected object or empty if none was selected</p><p>  % NewValue: handle of the currently selected object</p

74、><p>  % handles structure with handles and user data (see GUIDATA)</p><p>  str=get(hObject,'string');</p><p>  axes(handles.axes2);</p><p><b>  global T

75、</b></p><p>  switch str</p><p>  case '左右翻轉(zhuǎn)'</p><p>  T=handles.img;</p><p>  f=fliplr(handles.img);</p><p>  imshow(f);</p><p>

76、;  handles.img=f;</p><p>  guidata(hObject,handles); </p><p>  case '上下翻轉(zhuǎn)'</p><p>  T=handles.img;</p><p>  f=flipud(handles.img);</p><p>  imshow

77、(f);</p><p>  handles.img=f;</p><p>  guidata(hObject,handles); </p><p><b>  end</b></p><p>  程序關(guān)鍵部分:通過(guò)f=fliplr(handles.img); f=flipud(handles.img);分別實(shí)現(xiàn)左右

78、鏡像翻轉(zhuǎn)與上下鏡像翻轉(zhuǎn)。</p><p>  4.6.2 圖像旋轉(zhuǎn)</p><p>  實(shí)現(xiàn)圖像的逆時(shí)針旋轉(zhuǎn)任意角度。</p><p><b>  實(shí)現(xiàn)程序段如下:</b></p><p>  function pushbutton15_Callback(hObject, eventdata, handles)</

79、p><p><b>  %圖像愛(ài)那個(gè)旋轉(zhuǎn)</b></p><p>  % hObject handle to pushbutton3 (see GCBO)</p><p>  % eventdata reserved - to be defined in a future version of MATLAB</p><p

80、>  % handles structure with handles and user data (see GUIDATA)</p><p><b>  global T</b></p><p>  axes(handles.axes2);</p><p>  T=getimage;</p><p>  p

81、rompt={'旋轉(zhuǎn)角度:'};</p><p>  defans={'0'};</p><p>  p=inputdlg(prompt,'input',1,defans);</p><p>  p1=str2num(p{1});</p><p>  f=imrotate(handles.img

82、,p1,'bilinear','crop');</p><p>  imshow(f);</p><p>  handles.img=f;</p><p>  guidata(hObject,handles);</p><p>  關(guān)鍵部分:通過(guò)p=inputdlg(prompt,'input'

83、,1,defans);p1=str2num(p{1}); 來(lái)輸入旋轉(zhuǎn)參數(shù)。</p><p>  通過(guò)函數(shù)f=imrotate(handles.img,p1,'bilinear','crop');實(shí)現(xiàn)翻轉(zhuǎn)。</p><p><b>  5、結(jié)果分析</b></p><p>  軟件測(cè)試基本成功,課題所要求的功能

84、均能較好實(shí)現(xiàn)。但一些功能只支持灰度圖像的處理。</p><p>  其中值得一提的是在濾波處理中的低通濾波與高通濾波的效果。由于一般圖像中含有較多的低頻信息成分高頻成分較少,通過(guò)低通濾波后,噪聲以及高頻成分被濾除,圖像雖有少量失真,略顯模糊,但尚可辨識(shí)。但若是通過(guò)高通濾波后,大量的有效低頻信息被濾除,圖像嚴(yán)重失真,不可辨識(shí)。</p><p>  椒鹽噪聲的幅值近似相等,但發(fā)生的位置是隨機(jī)的

85、;</p><p>  高斯噪聲存在于每一點(diǎn)像素,但幅值是隨機(jī)分布的。</p><p>  中值濾波的原理是取合理的鄰近像素值來(lái)替代噪聲點(diǎn),所以只適合于椒鹽噪聲的去除,不適合高斯噪聲的去除。</p><p>  理想低通濾波器的平滑作用非常明顯,但由于變換有一個(gè)陡峭的波形,它的反變換h(x,y)有強(qiáng)烈的振鈴特性,使濾波后圖像產(chǎn)生模糊效果。因此這種理想低通濾波實(shí)用中不

86、能采用。</p><p><b>  6、心得體會(huì)</b></p><p>  通過(guò)為期兩周的matlab課程設(shè)計(jì)實(shí)踐,使我對(duì)matlab的使用有了進(jìn)一步的了解和熟悉。</p><p>  當(dāng)我第一次拿到此次的課題時(shí),感到有些無(wú)所適從。雖然,曾經(jīng)學(xué)習(xí)過(guò)matlab的課程,在課程的考核中也取得了較好的成績(jī),但由于對(duì)matlab的學(xué)習(xí)更多的只是停留

87、在理論上的學(xué)習(xí),在課時(shí)內(nèi)的試驗(yàn)也只是簡(jiǎn)單的基礎(chǔ)性試驗(yàn), 所以對(duì)matlab實(shí)際運(yùn)用不是很熟練。</p><p>  雖然對(duì)課題感到很懵懂,但在鄭老師的簡(jiǎn)單提示與指導(dǎo)后,我開(kāi)始找到了解決問(wèn)題的路徑。我選擇的是“利用matlab的GUI程序設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用的圖像處理程序”這一課題。本課題的重點(diǎn)是句柄的使用、GUI的使用以及matlab中相關(guān)圖像處理函數(shù)使用。</p><p>  為此,在實(shí)踐正

88、式開(kāi)始前,我利用課余時(shí)間,重新復(fù)習(xí)了matlab教材,專(zhuān)門(mén)借閱了利用matlab進(jìn)行圖像處理的相關(guān)教程,通過(guò)索引網(wǎng)絡(luò)上的相關(guān)資料,為課設(shè)做了較為充分的準(zhǔn)備。在參考了相關(guān)材料及源程序,我對(duì)自己要做的課設(shè)內(nèi)容有了進(jìn)一步的了解,并對(duì)matlab的使用有了更深的體會(huì)。</p><p>  當(dāng)然,在課設(shè)的進(jìn)行過(guò)程中,我還是遇到了不少問(wèn)題。例如,起初由于我對(duì)句柄使用以及一些函數(shù)使用的不恰當(dāng),使得在對(duì)圖像文件的保存上就遇到了問(wèn)

89、題,不過(guò)最后還是在老師的提示下解決了。隨著課設(shè)的進(jìn)行,對(duì)matlab的的熟悉度逐步加深。在基本功不斷扎實(shí)的基礎(chǔ)上,我開(kāi)始進(jìn)行一些擴(kuò)張功能的嘗試,比如還原操作、對(duì)功能鍵實(shí)現(xiàn)顯示和隱藏的功能、實(shí)現(xiàn)撤銷(xiāo)多次前操作等 。其中前兩個(gè)較為成功的完成,但在第三個(gè)功能上出現(xiàn)了些問(wèn)題,由于對(duì)matlab中數(shù)組結(jié)構(gòu)體與循環(huán)套用使用的不當(dāng),到實(shí)踐結(jié)束之際也未實(shí)現(xiàn)所犯的錯(cuò)誤,只能退而求次,實(shí)現(xiàn)執(zhí)行撤銷(xiāo)功能(恢復(fù)到上次操作),不能不說(shuō)不是一個(gè)遺憾……</p

90、><p>  但是,總體來(lái)說(shuō),此次的課程設(shè)計(jì),還是較為滿(mǎn)意的。它不但鞭策著我去鞏固matlab的基礎(chǔ)理論知識(shí),還提高了我對(duì)matlab的實(shí)際操作運(yùn)用,使得理論與實(shí)踐相結(jié)合,為進(jìn)一步學(xué)習(xí)matlab打下堅(jiān)實(shí)的基礎(chǔ);同時(shí),在實(shí)踐的工程中,也讓我體會(huì)到一種努力付出并得到回報(bào)的滿(mǎn)足感覺(jué)。 </p><p><b>  參考書(shū)目</b></p><p>

溫馨提示

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

評(píng)論

0/150

提交評(píng)論