freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于matlab的圖像處理-文庫吧

2024-10-18 21:55 本頁面


【正文】 8 、 旋轉(zhuǎn) 、上下翻轉(zhuǎn) 函數(shù) flipud 是實現(xiàn)一個二維矩陣的上下翻轉(zhuǎn),如 a=[1 2。3 4],經(jīng)過該函數(shù)處理后,原矩陣變?yōu)?[3 4。1 2]。所以利用該函數(shù)也可以對圖像進行上下翻轉(zhuǎn)處理,但由于該函數(shù)針對二維數(shù)據(jù)的處理,所以在寫程序時,要對 RGB圖像和灰度圖像分開處理,這就要用到 isrgb函數(shù)來判斷,如果是灰度圖像,則可以直接用這個函數(shù)進行處理,否則就要對 RGB圖像進行降維處理, for k=1:3 y(:,:,k)=flipud(x(:,:,k))。 end 處理結(jié)果如圖: 、左右翻轉(zhuǎn) 對圖像的左右翻轉(zhuǎn)也可以用 fliplr 函數(shù)來處理,同樣的,也要對灰度和彩色圖像分開處理,處理結(jié)果如圖: 9 任意角度翻轉(zhuǎn) 用函數(shù) imrotate 來實現(xiàn)對圖像的插值旋轉(zhuǎn)。 該函數(shù)的調(diào)用格式如下: B= imrotate(A, angle, method, ’crop’) 其中,參數(shù) method 用于指定插值的方法,可選的值可以有三種,分別為鄰近插值,雙線性插值,雙三次插值,缺省時為鄰近插值, 參 數(shù) angle 代表旋轉(zhuǎn)的角度。 一般 來說,旋轉(zhuǎn)后的圖像會比原圖大, 用戶可以指定“ crop”參數(shù)對旋轉(zhuǎn)后的圖像進行剪切 (取圖像的中間部分 ),使返回的圖像與原圖大小相同。 執(zhí)行結(jié)果為: 、 噪聲 經(jīng)常用到的噪聲有三種,高斯噪聲,椒鹽噪聲,乘性噪聲, 可以通過以下三個函數(shù)來實現(xiàn): y=imnoise(,39。gaussian39。,p1,p2)。%高斯噪聲 y=imnoise(x,39。salt amp。 pepper39。,p1)。 %椒鹽噪聲 y=imnoise(,39。speckle39。,p1)。 %乘性噪聲 p1, p2的參數(shù)也通過輸入對話框的形式得到,原圖加入高斯噪聲后結(jié)果如下所示: 10 、 濾波 這里選擇三種濾波方法, k=medfilt2()。%中值濾波 k=wiener2(,[5,5])。%自適應(yīng)濾波 k=filter2(fspecial(39。average39。,3),)/255。%平滑濾波 同樣的, 這些函數(shù)也是針對二維數(shù)據(jù),所以要先判斷是彩色圖像還是灰度圖像,然后分別進行處理,下面是對彩色圖像的自適應(yīng)濾波處理: i=。 if isrgb(i) a=(:,:,1)。 b=(:,:,2)。 c=(:,:,3)。 k(:,:,1)=wiener2(a,[5,5])。 k(:,:,2)=wiener2(b,[5,5])。 k(:,:,3)=wiener2(c,[5,5])。 imshow(k)。 執(zhí)行結(jié)果如圖: 對其他方法的濾波程序也類似,由于把各個濾波方法放在一個選擇框里,所 11 以程序要用以下的選擇語句: switch str case 39。中值濾波 39。 case 39。自適應(yīng)濾波 39。 case 39。平滑濾波 39。 end 、 直方圖統(tǒng)計 用 imhist函數(shù)對圖像數(shù)據(jù)進行直方圖統(tǒng)計, x=imhist((:,:,1))。 bar(horz,x)。 其中, x 矩陣的數(shù)據(jù)是 0~255 灰度值的統(tǒng)計個數(shù),如果直接對 x 矩陣數(shù)據(jù)進行圖形圖顯示,由于有 256 個數(shù)據(jù),在坐標系中就會很密集,為了更清楚的顯示條形圖,所以在程序設(shè)計時,把 x 數(shù)據(jù)進行部分提取, x1=x(1:10:256)。 horz=1:10:256。 bar(horz,x1)。 除了 顯示數(shù)據(jù)的直方圖統(tǒng)計外,還可以對圖像進行均衡處理,所用到的函數(shù)是 histeq,這兩個函數(shù) 同樣只使用于二維數(shù)據(jù),所以 也要對二維和三維數(shù)據(jù)分開處理。 直方圖顯示和均衡后的圖像分別如下圖所示 、 頻譜分析 、頻譜圖 為了得到圖像的頻譜圖,先要對數(shù)據(jù)進行傅里葉變換,用 fft2 函數(shù)對二維數(shù)據(jù)進行快速傅里葉變換,同時為了更好的觀察頻譜圖,需要把 fft2 變換后的數(shù)據(jù)進行平移,利用 fftshift 函數(shù), 把快速傅里葉變換的 DC 組件移到光譜中心。 這樣圖像能量的低頻成分將集中到頻譜中心, 圖像上的邊緣、線條細節(jié)信息等高頻成分將分散在圖像頻譜的邊緣。如下圖所示: 12 、通過高通濾波器 axes()。 x=()。 if isrgb(x) msgbox(39。這是彩色圖像 ,不能通過高通濾波器 39。,39。失敗 39。)。 else y1=imnoise(x,39。gaussian39。)。 %加高斯噪聲 f=double(y1)。 % 數(shù)據(jù)類型轉(zhuǎn)換 k=fft2(f)。 % 傅立葉變換 g=fftshift(k)。 % 轉(zhuǎn)換數(shù)據(jù)矩陣 [M,N]=size(g)。 nn=2。 d0=3。 %截止頻率為 3 m=fix(M/2)。 n=fix(N/2)。 for i=1:M for j=1:N d=sqrt((im)^2+(jn)^2)。 % 計算高通濾波器傳遞函數(shù) if d=d0 h=0。 else h=1。 end result(i,j)=h*g(i,j)。 end end result=ifftshift(result)。 y2=ifft2(result)。 y3=uint8(real(y2))。 imshow(y3)。 end 、通過低通濾波器 13 axes()。 x=()。 if isrgb(x) msgbox(39。這是彩色圖像 ,不能通過低通濾波器 39。,39。失敗 39。)。 else y1=imnoise(x,39。salt amp。 pepper39。)。 % 疊加椒鹽噪聲 f=double(y1)。 % 數(shù)據(jù)類型轉(zhuǎn)換,不支持圖像的無符號整型的計算 g=fft2(f)。 % 傅立葉變換 g=fftshift(g)。 % 轉(zhuǎn)換數(shù)據(jù)矩陣 [M,N]=size(g)。 nn=2。 % 二階巴特沃斯 (Butterworth)低通濾波器 d0=10。 %截止頻率為 10 m=fix(M/2)。 n=fix(N/2)。 for i=1:M for j=1:N d=sqrt((im)^2+(jn)^2)。 h=1/(1+*(d/d0)^(2*nn))。% 計算低通濾波器傳遞函數(shù) result(i,j)=h*g(i,j)。 end end result=ifftshift(result)。 y2=ifft2(result)。 y3=uint8(real(y2))。 imshow(y3)。 % 顯示濾波處理后的圖像 end 、 灰度圖像處理 、二值圖像 用 j=im2bw(x)。來對灰度圖像到二值圖像的轉(zhuǎn)換。轉(zhuǎn)換結(jié)果為: 14 、創(chuàng)建索引圖像 用 X = grayslice(I,n)函數(shù)來實現(xiàn),轉(zhuǎn)換后得到的圖像為: 、 顏色模型轉(zhuǎn)換 下面是 RGB 顏色模型到 HSV 模型的轉(zhuǎn)換程序: axes()。 x=()。 if isrgb(x) HSV=rgb2hsv(x)。 imshow(HSV)。 else msgbox(39。這是灰度圖像 ,不能轉(zhuǎn)換 39。,39。轉(zhuǎn)換失敗 39。)。 end 轉(zhuǎn)換后的結(jié)果為 : 同樣的,轉(zhuǎn)化為 ntsc和 ycbcr模型,只要改為相應(yīng)的函數(shù)即可。函數(shù)如下: rgb2ntsc(x)。% rgb模型轉(zhuǎn) ntsc模型 rgb2ycbcr(x)。% rgb模型轉(zhuǎn) ycbcr模型 、 操作界面設(shè)計 為了使整個操作界面更加的美觀,對背景顏色和字體顏色進行設(shè)置。 七、 程序調(diào)試 及結(jié)果分析 15 在程序設(shè)計過程中,碰到很多的問題 。 一個函數(shù)只能 對灰度圖像 處理 , 不能 對 RGB 圖像 處理,那么如何才能對 RGB 圖像處理呢? 這主要是對 MATLAB 函數(shù)的不夠清楚,用到的很多函數(shù)是針對二維數(shù)據(jù)的,而 RGB 圖像的數(shù)據(jù)是一個三維矩陣,所以處理要與灰度圖像不同, 在開始的時候,我認為應(yīng)該找一個能夠應(yīng)用于三維矩陣的函數(shù),結(jié)果卻沒找到,后來想到可以把三維數(shù)據(jù)進行降維處理, 同樣使用二維的函數(shù),只要是同樣處理三次。比如,彩色圖像的濾波處理,直方圖均衡等。 同一個操作對灰度圖像可以使用,當用戶選擇的是彩色圖像時,該操作就會出錯? 這是由于設(shè)計程序時,本身程序是有針對性的,有些程序只能對灰度圖像有效,有些對彩色圖像有效,但是用戶并不清楚這些,所以在設(shè)計的過程中就要考慮全面,要分開設(shè)計。在本次課程設(shè)計中,我均對每個程 序的開始時,用if isrgb( x) 進行判斷。 在沒有加入噪聲的情況下,點擊“中值濾波”或是其它濾波,會提示錯誤? 這是由于在濾波程序設(shè)計的過程中,開始用到的變量是 ,而這個變量是在加入噪聲時候才定義的,所以在沒有加入噪聲的情況下,點擊各個濾波就會彈出變量沒有定義的錯誤,解決方法就是在文件打開的時候就給定義=x。 本次設(shè)計存在一個比較大的問題,就是每次操作都是獨立的, 比如:要對圖像加入噪聲,然后在此基礎(chǔ)上進行亮度調(diào)整,截圖,頻譜 分析等等就不行。 我認為應(yīng)該是整個程序設(shè)計過程中對變量的設(shè)置沒有做好,應(yīng)該每次操作后,把處理后的數(shù)據(jù)保存在一個全局變量,這樣還要對處理后的數(shù)據(jù)進行在處理時,只要把這個全局變量作為原始數(shù)據(jù)帶入就可。 八、 心得 體會 在這次課程設(shè)計過程中,感觸很深,由于對 MATLAB圖像處理的函數(shù)不熟悉,導致自己走了很多的彎路,比如在設(shè)計圖像左轉(zhuǎn) 90度和右轉(zhuǎn) 90度時,由于開始并不知道 imrotate函數(shù),只知道上下翻轉(zhuǎn) flipud和左右翻轉(zhuǎn) fliplr函數(shù) ,想著要怎么用這兩個函數(shù)來實現(xiàn)左轉(zhuǎn)和右轉(zhuǎn)呢,如果當當只用矩陣 轉(zhuǎn)置的話,并不能達到要求,后來想可以結(jié)合 flipud和 fliplr函數(shù)來實現(xiàn),下面程序是實現(xiàn) 左轉(zhuǎn) 90度: axes()。 x=()。 if isrgb() a=x(:,:,1)。 b=x(:,:,2)。 c=x(:,:,3)。 e=a39。 g=b39。 f=c39。 y(:,:,1)=e。 y(:,:,2)=g。 16 y(:,:,3)=f。 axes()。 for k=1:3 f(:,:,k)=flipud(y(:,:,k))。 end imshow(f)。 else m=x39。 y=flipud(m)。 imshow(y)。 end 同理,也可以通過轉(zhuǎn)置和 fliplr函數(shù)實現(xiàn)右轉(zhuǎn) 90度。 但是后來發(fā)現(xiàn)其實只要用 imrotate 函數(shù)就可以解決問題。 通過這次經(jīng)歷后,后來在設(shè)計其它程序時,盡量找 MATLAB 自帶的現(xiàn) 成函數(shù),而不是一碰到問題就自己想算法,這樣可以節(jié)省較多的時間。 在理工科的專業(yè)應(yīng)用背景下,用 matlab 進行相關(guān)計算與仿真編程的優(yōu)勢非常突出。特定的問題處理算法,我們通常都以 M 文件的文本形式給定最終的解決方案, 自己設(shè)計的程序是在
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1