基于matlab的圖像處理說明書_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《 MATLAB 實踐 》</p><p><b>  課程設(shè)計</b></p><p>  學生姓名: </p><p>  學 號: </p><p>  專業(yè)班級:

2、 </p><p>  指導教師: </p><p>  二○一 年 月 日</p><p><b>  目 錄</b></p><p>  設(shè)計目的……………………………………………………3</p>

3、<p>  題目分析……………………………………………………3</p><p>  總體設(shè)計……………………………………………………3</p><p>  具體設(shè)計……………………………………………………4</p><p>  結(jié)果分析……………………………………………………28</p><p>  心得體會……………………………

4、………………………29</p><p>  參考文獻……………………………………………………30</p><p>  附錄…………………………………………………………31</p><p>  基于MATLAB的圖像處理</p><p>  ——制作自己的Photoshop </p><p><b>  

5、1、設(shè)計目的</b></p><p>  綜合運用MATLAB工具箱實現(xiàn)圖像處理的GUI程序設(shè)計。</p><p><b>  2、題目分析</b></p><p>  該實驗中,我將學習MATLAB GUI程序設(shè)計,利用MATLAB圖像處理工具箱,設(shè)計和實現(xiàn)自己的Photoshop 。按照軟件工程方法,根據(jù)需求進行程序的功能分析和

6、界面設(shè)計,給出設(shè)計詳細說明。然后按照我自己擬定的功能要求進行程序設(shè)計和調(diào)試。 </p><p>  以下列出我設(shè)計的程序功能:</p><p>  1)圖像的讀取、保存和退出。</p><p>  2)創(chuàng)建圖像的預覽模式,可以在同一文件夾內(nèi)對圖像進行讀取上一張、下一張的操作。</p><p>  3)設(shè)計圖形用戶界面,讓用戶能夠?qū)D像進行任意

7、的亮度和對比度變化調(diào)整,顯示和對比變換前后的圖像。</p><p>  4)設(shè)計圖形用戶界面,讓用戶能夠用鼠標截取圖像感興趣區(qū)域,顯示和保存該選擇區(qū)域。</p><p>  5)編寫程序?qū)⒂脩羲x取的圖像區(qū)域進行放大和縮小整數(shù)倍的操作,并保存。</p><p>  6)對圖像進行直方圖處理,加噪處理,平滑處理,銳化處理,閾值處理,對彩色圖像進行灰度處理等。</

8、p><p>  7)為用戶界面提供可更換背景模式。</p><p>  8)為圖像添加水印特效,并保存。</p><p>  9)進行不同圖片的疊加,并保存。</p><p>  10)為圖像添加相框特效,并保存。</p><p><b>  3、總體設(shè)計</b></p><p&g

9、t;  這次的總體設(shè)計思路是在實現(xiàn)圖像處理必備的一些基本功能的同時,也實現(xiàn)一些有創(chuàng)新性的功能模塊。其中閾值分割、圖片疊加、更換背景、添加水印、添加相框及圖片預覽上一張、下一張的功能是相對比較有創(chuàng)新性的。菜單的圖像處理必備的基本功能,是比較容易實現(xiàn)的,關(guān)鍵是要注意它的使用語法和支持的圖像類型。</p><p>  注:整個設(shè)計都是基于Matlab 2010b版本。</p><p>  具體的

10、菜單功能設(shè)計如下圖所示:</p><p>  具體的軟件界面設(shè)計如下圖所示:</p><p><b>  4、具體設(shè)計</b></p><p><b>  4.1、打開</b></p><p>  為了實現(xiàn)該GUI設(shè)計的其余功能,第一件事情就是打開圖像。我選擇用uigetfile函數(shù)來實現(xiàn),uige

11、tfile函數(shù)顯示一個打開文件對話框,該對話框自動列出當前路徑下的目錄和文件。Uigetfile函數(shù)的調(diào)用格式為[name,path]=yigetfile(…), 在按下對話框中的執(zhí)行按鈕“打開”后,返回選擇的文件名和路徑,分別保存到“name”和“path”中。通過imread函數(shù)讀出圖像數(shù)據(jù),把圖像數(shù)據(jù)賦值給全局變量im,這里得到的im要聲明為全局變量,為后面每個功能所使用。同時預留初始變量r,用以操作還原。</p>

12、<p><b>  4.2.1、上一張</b></p><p>  為了可以選擇喜歡處理的圖片而無需每次的打開圖片,設(shè)計了上一張和下一張功能。該功能實現(xiàn)的主要思想是,先獲取已經(jīng)顯示圖片的路徑,然后從第一張圖片的路徑開始與正在顯示的圖片路徑做比較,當二者相同時,記下i,然后執(zhí)行i=i-1,得到上一張圖片路徑,最后顯示出來。</p><p>  具體實現(xiàn)的關(guān)鍵語

13、句如下:</p><p>  for i=3:max</p><p>  d1 = files(i).name; </p><p>  d2 = strcat(directoryname1,d1); %文件夾內(nèi)每張圖片路徑</p><p>  if strcmp(d2,str) i=i-1;break; %與正在顯示的圖片路徑做比較

14、,看是否相同 </p><p><b>  else</b></p><p>  end </p><p><b>  end</b></p><p>  當顯示第一張圖片時,再執(zhí)行上一張,提示:這是第一張圖片。</p><p>  if i==2

15、 msgbox('this is the first img');</p><p><b>  4.2.2、下一張</b></p><p>  下一站和上一張思路一樣,只是在得到顯示圖片路徑以后,執(zhí)行i=i+1。</p><p>  另外我還加了一個功能,就是當現(xiàn)實到最后一張圖片是,如果再下一張就提示:這是最后一張圖片。<

16、/p><p>  if i==max+1 msgbox('this is the last img');</p><p><b>  4.3、還原</b></p><p>  利用一開始打開文件時預留的變量r進行還原。</p><p>  axes(handles.axes2); </p>

