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

正文內(nèi)容

基于matlab的數(shù)字圖像邊緣檢測(cè)算法研究(編輯修改稿)

2025-09-06 18:42 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 調(diào)試速度快,需要學(xué)習(xí)時(shí)間少。人們用任何一種語(yǔ)言編寫(xiě)程序和調(diào)試程序一般都要經(jīng)過(guò)四個(gè)步驟:編輯、編譯、連接以及執(zhí)行和調(diào)試。各個(gè)步驟之間是順序關(guān)系,編程的過(guò)程就是在它們之間作瀑布型的循環(huán)。Matlab語(yǔ)言與其它語(yǔ)言相比,較好地解決了上述問(wèn)題,把編輯、編譯、連接和執(zhí)行融為一體。它能在同一畫(huà)面上進(jìn)行靈活操作快速排除輸入程序中的書(shū)寫(xiě)錯(cuò)誤、語(yǔ)法錯(cuò)誤以至語(yǔ)意錯(cuò)誤,從而加快了用戶(hù)編寫(xiě)、修改和調(diào)試程序的速度,可以說(shuō)在編程和調(diào)試過(guò)程中它是一種比VB還要簡(jiǎn)單的語(yǔ)言。具體地說(shuō),Matlab運(yùn)行時(shí),如直接在命令行輸入Mailab語(yǔ)句(命令),包括調(diào)用M文件的語(yǔ)句,每輸入一條語(yǔ)句,就立即對(duì)其進(jìn)行處理,完成績(jī)譯、連接和運(yùn)行的全過(guò)程。又如,將Matlab源程序編輯為M文件,由于Mat1ab磁盤(pán)文件也是M文件,所以編輯后的源文件就可直接運(yùn)行,而不需進(jìn)行編譯和連接。在運(yùn)行M文件時(shí),如果有錯(cuò),計(jì)算機(jī)屏幕上會(huì)給出詳細(xì)的出鍺信息,用戶(hù)經(jīng)修改后再執(zhí)行,直到正確為止。所以可以說(shuō),Mat1ab語(yǔ)言不僅是一種語(yǔ)言,廣義上講是一種該語(yǔ)言開(kāi)發(fā)系統(tǒng),即語(yǔ)言調(diào)試系統(tǒng)。(3)擴(kuò)充能力強(qiáng) 高版本的Matlab語(yǔ)言有豐富的庫(kù)函數(shù),在進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算時(shí)可以直接調(diào)用,而且Matlab的庫(kù)函數(shù)同用戶(hù)文件在形成上一樣,所以用戶(hù)文件也可作為Matlab的庫(kù)函數(shù)來(lái)調(diào)用。因而,用戶(hù)可以根據(jù)自己的需要方便地建立和擴(kuò)充新的庫(kù)函數(shù),以便提高M(jìn)atlab使用效率和擴(kuò)充它的功能。另外,為了充分利用Fortran、C等語(yǔ)言的資源,包括用戶(hù)已編好的Fortran,C語(yǔ)言程序,通過(guò)建立Me調(diào)文件的形式,混合編程,方便地調(diào)用有關(guān)的Fortran,C語(yǔ)言的子程序。(4)語(yǔ)句簡(jiǎn)單,內(nèi)涵豐富Mat1ab語(yǔ)言中最基本最重要的成分是函數(shù),其一般形式為[a,b,c……]=fun(d,e,f,……),即一個(gè)函數(shù)由函數(shù)名,輸入變量d,e,f,……和輸出變量a,b,c……組成,同一函數(shù)名F,不同數(shù)目的輸入變量(包括無(wú)輸入變量)及不同數(shù)目的輸出變量,代表著不同的含義(有點(diǎn)像面向?qū)ο笾械亩鄳B(tài)性。這不僅使Matlab的庫(kù)函數(shù)功能更豐富,而大大減少了需要的磁盤(pán)空間,使得Matlab編寫(xiě)的M文件簡(jiǎn)單、短小而高效。(5)高效方便的矩陣和數(shù)組運(yùn)算Matlab語(yǔ)言象Basic、Fortran和C語(yǔ)言一樣規(guī)定了矩陣的算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符及賦值運(yùn)算符,而且這些運(yùn)算符大部分可以毫無(wú)改變地照搬到數(shù)組間的運(yùn)算,有些如算術(shù)運(yùn)算符只要增加“”就可用于數(shù)組間的運(yùn)算,另外,它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù)、特殊矩陣專(zhuān)門(mén)的庫(kù)函數(shù),使之在求解諸如信號(hào)處理、建模、系統(tǒng)識(shí)別、控制、優(yōu)化等領(lǐng)域的問(wèn)題時(shí),顯得大為簡(jiǎn)捷、高效、方便,這是其它高級(jí)語(yǔ)言所不能比擬的。在此基礎(chǔ)上,高版本的Matlab已逐步擴(kuò)展到科學(xué)及工程計(jì)算的其它領(lǐng)域。因此,不久的將來(lái),它一定能名符其實(shí)地成為“萬(wàn)能演算紙式的”科學(xué)算法語(yǔ)言。(6)方便的繪圖功能Matlab的繪圖是十分方便的,它有一系列繪圖函數(shù)(命令),例如線性坐標(biāo)、對(duì)數(shù)坐標(biāo),半對(duì)數(shù)坐標(biāo)及極坐標(biāo),均只需調(diào)用不同的繪圖函數(shù)(命令),在圖上標(biāo)出圖題、XY軸標(biāo)注,格(柵)繪制也只需調(diào)用相應(yīng)的命令,簡(jiǎn)單易行。另外,在調(diào)用繪圖函數(shù)時(shí)調(diào)整自變量可繪出不變顏色的點(diǎn)、線、復(fù)線或多重線。這種為科學(xué)研究著想的設(shè)計(jì)是通用的編程語(yǔ)言所不及的。總之,Matlab語(yǔ)言的設(shè)計(jì)思想可以說(shuō)代表了當(dāng)前計(jì)算機(jī)高級(jí)語(yǔ)言的發(fā)展方向,在不斷使用中,人們會(huì)發(fā)現(xiàn)它的巨大潛力[18]。 一階微分算法的實(shí)驗(yàn)結(jié)果與分析 實(shí)驗(yàn)程序清單Roberts算子程序:clcclear allclose allA = imread(39。39。)。 % 讀入圖像imshow(A)。title(39。原圖39。)。x_mask = [1 0。0 1]。 % 建立X方向的模板y_mask = rot90(x_mask)。 % 建立Y方向的模板I = im2double(A)。 % 將圖像數(shù)據(jù)轉(zhuǎn)化為雙精度dx = imfilter(I, x_mask)。 % 計(jì)算X方向的梯度分量dy = imfilter(I, y_mask)。 % 計(jì)算Y方向的梯度分量grad = sqrt(dx.*dx + dy.*dy)。 % 計(jì)算梯度grad = mat2gray(grad)。 % 將梯度矩陣轉(zhuǎn)換為灰度圖像level = graythresh(grad)。 % 計(jì)算灰度閾值BW = im2bw(grad,level)。 % 用閾值分割梯度圖像figure, imshow(BW)。 % 顯示分割后的圖像即邊緣圖像title(39。Roberts39。)Prewitt算子程序:clcclear allclose allA = imread(39。39。)。 % 讀入圖像imshow(A)。title(39。原圖39。)。y_mask = [1 1 1。0 0 0。1 1 1]。 % 建立Y方向的模板x_mask = y_mask39。 % 建立X方向的模板I = im2double(A)。 % 將圖像數(shù)據(jù)轉(zhuǎn)化為雙精度dx = imfilter(I, x_mask)。 % 計(jì)算X方向的梯度分量dy = imfilter(I, y_mask)。 % 計(jì)算Y方向的梯度分量grad = sqrt(dx.*dx + dy.*dy)。 % 計(jì)算梯度grad = mat2gray(grad)。 % 將梯度矩陣轉(zhuǎn)換為灰度圖像level = graythresh(grad)。 % 計(jì)算灰度閾值BW = im2bw(grad,level)。 % 用閾值分割梯度圖像figure, imshow(BW)。 % 顯示分割后的圖像即邊緣圖像title(39。Prewitt39。) Kirsch算子程序clcclear allclose allA = imread(39。39。)。 % 讀入圖像imshow(A)。title(39。原圖39。)。mask1=[3,3,3。3,0,5。3,5,5]。 % 建立方向模板mask2=[3,3,5。3,0,5。3,3,5]。mask3=[3,5,5。3,0,5。3,3,3]。mask4=[3,3,3。3,0,3。5,5,5]。mask5=[5,5,5。3,0,3。3,3,3]。mask6=[3,3,3。5,0,3。5,5,3]。mask7=[5,3,3。5,0,3。5,3,3]。mask8=[5,5,3。5,0,3。3,3,3]。I = im2double(A)。 % 將數(shù)據(jù)圖像轉(zhuǎn)化為雙精度d1 = imfilter(I, mask1)。 % 計(jì)算8個(gè)領(lǐng)域的灰度變化d2 = imfilter(I, mask2)。d3 = imfilter(I, mask3)。d4 = imfilter(I, mask4)。d5 = imfilter(I, mask5)。d6 = imfilter(I, mask6)。d7 = imfilter(I, mask7)。d8 = imfilter(I, mask8)。dd = max(abs(d1),abs(d2))。 % 取差值變化最大的元素組成灰度變化矩陣dd = max(dd,abs(d3))。dd = max(dd,abs(d4))。dd = max(dd,abs(d5))。dd = max(dd,abs(d6))。dd = max(dd,abs(d7))。dd = max(dd,abs(d8))。grad = mat2gray(dd)。 % 將灰度變化矩陣轉(zhuǎn)化為灰度圖像level = graythresh(grad)。 % 計(jì)算灰度閾值BW = im2bw(grad,level)。 % 用閾值分割梯度圖像figure, imshow(BW)。 % 顯示分割后的圖像,即邊緣圖像title(39。Kirsch39。) 實(shí)驗(yàn)結(jié)果以cameraman圖片為例,分別用Roberts、Prewitt和Kirsch三種算法,在無(wú)噪聲(圖11)和有高斯白噪聲(圖12)的環(huán)境下,分別給檢測(cè)結(jié)果。圖11對(duì)未加噪聲圖片的檢測(cè)結(jié)果圖12 對(duì)加入高斯白噪聲圖片的檢測(cè)結(jié)果 實(shí)驗(yàn)結(jié)果分析通過(guò)圖11和圖12知,在圖像沒(méi)有噪聲的情況下,Roberts算子、Prewitt算子、Kirsch算子,都能夠比較準(zhǔn)確的檢測(cè)出圖像的邊緣。加入高斯白噪聲后,三種邊緣檢測(cè)算子的邊緣檢測(cè)效果都多少受到噪聲的干擾,檢測(cè)出大量的噪聲點(diǎn)和偽邊緣,甚至無(wú)法檢測(cè)出邊緣。Roberts算子受噪聲的影響最大,Kirsch算子、Prewitt算子受噪聲影響比Roberts算子小。由于各種原因,圖像總是受到隨機(jī)噪聲的干擾,可以說(shuō)噪聲無(wú)處不在。經(jīng)典的邊緣檢測(cè)方法由于引入了各種形式的微分運(yùn)算,從而必然引起對(duì)噪聲的極度敏感,邊緣檢測(cè)的結(jié)果常常是把噪聲當(dāng)作邊緣點(diǎn)檢測(cè)出來(lái),而真正的邊緣也由于受到噪聲干擾而沒(méi)有檢測(cè)出來(lái)。對(duì)于有噪聲圖像來(lái)說(shuō),一種好的邊緣檢測(cè)方法應(yīng)該具有良好的噪聲抑制能力,同時(shí)又有完備的邊緣保持特性?;谝浑A微分的邊緣檢測(cè)算子具有實(shí)現(xiàn)簡(jiǎn)單、運(yùn)算速度快等特點(diǎn),但其檢測(cè)受噪聲的影響很大,檢測(cè)結(jié)果不可靠,不能準(zhǔn)確判定邊緣的存在及邊緣的準(zhǔn)確位置,造成這種情況的原因:(1)實(shí)際邊緣灰度與理想邊緣灰度值間存在差異,這類(lèi)算子可能檢測(cè)出多個(gè)邊緣;(2)邊緣存在的尺度范圍各不相同,這類(lèi)算子固定的大小不利于檢測(cè)出不同尺度上的所有邊緣;(3)對(duì)噪聲都比較敏感。 二階微分算法的實(shí)驗(yàn)結(jié)果與分析 實(shí)驗(yàn)程序清單Laplacian算子程序:clcclear allclose allA = imread(39。39。)。 % 讀入圖像imshow(A)。title(39。原圖39。)。 mask=[0,1,0。1,4,1。0,1,0]。 % 建立模板I = im2double(A)。 % 將數(shù)據(jù)圖像轉(zhuǎn)化為雙精度dx = imfilter(I, mask)。 % 計(jì)算梯度矩陣grad = mat2gray(dx)。 % 將梯度矩陣轉(zhuǎn)化為灰度圖像BW = im2bw(grad,)。 % 用閾值分割梯度圖像figure, imshow(BW)。 % 顯示分割后的圖像,即梯度圖像title(39。Laplacian39。)LoG算子程序:clcclear allclose allA = imread(39。39。)。 % 讀入圖像imshow(A)。title(39。原圖39。)。mask=[0,0,1,0,0。0,1,2,1,0。1,2,16,2,1。0,1,2,1,0。0,0,1,0,0]。 % 建立模板I = im2double(A)。 % 將數(shù)據(jù)圖像轉(zhuǎn)化為雙精度dx = imfilter(I, mask)。 % 計(jì)算梯度矩陣grad = mat2gray(dx)。 % 將梯度矩陣轉(zhuǎn)化為灰度圖像BW = im2bw(grad,)。 % 用閾值分割梯度圖像figure, imshow(BW)。 % 顯示分割后的圖像,即梯度圖像title(39。log39。)Canny算子程序:clcclear allclose allI = imread(39。39。)。 % 讀入圖像imshow(I)。title(39。原圖39。)BW1 = edge(I,39。canny39。)。 % 調(diào)用canny函數(shù)figure,imshow(BW1)。 % 顯示分割后的圖像,即梯度圖像title(39。Canny39。) 實(shí)驗(yàn)結(jié)果以cameraman圖片為例,分別用Laplacian、LoG和Canny三種算法,在無(wú)噪聲(圖13)和有高斯白噪聲(圖14)的環(huán)境下,分別給檢測(cè)結(jié)果。圖13對(duì)未加噪聲圖片的檢測(cè)結(jié)果圖14 對(duì)加入高斯白噪聲圖片的檢測(cè)結(jié)果 實(shí)驗(yàn)結(jié)果分析由圖13和圖14可以看出Laplacian算子:對(duì)圖像中的階躍性邊緣點(diǎn)定位準(zhǔn)確,但是對(duì)噪聲非常敏感,丟失一部分邊緣的方向信息,造成一些不連續(xù)的檢測(cè)邊緣。LoG算子:首先用高斯函數(shù)進(jìn)行濾波,然后使用Laplacian算子檢測(cè)邊緣,克服了Laplacian算子抗噪聲能力比較差的缺點(diǎn),LoG算子中高斯函數(shù)中方差參數(shù)σ的選擇很關(guān)鍵,σ越大避免了虛假邊緣的檢出,邊緣也被平滑造成邊緣點(diǎn)的丟失。σ越小,噪聲抑制能力相對(duì)下降,容易出現(xiàn)虛假邊緣。Canny:采用高斯函數(shù)對(duì)圖像進(jìn)行平滑處理,因此具有較強(qiáng)的噪聲抑制能力;同樣該算子也將一些高頻邊緣平滑掉,造成邊緣丟失,采用了雙閾值算法檢測(cè)和連接邊緣,邊緣的連續(xù)性較好。Laplacian算子是對(duì)二維函數(shù)進(jìn)行運(yùn)算的二階導(dǎo)數(shù)算子,與方向無(wú)關(guān),對(duì)取向不敏感,因而計(jì)算量要小。根據(jù)邊緣的特性,Laplacian算子可以作為邊緣提取算子,計(jì)算數(shù)字圖像的Laplacian值可以借助模板實(shí)現(xiàn),但是它對(duì)噪聲相當(dāng)敏感,它相當(dāng)于高通濾波,常會(huì)出現(xiàn)一些虛假邊緣。因此,Marr提出首先對(duì)圖像用Gauss函數(shù)進(jìn)行平滑,然后利用Laplacian算子對(duì)平滑的圖像求二階導(dǎo)數(shù)后得到的零交叉點(diǎn)作為候選邊緣,這就是LoG算子。LoG算子就是對(duì)圖像進(jìn)行濾波和微分的過(guò)程,是利用旋轉(zhuǎn)對(duì)稱(chēng)的LoG模板與圖像做卷積,確定濾波器輸出的零交叉位置。Canny算子是一個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1