17、<p><b>  global r;</b></p><p>  imshow(r);</p><p>  handles.img=r;</p><p><b>  4.4、保存</b></p><p>  對于圖像保存,可以用imwrite函數(shù),把數(shù)據(jù)i存到指定的文件夾中。這里仍然要

18、用到uigetfile函數(shù)來實現(xiàn),用它獲得將要保存的路徑??梢灾付ㄎ募4娴母袷?,如:imwrite(i,file,'jpg');,其中i為從坐標軸中獲取的圖像信息:i=getimage(gca);</p><p><b>  4.11、退出</b></p><p>  清除所有變量和坐標軸中的內(nèi)容。</p><p><b

19、>  clc;</b></p><p>  clear all;</p><p>  cla reset;</p><p>  close(gcf) </p><p><b>  4.5、放大</b></p><p>  在MATLAB中,用函數(shù)imresize來實現(xiàn)對圖像的

20、放大或縮小。插值方法可選用三種方法,最近鄰插值,雙線性插值,雙三次插值。</p><p>  該函數(shù)的調(diào)用格式如下:</p><p>  B=imresize(A,m,method)</p><p>  其中:參數(shù)method用于指定插值的方法,可選的值為“nearest”(最近鄰法),“bilinear”(雙線性插值)、“bicubic”(雙三次插值),缺省值為“

21、nearest”。</p><p>  在實現(xiàn)放大后,顯示圖像并不能清晰地看出來圖像有什么具體的變化,但是通過查詢圖像屬性后可以發(fā)現(xiàn),圖像放大了。</p><p><b>  4.6、縮小</b></p><p>  縮小的原理和放大原理是一樣的,就是對B=imresizee(A.m,method)中參數(shù)m進行修改,當 m小于1時實際上是縮小;

22、同放大一樣,如果原圖質(zhì)量較好,尺寸較大,由于限制了坐標軸大小的緣故,在功能現(xiàn)實時我們看不出變化,而實際上是有變化的。通過查看圖片屬性可以看到:</p><p>  我們可以看到,縮小后像素明顯變低了。</p><p>  4.7、順時針旋轉(zhuǎn)90度</p><p>  當初在設(shè)計順,逆時針旋轉(zhuǎn)90度的時候就在想,能不能實現(xiàn)連續(xù)的旋轉(zhuǎn),而不是每次運行都轉(zhuǎn)到同一個位置,后

23、來發(fā)現(xiàn)只要把每次轉(zhuǎn)完的數(shù)據(jù)保存,然后以此作為下一次旋轉(zhuǎn)的源數(shù)據(jù)就可以,于是這個功能葉完成了。</p><p><b>  具體實現(xiàn)如下:</b></p><p>  y=imrotate(r,90); </p><p>  r=y;%把每次處理完的數(shù)據(jù)保存下來,作為下一次處理的源數(shù)據(jù)</p><p> 

24、 4.8、逆時針旋轉(zhuǎn)90度</p><p>  逆時針旋轉(zhuǎn)和順時針旋轉(zhuǎn)的思路一樣,只是我們要把每次處理完的數(shù)據(jù)做為全局變量,這樣以來順時針和逆時針選擇功能都可以處理它,所以在按鈕的回調(diào)函數(shù)前加上要加上global r ,其中r是每次旋轉(zhuǎn)后的圖像矩陣。</p><p><b>  4.9、翻轉(zhuǎn)</b></p><p>  4.10、任意角度旋轉(zhuǎn)&

25、lt;/p><p>  用函數(shù)imrotate來實現(xiàn)對圖像的插值旋轉(zhuǎn)。該函數(shù)的調(diào)用格式如下: </p><p>  B=imrotate(A,angle,method,’crop’)</p><p>  4.11、以鼠標點擊為中心放大</p><p>  當在做截圖功能的時候,我突然想到,既然截圖可以自由選擇要放大的范圍,那么多次的截圖就可以實現(xiàn)

26、對某部分不斷地放大,所以想到了基于截圖的以鼠標點擊為中心放大的功能。</p><p>  但首先要實現(xiàn)獲得鼠標點擊坐標的功能,在查閱過程中發(fā)現(xiàn)了[x,y]=ginput(1);以十字坐標形式,當鼠標左鍵點擊下,返回點擊點的X,Y坐標。然后就是要實現(xiàn)以點擊一定范圍放大,也就是每次實現(xiàn)以鼠標點擊點位中心的正方形大小截圖,通過一個循環(huán)多次截圖就可以實現(xiàn)這個功能了。</p><p>  具體設(shè)計的

27、函數(shù)如下:</p><p>  for n=1:2 %循環(huán)次數(shù)</p><p>  [x,y]=ginput(1); %獲得點擊點坐標</p><p>  z=imcrop(z1,[x-400/n,y-400/n,800/n,800/n]); %每次以一定大小截圖</p><p>  imshow(z); </p><

28、;p>  z1=z;%為下一次截圖的源數(shù)據(jù)</p><p><b>  end</b></p><p>  這個設(shè)計是執(zhí)行放大三次,如果想要提前結(jié)束可按下回車鍵。</p><p><b>  4.12、截圖</b></p><p>  在MATLAB中,用函數(shù)imcrop實現(xiàn)對圖像的剪切操作。

29、該操作剪切的是圖像中的一個矩形子圖,用戶可以通過參數(shù)指定這個矩形四個頂點的坐標,也可以交互地用鼠標選取這個矩形。</p><p>  Imcrop函數(shù)的調(diào)用格式如下:</p><p>  y=imcrop(im);</p><p>  imshow(y);</p><p><b>  截圖的效果如下:</b></p

30、><p><b>  4.13、灰度</b></p><p>  由于RGB圖像是三維圖像,所以圖像數(shù)據(jù)是一個三維數(shù)組,為了顯示灰度圖像,把三維圖像降為二維,可以只取其中的二維數(shù)據(jù),實現(xiàn)方法程序為:</p><p>  global im </p><p>  y=im(:,:,1);</p><p>

31、;  imshow(y);</p><p>  我們也可以通過調(diào)用圖像類型轉(zhuǎn)化函數(shù)來實現(xiàn):</p><p>  global im </p><p>  y=rgb2gray(im);</p><p>  imshow(y);</p><p>  這個程序只能用于RGB圖像轉(zhuǎn)換灰度圖像,當原始圖像本來就是灰度圖像時,運

32、行該程序時就會出錯,但是使用者在使用時有時并不知道這些,為了使該程序更加完善,應(yīng)該在使用者原先圖像時灰度圖像時使用該功能時,應(yīng)該要顯示提示類信息。所以在開始時應(yīng)該要有一個RGB圖像或是灰度圖像的判斷過程。完整的程序如下: </p><p>  if isrgb(im) %判斷是否為灰度圖像</p><p>  y=rgb2gray(im); </p&

33、gt;<p>  imshow(y);</p><p><b>  else</b></p><p>  msgbox('error,this is already a gray Img');</p><p><b>  end</b></p><p>  如果原圖是R

34、GB,執(zhí)行該操作的結(jié)果如下圖:</p><p>  如果原圖是灰度圖像,則提示出錯。 </p><p><b>  4.14、亮度</b></p><p>  用imadjust函數(shù),其調(diào)用格式如下:</p><p>  g=imadust(f,[low_in high_in],[low_out high_out]

35、),gamma)</p><p>  gamma 表示映射性質(zhì),默認值是1 表示線性映射。</p><p>  由于該函數(shù)有五個參數(shù)需要輸入,為了方便用戶改變,所以這里設(shè)計一個輸入對話框,用戶通過對話框把五個參數(shù)賦值給[low_in high_in],[low_out high_out],gamma這五個參數(shù),如下一組命令建立了如圖所示的輸入對話框:</p><p>

36、;  prompt={' input argument 1','input argument2','imput gamma'};</p><p>  defans={'[0 0.5]','[0 1]','1'};</p><p>  p=inputdlg(prompt,' input a

37、rgument ',1,defans); %這里得到的都是字符</p><p>  最后我們還要把得到的字符轉(zhuǎn)換為數(shù)值:</p><p>  p1=str2num(p{1});</p><p>  p2=str2num(p{2});</p><p>  p3=str2num(p{3});</p><p> 

38、 但是,這種方法并不能很好的讓用戶能夠?qū)D像進行任意的亮度和對比度變化調(diào)整,有時并不事先知道參數(shù)的值要多少,也不關(guān)心,而是任意調(diào)節(jié)的,直到滿意為止。所以應(yīng)該用滑動條來調(diào)節(jié)圖像的亮度和對比度,這樣更適合用戶的使用習慣。</p><p>  由于imadjust函數(shù)有五個參數(shù),所以原則上需要設(shè)計五個滑動條來調(diào)節(jié)對比度,這對用戶來說顯然比較麻煩,因此在設(shè)計的時候固定其中的三個參數(shù),通過調(diào)節(jié)兩個參數(shù)的值來改變亮度和對比度

39、。</p><p><b>  滑動條設(shè)計如右圖:</b></p><p>  亮度調(diào)整的tag名為liangdu,取值范圍0~1,對比度調(diào)整的tag名為duibi,獲取滑動條參數(shù)的程序如下:</p><p>  a=get(handles.liangdu,'Value'); %滑動條light</p><

40、p>  b=get(handles.duibi,'Value'); %滑動條duibi</p><p>  y=imadjust(im,[0 b],[0 1],a);</p><p>  這樣我們就可以通過調(diào)整滑動條的位置來隨時改變亮度值,得到想要的效果。</p><p>  4.15、直方圖統(tǒng)計</p><p>  該

41、按鈕包含了RGB三基色的直方圖統(tǒng)計功能,灰度直方圖是表示一幅圖像灰度分布情況的統(tǒng)計表。直方圖的橫坐標是灰度級,縱坐標是具有該灰度級的像素個數(shù)或出現(xiàn)這個灰度級的概率。所以說,直方圖統(tǒng)計提供了原圖的灰度值分布情況,也可說給出了一幅圖所有灰度值的整體描述。我們可以根據(jù)一幅圖的灰度直方圖情況來判斷其質(zhì)量,并可以通過一定的變換使原來偏暗或偏亮的圖像變換到動態(tài)范圍正常的區(qū)域,如直方圖的規(guī)定化。</p><p>  4.15.

42、1、R直方圖</p><p>  灰度和彩色圖形都有R直方圖。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  x=imhist(im(:,:,1));%統(tǒng)計圖片每個灰度值個數(shù) </p><p>  x1=x(1:10:256);</p><p> 

43、 horz=1:10:256;</p><p>  bar(horz,x1);%柱狀圖顯示</p><p>  4.15.2、G直方圖</p><p>  對于彩色圖形沒有G直方圖。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  x=imhist(im(:,:,2));%統(tǒng)計圖片每個灰

44、度值個數(shù) </p><p>  x1=x(1:10:256);</p><p>  horz=1:10:256;</p><p>  bar(horz,x1);%柱狀圖顯示</p><p>  4.15.3、B直方圖</p><p>  對于彩色圖形沒有B直方圖。</p>

45、;<p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  x=imhist(im(:,:,3));%統(tǒng)計圖片每個灰度值個數(shù) </p><p>  x1=x(1:10:256);</p><p>  horz=1:10:256;</p><p>  bar(horz,x1);%

46、柱狀圖顯示</p><p><b>  4.16、噪聲</b></p><p>  該菜單包含四種噪聲的添加,高斯噪聲,椒鹽噪聲,斑點噪聲,泊松噪聲。對于噪聲進行研究,是為了找到最好的去處噪聲的方法,當然也不排除我們偶爾也可能出于某些原因有意把圖像弄模糊。 </p><p>  4.16.1、高斯噪聲</p><p>

47、  所謂高斯噪聲是指它的概率密度函數(shù)服從高斯分布(即正態(tài)分布)的一類噪聲。高斯噪聲是一種隨機噪聲,它完全由其時變平均值和兩瞬時的協(xié)方差函數(shù)來確定。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  y=imnoise(im,'gaussian',p1,p2);</p><p>  4.16.2、椒鹽噪聲</p>

48、;<p>  椒鹽噪聲是由圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的黑白相間的亮暗點噪聲。椒鹽噪聲往往由圖像切割引起。去除脈沖干擾級椒鹽噪聲最常用的算法是中值濾波。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  y=imnoise(x,'salt & pepper',p1);</p><p>  4

49、.16.3、斑點噪聲</p><p>  斑點噪聲是SAR成像系統(tǒng)的一大特色,源自基本分辨單元內(nèi)地物的隨機散射,在圖像上表現(xiàn)為信號相關(guān)(如在空間上相關(guān))的小斑點,它既降低了圖像的畫面質(zhì)量,又嚴重影響圖像的自動分割、分類、目標檢測以及其它定量專題信息的提取 。SAR斑點噪聲的抑制可通過非相干多視處理,也可使用空間域濾波實現(xiàn)。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:<

50、/p><p>  y=imnoise(im,'speckle',p1);</p><p>  4.16.4、泊松噪聲</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示: y=imnoise(im,'poisson');</p><p><b>  4.17、變換</b></p

51、><p>  該菜單包括傅里葉變換,離散余弦變換,Radon變換這三項功能,圖像的變換使圖像處理的一個重要內(nèi)容,它是許多圖像處理技術(shù)的基礎(chǔ)。為了有效和快速地對圖像進行處理和分析,常常需要將原定義在圖像的空間的圖像以某種形式轉(zhuǎn)換到另一個空間,并利用這些空間的特有性質(zhì)更方便地進行一些處理,最后再變換會到原空間以得到所需的效果。</p><p>  4.17.1、傅里葉變換</p>&

52、lt;p>  為了得到圖像的頻譜圖,先要對數(shù)據(jù)進行傅里葉變換,用fft2函數(shù)對二維數(shù)據(jù)進行快速傅里葉變換,同時為了更好的觀察頻譜圖,需要把fft2變換后的數(shù)據(jù)進行平移,利用fftshift函數(shù),把快速傅里葉變換的DC 組件移到光譜中心。這樣圖像能量的低頻成分將集中到頻譜中心,圖像上的邊緣、線條細節(jié)信息等高頻成分將分散在圖像頻譜的邊緣。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p&

53、gt;<p>  m=fft2(x); %對圖像執(zhí)行二維傅里葉變換</p><p>  y=fftshift(m); %使低頻能量集中在中心位置</p><p>  imshow(log(abs(y)),[]);%使用對數(shù)使低頻部分顯示效果更明顯</p><p>  4.17.2、離散余弦變換</p><p>  傅里葉變化

54、的一個最大問題是:它的參數(shù)都是復數(shù),在數(shù)據(jù)的描述上相當于實數(shù)的兩倍,不易計算,因此希望有一種能達到相同功能但數(shù)據(jù)量有不大的變換,在這個思想的指導下,產(chǎn)生了離散余弦變換。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  gray=rgb2gray(im);</p><p>  d=dct2(gray); %對圖像進二維行離

55、散余弦變換</p><p>  axes(handles.axes2);</p><p>  imshow(log(abs(d)),[]); %使用對數(shù)使低頻部分顯示效果更明顯</p><p>  通過變換我們可以看到,圖像的低頻能量都集中在左上角區(qū)域,向著右下角方向,頻率越來越高,這主要是以為離散余弦變換核實際上是取傅里葉變化的實部。</p><

56、;p>  4.17.3、Radon變換</p><p>  Radon函數(shù)計算指定方向上圖像矩陣的投影,計算一定方向上平行光束的線積分。光線間隔1個象素單位。為了表示圖像,radon變換通過圍繞圖像中心旋轉(zhuǎn)光源來從不同角度獲得圖像的平行光投影。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  theta=0:1:180;%對每個

57、角度做radon變換處理</p><p>  [r,xp]=radon(im,theta);</p><p>  imagesc(theta,xp,r);</p><p>  xlabel('degrees');%為x軸做標注</p><p>  colorbar;%顯示顏色條</p><p><

58、b>  4.19、濾波</b></p><p>  該按鈕包含了高通,低通濾波,平滑,銳化的線性和非線性濾波,大量的實驗研究發(fā)現(xiàn),由攝像機拍攝得到的圖像受離散的脈沖、椒鹽噪聲和零均值的高斯噪聲的影響較嚴重。噪聲給圖像處理帶來很多困難,對圖像分割、特征提取、圖像識別等具有直接影響。因此,實時采集的圖像需進行濾波處理。注:對于平滑和銳化濾波都要先添加噪聲。</p><p> 

59、 4.19.1、高通濾波</p><p>  高通濾波是只對低于某一給定頻率以下的頻率成分有衰減作用,而允許這個截止頻率以上的頻率成分通過,并且沒有相位移的濾波過程。主要用來消除低頻噪聲,保留高頻部分。圖像中的邊緣或線條與圖像頻譜中的高頻分量相對應(yīng),因為采用高通濾波器讓高頻成分順利通過,可以使圖像的邊緣或線條更加清楚,從而識相圖像的銳化。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如

60、下所示:</p><p>  4.19.2、低通濾波</p><p>  圖像的邊緣以及噪聲干擾在圖像的頻域上對應(yīng)于圖像傅里葉變換中的高頻部分,而圖像的背景區(qū)則對應(yīng)于低頻部分,因此可以用頻域低通濾波法去除圖像的高頻部分,以去掉噪聲使圖像平滑。對于低通濾波器截止頻率的不同,會發(fā)生不同程度的“振鈴”現(xiàn)象,同時圖像變模糊了。截止頻率月底,濾除噪聲越徹底,高頻分量損失越嚴重,但圖像就越模糊。<

61、;/p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  4.19.3、平滑線性濾波(領(lǐng)域平均法)</p><p>  對一些圖像進行線性濾波可以去除圖像中的某些類型的噪聲,如采用領(lǐng)域平均法的均值濾波器就非常適用于去除通過掃描得到的圖像中的顆粒噪聲。</p><p>  領(lǐng)域平均法是空間域平滑噪聲技術(shù)。對于給定圖像的每個像點

62、,取其領(lǐng)域含有m個像素,取其平均值作為處理后所得到圖像像點的灰度,用一像素領(lǐng)域內(nèi)個像素灰度平均值來代替該像素的灰度。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  h=ones(3,3)/9;%產(chǎn)生濾波模板并歸一化</p><p>  y=conv2(zs,h);%用均值模板對圖像濾波</p><p>  a

63、xes(handles.axes2);</p><p>  imshow(y,[]);</p><p>  可以看出,領(lǐng)域平均法也平滑了圖像信號,特別是可能使圖像目標區(qū)域的邊界變得模糊??梢宰C明,對圖像進行領(lǐng)域平滑處理相當于圖像信號通過一低通濾波器。</p><p>  4.19.4、平滑非線性濾波(中值濾波)</p><p>  中值濾波是

64、抑制噪聲的非線性處理方法。給定一個濾波窗口,對于二維圖像,窗口形狀可以使矩形,圓形及十字形等,對于位于中間位置的那個數(shù)值稱為這n個數(shù)值的中值。中值濾波的算法運算簡單,易于實現(xiàn),而且能較好地保護邊界,但有時會失掉圖像中的細線和小塊的目標區(qū)域。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  y=medfilt2(zs,[5,5]);%用5*5的濾波窗口對圖像進

65、行中值濾波</p><p>  axes(handles.axes2);</p><p>  imshow(y);</p><p>  4.19.5、銳化線性濾波</p><p>  拉氏算子比較適用于改善因為光線的漫反射造成的圖像模糊,其原理是這樣的,在攝影膠片記錄圖像的光化過程中,光點將漫反射到其它周圍區(qū)域,造成圖像模糊,不模糊圖像等于模

66、糊圖像減去它的拉氏變換的常數(shù)倍。另外,人們還發(fā)現(xiàn),及時模糊不是由于光的漫反射造成的,對圖像進行拉氏變換也可以使圖像更清晰。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  I1=double(im);</p><p>  h=fspecial('laplacian');%拉氏算子</p><p>

67、;  I2=filter2(h,I1);%濾波</p><p>  axes(handles.axes2);</p><p>  I3=I1-I2;%減去模糊圖像</p><p>  imshow(I3,[]);</p><p>  比較原始圖像和經(jīng)拉氏算子運算的圖像,可以發(fā)現(xiàn),圖像的模糊部分得到了銳化,特別是模糊的邊緣部分得到了增強,邊界更

68、加明顯。但是,圖像顯示清楚的地方,經(jīng)濾波后發(fā)生了失真,這也是拉氏算子增強的一大缺點。</p><p>  4.19.6、銳化非線性濾波</p><p>  對一幅圖像施加梯度模算子,可以增強灰度變化的幅度,因此我們可以采用梯度模算子作為圖像的銳化算子,而且梯度模算子還具有方向同性和位移不變性。執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  H=fspec

69、ial('sobel');%梯度模算子</p><p>  axes(handles.axes2);</p><p>  J=filter2(H,im);%濾波</p><p>  imshow(J);</p><p><b>  4.17、圖像增強</b></p><p>  該

70、菜單包含灰度圖像的偽彩色增強,彩色圖像的真彩色增強,圖像的直方圖均衡,彩色圖像的NTSC,YCbCr,HSV顏色模型轉(zhuǎn)換。在圖像的生產(chǎn),傳輸或變換的過程中,由于多種因素的影響,總要造成圖像質(zhì)量的下降,這就需要進行圖像增強,改善圖像的視覺效果,提高圖像的清晰度。</p><p>  4.17.1、偽彩色增強</p><p>  對于灰度圖像,人眼分辨的灰度級只有十幾到二十幾,而對不同的亮度和

71、色彩圖像則可以達到幾百甚至上千,因此偽彩色增強是將一個波段或單一的黑白圖像變換為彩色圖像,從而把人眼不能區(qū)分的微小的灰度差別顯示為明顯的色彩差異,更便于解譯和提取有用信息。</p><p>  偽彩色增強的方法主要有以下三種:亮度切割技術(shù),灰度彩色變換,頻域濾波法。 </p><p>  實驗中我采用的是亮度切割技術(shù),亮度切割技術(shù)是偽彩色增強中最簡單的一種方法,它是對圖像亮度范圍進行分割,

72、使一定亮度間隔對應(yīng)于某一顏色。對于切割平面以下的分配一中顏色,平面以上的再分配一種顏色。這樣,便可以把一幅灰度圖像變成一幅偽彩色圖像,此法比較直觀簡單,缺點使變換出的彩色數(shù)目有限而且顏色生硬不夠調(diào)和,量化噪聲大。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  c=zeros(size(a)); %a為原灰度圖像矩陣</p><p>

73、  pos=find(a<100);%找到灰度值小于100的</p><p>  c(pos)=a(pos); </p><p>  b(:,:,3)=c;%變?yōu)樗{色</p><p>  %對于其它顏色的變換思路同上,最后顯示偽彩色變換后的圖像b</p><p>  imshow(b);</p><p>  4

74、.17.2、真彩色增強</p><p>  真彩色增強時從彩色到彩色的一種變換。通過一定的映射函數(shù)變換成新的三基色分量,彩色合成使得增強圖像中各目標呈現(xiàn)出與原圖像不同的彩色。通過真彩色增強我們可以達到變換圖像引起人們的特別關(guān)注,以及通過人眼對不同顏色的靈敏度的不同,使景物呈現(xiàn)出與人眼色覺相匹配的顏色,以提高人眼對目標的分辨力。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:&l

75、t;/p><p>  im(:,:,1)=immultiply(im(:,:,1),0.3);%對R基色每個元素乘以0.3</p><p>  im(:,:,2)=immultiply(im(:,:,2),0.2);%對G基色每個元素乘以0.2</p><p>  im(:,:,3)=immultiply(im(:,:,3),0.5);%對B基色每個元素乘以0.5<

76、;/p><p>  axes(handles.axes2);</p><p>  imshow(im);%最后顯示處理變換后的RGB圖像</p><p>  4.17.3、直方圖均衡</p><p>  如果獲得的一幅圖像的直方圖效果不理想,可以通過直方圖均衡化處理技術(shù)作適當?shù)男薷?,實現(xiàn)圖像清晰的目的。這種方法的基本思想是對原始圖像中的像素灰度做

77、某種映射變換,是變換后的圖像灰度概率密度是均勻分布的。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  if isrgb(im) %對灰度圖像和彩色圖像分別處理</p><p>  a=histeq(im(:,:,1)); %對每一種基色直方圖均衡</p><p>  b=histeq(im(:,:,2))

78、;</p><p>  c=histeq(im(:,:,3));</p><p>  k(:,:,1)=a;</p><p>  k(:,:,2)=b;</p><p>  k(:,:,3)=c;</p><p>  imshow(k); </p><p><b>  else<

79、/b></p><p>  h=histeq(im); %對灰度圖像直方圖均衡 </p><p>  imshow(h);</p><p><b>  end</b></p><p>  通過變換,圖像灰度的動態(tài)范圍得到了增加,從而提高圖像的對比度,但是他是以減少圖像的灰度等級為

80、代價的,而且均衡化在增加圖像反差的同時,也增加了圖像的顆粒感,感覺好像圖像時由許多細小顆粒組成的。</p><p>  4.18.1、NTSC顏色模型</p><p>  NTSC模型廣泛應(yīng)用于美國等國家的電視信號,它的特點是信號的強度信息相分離,同一個信號可以方便地同時表示彩色圖像和黑白圖像。在NTSC格式中,圖像由三個分量表示:亮度(luminance)用Y表示,色度(hue)用I表示

81、,飽和度(saturation)用Q表示。第一個分量Y,表示灰度信息,后兩個分量表示彩色信息。因此NTSC模型使用的是Y—I—Q色彩坐標軸,NTSC模型的色彩空間又稱YIQ空間。通過執(zhí)行相關(guān)函數(shù)我們可以分析彩色圖像的每一個分量的情況。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p><b>  global im</b></p>

82、<p>  y=rgb2ntsc(im);%將rgb顏色模型轉(zhuǎn)化為ntsc顏色模型</p><p>  subplot(1,3,1); </p><p>  imshow(y(:,:,1));%Y亮度 ;xlabel('luminance');</p><p>  subplot(1,3,2);</p><p&

83、gt;  imshow(y(:,:,2));%I色調(diào) ;xlabel('hue');</p><p>  subplot(1,3,3);</p><p>  imshow(y(:,:,3)); %Q飽和度 ;xlabel('saturation');</p><p>  4.18.2、YCbCr顏色模型</p>&

84、lt;p>  在DVD、攝像機、數(shù)字電視等消費類視頻產(chǎn)品中,常用的色彩編碼方案是YCbCr,其中Y是指亮度分量,Cb指藍色色度分量,而Cr指紅色色度分量。人的肉眼對視頻的Y分量更敏感,因此在通過對色度分量進行子采樣來減少色度分量后,肉眼將察覺不到的圖像質(zhì)量的變化。通過函數(shù)變換我們可以比較兩種顏色的差異。</p><p>  執(zhí)行的相關(guān)程序和處理后的效果如下所示:</p><p>  

85、y=rgb2ycbcr(im);</p><p>  imshow(y);</p><p>  4.18.3、HSV顏色模型</p><p>  HSV(hue,saturation,value)顏色空間的模型對應(yīng)于圓柱坐標系中的一個圓錐形子集,圓錐的頂面對應(yīng)于V=1. 它包含RGB模型中的R=1,G=1,B=1 三個面,所代表的顏色較亮。色彩H由繞V軸的旋轉(zhuǎn)角給定

86、。紅色對應(yīng)于 角度0° ,綠色對應(yīng)于角度120°,藍色對應(yīng)于角度240°。在HSV顏色模型中,每一種顏色和它的補色相差180° 。 飽和度S取值從0到1,所以圓錐頂面的半徑為1。在圓錐的頂點(即原點)處,V=0,H和S無定義, 代表黑色。圓錐的頂面中心處S=0,V=1,H無定義,代表白色。通過函數(shù)變換我們可以比較兩種顏色的差異。</p><p>  執(zhí)行的相關(guān)程序和處理后的

87、效果如下所示:</p><p>  y=rgb2hsv(im);</p><p>  imshow(y);</p><p>  4.19、閾值分割:</p><p>  一幅圖像包括目標,背景和噪聲,怎樣從灰度圖像中取出對象物?灰度閾值法就是把圖像的灰度分成不同的等級,然后用設(shè)置灰度閾值的方法確定有意義的區(qū)域或欲分割物體的邊界。設(shè)定某一閾值T

88、,對圖像進行二值化處理。</p><p>  執(zhí)行的相關(guān)程序見附錄。處理后的效果如下所示:</p><p><b>  4.20、添加水印</b></p><p>  為了給自己處理過的圖像添加標志,設(shè)計了添加水印的功能。該功能的主要思想是,圖像即為數(shù)組,如果要再圖像上添加水印,也就是用另一幅圖像的數(shù)據(jù)去覆蓋原圖像對應(yīng)部分的數(shù)據(jù),也就是對數(shù)組內(nèi)

89、容的替換。然后就是關(guān)于水印添加的方位了,由于添加方位的不同,所要替代的范圍的不同了。</p><p>  基于這種思想,我的設(shè)計如下:</p><p>  a(1:n2,1:m2,:)= immultiply(b,0.1)+a(1:n2,1:m2,:); %左上角 </p><p>  a(1:n2,(m1-m2+1):m1,:)= immultip

90、ly(b,0.1)+a(1:n2,(m1-m2+1):m1,:); %右上角</p><p>  a((n1-n2+1):n1,1:m2,:)= immultiply(b,0.1)+a((n1-n2+1):n1,1:m2,:); %左下角</p><p>  a((n1-n2+1):n1,(m1-m2+1):m1,:)= immultiply(b,0.1)+a((n1-n2+1):n1,

91、(m1-m2+1):m1,:); %右下角</p><p>  其中a為原圖的讀入矩陣,b為待添加的水印的圖像矩陣,在替代過程中我們要確保,a矩陣比b矩陣大,更重要的是a中將要替代的部分要和b的大小相同。</p><p>  在編寫程序過程中,發(fā)現(xiàn)了一個缺陷,我們可以為彩色圖像添加彩色水印,為灰度圖像添加灰度水印,但是當兩個類型不一樣時就會出錯,所以如果兩張圖的類型不一致,在添加之前就

92、要類型轉(zhuǎn)化。</p><p>  isrgb(a);isrgb(a);%判斷a,b圖像的類型</p><p><b>  4.21、圖片疊加</b></p><p>  圖片疊加往往能帶來意外的驚喜,所以我在程序中設(shè)計了這一功能的實現(xiàn)。</p><p>  c1=imread(str); %讀取一張圖像來當背景,

93、其中str調(diào)用之前打開文件的方式打開。</p><p>  s=size(im);</p><p><b>  m=s(1);</b></p><p><b>  n=s(2);</b></p><p>  c2=imresize(c1,[m n]);</p><p>  i

94、m=double(im);</p><p>  c1=double(c2);</p><p>  d=im.*c1/128;</p><p>  d=uint8(d);</p><p>  imshow(d);</p><p><b>  疊加后的效果圖:</b></p><p

95、><b>  4.22、添加相框</b></p><p>  一般我們處理圖像時,常用到的功能之一就是添加相框。在程序的實現(xiàn)上與圖像疊加的原理是大同小異的。下圖是添加上相框的效果圖:</p><p><b>  4.23、反色</b></p><p>  f=imcomplement(im);%反色</p>

96、;<p>  4.24、更換界面背景 </p><p>  原界面: 更換界面背景后:</p><p>  4.13、幫助菜單中的幫助文檔: winopen('D:\ ABCSeehelp.doc');</p><p>  4.13、幫助菜單中關(guān)于ABCSee: </p>

97、;<p>  msgbox('ABCSee ')</p><p><b>  5、結(jié)果分析</b></p><p>  實驗的結(jié)果是比較讓人滿意的,基本上圖像處理的功能大都實現(xiàn)了。做得比較好的就是菜單→工具中的那幾項圖像處理了,特別是圖像的水印、疊加、相框、更換背景、圖像的翻頁瀏覽等比較能夠讓我們輕松實現(xiàn)特色化圖像。</p>

98、<p>  當然實驗的過程是常常遇到問題的,這些問題都付出了我較多的心思去糾正。特別是我在做撤銷鍵這一功能時,遇到了比較多的問題。大概是因為設(shè)計撤銷鍵需要修改到絕大部分的回調(diào)函數(shù)。本來是要做多步撤銷的,后來迫于修改調(diào)試的工作量過大就只完成了一步撤銷,這算是該GUI程序設(shè)計中做得比較遜色的一點。以下是我在實驗中碰到的一些問題及相應(yīng)的解決方法。</p><p>  1)Error in ==> g

99、ui_mainfcn at 96</p><p>  feval(varargin{:});</p><p>  Error in ==> ABCSee at 42</p><p>  gui_mainfcn(gui_State, varargin{:});</p><p>  這是在運行一些特殊處理時常出現(xiàn)的,后來發(fā)現(xiàn)那是我使用的圖像

100、格式不符合時產(chǎn)生的,比如我在進行直方圖均勻化時就發(fā)生了這問題,原來是我寫的那程序只適用于灰色圖像,遇到彩色圖像就報錯,當然報錯的語句是前面的那兩句外加以下這句:</p><p>  Error in ==></p><p>  @(hObject,eventdata)ABCSee('Edit51zhifangtutongji_Callback',hObject,eve

101、ntdata,guidata(hObject))</p><p>  不過解決這問題倒是比較簡單,因為它只是圖像格式不符合。將圖像先進行灰度處理再繼續(xù)直方圖均衡化就不會出現(xiàn)問題了。</p><p>  2)Error in ==></p><p>  @(hObject,eventdata)ABCSee('***_Callback',hObje

102、ct,eventdata,guidata(hObject))</p><p>  這是我在實驗中經(jīng)常遇到的一個錯誤提示,錯誤在于回調(diào)函數(shù)沒寫好,針對具體的回調(diào)函數(shù)修改下一般很容易就好了。</p><p>  3)??? Error using ==> *</p><p>  Inner matrix dimensions must agree.</p&g

103、t;<p>  ??? Error using ==> .*</p><p>  Matrix dimensions must agree.</p><p>  這兩個問題是關(guān)于矩陣和數(shù)組的乘法運算。</p><p>  矩陣的乘法運算表達式為A*B,表示矩陣相乘,其中矩陣A的列數(shù)必須等于矩陣B的行數(shù);數(shù)組的乘法運算表達式為A.*B,運算符為‘.

104、*’,表示數(shù)組A和B中對應(yīng)的元素相乘,A和B數(shù)組的大小必須相同。</p><p>  4)??? Subscripted assignment dimension mismatch.</p><p>  錯誤的原因是矩陣的維數(shù)沒有匹配,不同類型的圖片維數(shù)不相同。對于灰度圖像,它是m*n二維的;對于彩色圖像,它是m*n*k三維的。所以在使用函數(shù)之前要明確它所支持的圖像類型,我們可以通過rgb

105、2gray或gray2rgb這一類函數(shù)將圖片轉(zhuǎn)換為所支持的類型,我們也可以通過相應(yīng)函數(shù)來判斷矩陣的維數(shù),matlab中ndims(cdata)就支持這種功能,它返回值為正整數(shù)n,n代表它的維數(shù)。</p><p>  5)??? Error using ==> *</p><p>  Function '*' is not defined for values of c

106、lass 'uint8'.</p><p>  對于不同的圖像類型,圖像矩陣元素的類型也不一樣。對于真彩色圖像,數(shù)據(jù)矩陣類型是uint8;對于索引圖像,數(shù)據(jù)矩陣類型可以是double型或者uint8型;對于灰度圖像,數(shù)據(jù)矩陣類型可以是double型或者uint8型;對于二值圖像,數(shù)據(jù)矩陣類型可以是double型或者uint8型。當類型不支持時,我們可以通過強制類型轉(zhuǎn)換來得到所需數(shù)據(jù)類型,如:dou

107、ble(m).</p><p>  6)關(guān)于全局變量的設(shè)置,打開了一張圖片,為了能供每個功能做相應(yīng)的處理,就得把圖片矩陣的屬性設(shè)置為global im,這樣做以后卻只能實現(xiàn)對源圖像做處理,如果要對處理過后的圖像再做處理,我們就要把處理完后的新圖像矩陣賦給源圖像,如:im=y,這樣就可以實現(xiàn)每次處理的對象都為上次處理完的圖像了。</p><p><b>  6、心得體會</b

108、></p><p>  一開始實驗的時候,對于MATLAB能夠設(shè)計出一款好的圖像處理軟件我是持懷疑態(tài)度的。但是通過了此次實驗,我徹底改變了我原來的想法,原來MATLAB用來實現(xiàn)圖像的處理是相當輕松的!</p><p>  我在這次“基于matlab的數(shù)字圖像處理”的課程設(shè)計中,學到了很多很多,最基本的就是重新熟悉了matlab語言,不僅僅只是在matlab編程上面有所提高和對GUI的

109、熟悉,對數(shù)字圖像處理也有了更深刻的認識。</p><p>  首先,學會了要善于使用matlab中現(xiàn)有的函數(shù)。當初在實現(xiàn)上一張和下一張功能時,為了比較兩張圖片路徑是否相等,也就是字符串的比較,我使用for循環(huán)來逐位比較,不經(jīng)工程量大,而且效率低,其間花了不少時間來調(diào)試和校正,后來才發(fā)現(xiàn)matlab中有此功能的函數(shù)strcmp,直接用它來替換原程序得到了很好的效果。所以,這就要求我們對matlab的工具箱中的函數(shù)都

110、要有所了解,知道它對于的功能,然后通過help來學習它的語法,這樣才能又快又好的完成任務(wù)。 </p><p>  其次,我明白了應(yīng)當善于matlab強大的矩陣處理功能。圖像對于matlab而言就是矩陣,灰度圖像和彩色圖像對應(yīng)于不同維數(shù)的矩陣,分別為二維和三維,其中三維矩陣每一位代表一種顏色。矩陣可以使實數(shù),也可以使復數(shù),不同的圖像矩陣的元素對應(yīng)于不同的類型。matlab支持圖像數(shù)據(jù)的無符號整型存儲,使用時應(yīng)要注意

111、輸出數(shù)據(jù)類型的轉(zhuǎn)換。在這點上,我曾在實驗中碰了很多次壁。</p><p>  最后,我明白了了解其原理的重要性?!袄碚撝笇嵺`”,要想實現(xiàn)預期的效果,必須明白它實現(xiàn)的機制和相應(yīng)的算法,只有通過相應(yīng)的理論來指導,我們才能有所創(chuàng)新,才能有所突破,而不只是單純的引用相應(yīng)的處理函數(shù)。通過這次的實現(xiàn),我對圖像的模式,彩色空間,存儲結(jié)構(gòu),圖像的傅里葉變換,離散余弦變換的原理,圖像的平滑和銳化的算子,直方圖的用途和直方圖均衡化

112、原理,圖像的偽彩色和真彩色增強,以及閾值分割原理都有了更清楚的認識,也明白了它們的實現(xiàn)機制。Matlab在圖像處理方面還有很多很多新功能等待我們?nèi)ヌ剿鳌?lt;/p><p>  通過這次的課程設(shè)計,我又學到了不少的知識,受益匪淺。</p><p><b>  參考書目:</b></p><p>  [1] MATLAB實用教程[第二版]. 鄭阿

113、奇,曹戈,趙陽. 電子工業(yè)出版社</p><p>  [2] MATLAB 6.X圖像處理. 孫兆林. 清華大學出版社</p><p>  [3] 數(shù)字圖像處理 MATLAB 版. 岡莎雷斯 電子工業(yè)出版社</p><p><b>  附錄</b></p><p><b&

114、gt;  %´打開圖像</b></p><p>  global im %´全局變量im</p><p>  global directoryname1</p><p>  global files</p><p><b>  global r</b></p>&l

115、t;p>  global str</p><p>  [filename,pathname]=...</p><p>  uigetfile({'*.jpg';'*.bmp';'*.gif'},'read');</p><p>  str=[pathname filename];</p>

116、;<p>  directoryname1=pathname;</p><p>  flies=dir(directoryname1);</p><p>  im=imread(str);</p><p><b>  r=im;</b></p><p>  axes(handles.axes1);</

117、p><p>  imshow(im);</p><p>  im=imread(str);</p><p><b>  r=im;</b></p><p>  axes(handles.axes2);</p><p>  imshow(im);</p><p>  handle

118、s.img=im;</p><p>  ----------------------------------------------------------------</p><p><b>  %保存</b></p><p>  [filename,pathname]=uiputfile({'*.jpg'},'sav

119、e image as'); </p><p>  file=[pathname filename];</p><p>  axes(handles.axes2);</p><p>  i=getimage(gca);</p><p>  imwrite(i,file,'jpg');</p><p&g

120、t;  ------------------------------------------------------------</p><p><b>  %退出</b></p><p><b>  clc;</b></p><p>  close all;</p><p>  cla reset

溫馨提示

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

評論

0/150

提交評論