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

正文內(nèi)容

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

2024-07-24 18:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ,1 ≤ m, n ≤ M (39) 其中 median[],注意到 2 σ x2 = σ s2 + σ w l l (310) 及 σx = l 2 1 M M 2 ∑∑ xl ( m, n) M 2 m=1 n=1 (311) 就可以得到 2 σ s = max σ x σ w ,0 l l ( 2 ) (312) 把上面的(39),(312)給出的 σ s 和 σ w ,的估計(jì)值代入(37),就可以得到 l 閾值 T0 ,即最佳閾值. 上述方法的最大優(yōu)點(diǎn)是:在去噪的同時(shí)有效地保留了圖像的真實(shí)邊緣, 即給出了邊緣檢測(cè)的最佳結(jié)果[15]. 4 基于 Matlab 的實(shí)驗(yàn)結(jié)果與分析 Matlab 簡(jiǎn)介 在科學(xué)研究和工程應(yīng)用中,往往要進(jìn)行大量的數(shù)學(xué)計(jì)算,其中包括矩陣 ,而要借助計(jì)算機(jī)編 制相應(yīng)的程序做近似計(jì)算. 目前流行用 Basic, Fortran 和 C 語言編制計(jì)算程序, 既需要對(duì)有關(guān)算法有深刻的了解,還需要熟練地掌握所用語言的語法及編程 , 編制程序也是繁雜的,不僅消耗人力與物力, 服上述困難,美國(guó) Mathwork 公司于 1967 年推出了Matrix Laboratory(縮寫 為 Matlab) 軟件包, 并不斷更新和擴(kuò)充. 目前最新的 版本 (windows 環(huán)境) 是一種功能強(qiáng), 效率高便于進(jìn)行科學(xué)和工程計(jì)算的交互式軟件包. 其中包括: 一般數(shù)值分析,矩陣運(yùn)算,數(shù)字信號(hào)處理,建模和系統(tǒng)控制和優(yōu)化等應(yīng)用程 序, 題的 Matlab 語言表述形式和其數(shù)學(xué)表達(dá)形式相同, 不需要按傳統(tǒng)的方法編程. 不過, Matlab 作為一種新的計(jì)算機(jī)語言, 要想運(yùn)用自如, 充分發(fā)揮它的威力, Matlab 編程運(yùn)算與人進(jìn)行科學(xué)計(jì)算的思路 和表達(dá)方式完全一致,所以不象學(xué)習(xí)其它高級(jí)語言——如 Basic,Fortran 和 C 等那樣難于掌握[16].實(shí)踐證明,你可在幾十分鐘的時(shí)間內(nèi)學(xué)會(huì) Matlab 的基礎(chǔ) 知識(shí), 大大降低了對(duì)使用者的數(shù)學(xué)基礎(chǔ)和計(jì)算機(jī)語言知 識(shí)的要求,而且編程效率和計(jì)算效率極高,還可在計(jì)算機(jī)上直接輸出結(jié)果和 精美的圖形拷貝,流傳世界[17]. 綜上所述,Matlab 語言有如下特點(diǎn): (1)編程效率高 它是一種面向科學(xué)與工程計(jì)算的高級(jí)語言,允許用數(shù)學(xué)形式的語言編寫 程序,且比 Basic,Fortran 和 C 等語言更加接近書寫計(jì)算公式的思維方式,用 Matlab ,Matlab 語言 也可通俗地稱為演算紙式科學(xué)算法語言由于它編寫簡(jiǎn)單,所以編程效率高, 易學(xué)易懂. (2)用戶使用方便 Matlab 語言是一種解釋執(zhí)行的語言(在沒被專門的工具編譯之前),它 靈活,方便,其調(diào)試程序手段豐富,調(diào)試速度快, 任何一種語言編寫程序和調(diào)試程序一般都要經(jīng)過四個(gè)步驟:編輯,編譯,連 ,編程的過程就是在它們之間 語言與其它語言相比,較好地解決了上述問題,把 編輯,編譯, 除輸入程序中的書寫錯(cuò)誤,語法錯(cuò)誤以至語意錯(cuò)誤,從而加快了用戶編寫, 修改和調(diào)試程序的速度, 可以說在編程和調(diào)試過程中它是一種比 VB 還要簡(jiǎn)單 的語言. 具體地說,Matlab 運(yùn)行時(shí),如直接在命令行輸入 Mailab 語句(命令), 包括調(diào)用 M 文件的語句, 每輸入一條語句, 就立即對(duì)其進(jìn)行處理, 完成績(jī)譯, ,將 Matlab 源程序編輯為 M 文件,由于 Mat1ab 磁盤文件也是 M 文件,所以編輯后的源文件就可直接運(yùn)行,而不需進(jìn)行編譯和連接. 在運(yùn)行 M 文件時(shí), 如果有錯(cuò), 計(jì)算機(jī)屏幕上會(huì)給出詳細(xì)的出鍺信息, 用戶經(jīng)修改后再執(zhí)行,Mat1ab 語言不僅是一種 語言,廣義上講是一種該語言開發(fā)系統(tǒng),即語言調(diào)試系統(tǒng). (3)擴(kuò)充能力強(qiáng) 高版本的 Matlab 語言有豐富的庫(kù)函數(shù),在進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算時(shí)可以直 接調(diào)用,而且 Matlab 的庫(kù)函數(shù)同用戶文件在形成上一樣,所以用戶文件也可 作為 Matlab ,用戶可以根據(jù)自己的需要方便地建立和 擴(kuò)充新的庫(kù)函數(shù),以便提高 Matlab ,為了充 分利用 Fortran,C 等語言的資源,包括用戶已編好的 Fortran,C 語言程序, 通過建立 Me 調(diào)文件的形式,混合編程,方便地調(diào)用有關(guān)的 Fortran,C 語言 的子程序. (4)語句簡(jiǎn)單,內(nèi)涵豐富 Mat1ab 語言中最基 本最重要 的成分是 函數(shù),其 一般形 式為 [a,b , c……]=fun(d,e,f,……),即一個(gè)函數(shù)由函數(shù)名,輸入變量 d,e,f,…… 和輸出變量 a,b,c……組成,同一函數(shù)名 F,不同數(shù)目的輸入變量(包括無 輸入變量)及不同數(shù)目的輸出變量,代表著不同的含義(有點(diǎn)像面向?qū)ο笾? Matlab 的庫(kù)函數(shù)功能更豐富,而大大減少了需要的磁盤 空間,使得 Matlab 編寫的 M 文件簡(jiǎn)單,短小而高效. (5)高效方便的矩陣和數(shù)組運(yùn)算 Matlab 語言象 Basic,Fortran 和 C 語言一樣規(guī)定了矩陣的算術(shù)運(yùn)算符, 關(guān)系運(yùn)算符,邏輯運(yùn)算符,條件運(yùn)算符及賦值運(yùn)算符,而且這些運(yùn)算符大部 分可以毫無改變地照搬到數(shù)組間的運(yùn)算,有些如算術(shù)運(yùn)算符只要增加就可用于數(shù)組間的運(yùn)算,另外,它不需定義數(shù)組的維數(shù),并給出矩陣函數(shù),特殊 矩陣專門的庫(kù)函數(shù),使之在求解諸如信號(hào)處理,建模,系統(tǒng)識(shí)別,控制,優(yōu) 化等領(lǐng)域的問題時(shí),顯得大為簡(jiǎn)捷,高效,方便,這是其它高級(jí)語言所不能 ,高版本的 Matlab 已逐步擴(kuò)展到科學(xué)及工程計(jì)算的其它 ,不久的將來,它一定能名符其實(shí)地成為萬能演算紙式的科學(xué)算 法語言. (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ù)線或 . 總之,Matlab 語言的設(shè)計(jì)思想可以說代表了當(dāng)前計(jì)算機(jī)高級(jí)語言的發(fā)展 方向,在不斷使用中,人們會(huì)發(fā)現(xiàn)它的巨大潛力[18]. 一階微分算法的實(shí)驗(yàn)結(jié)果與分析 實(shí)驗(yàn)程序清單 Roberts 算子程序: clc clear all close all A = 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 算子程序: clc clear all close all A = 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 算子程序 clc clear all close all A = 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 三種算法,在 無噪聲(圖 11)和有高斯白噪聲(圖 12)的環(huán)境下,分別給檢測(cè)結(jié)果. 圖 11 對(duì)未加噪聲圖片的檢測(cè)結(jié)果 圖 12 對(duì)加入高斯白噪聲圖片的檢測(cè)結(jié)果 實(shí)驗(yàn)結(jié)果分析 通過圖 11 和圖 12 知,在圖像沒有噪聲的情況下,Roberts 算子,Prewitt 算子,Kirsch 算子, 后,三種邊緣檢測(cè)算子的邊緣檢測(cè)效果都多少受到噪聲的干擾,檢測(cè)出大量 的噪聲點(diǎn)和偽邊緣, 算子受噪聲的影響最大, Kirsch 算子,Prewitt 算子受噪聲影響比 Roberts 算子小. 由于各種原因,圖像總是受到隨機(jī)噪聲的干擾,可以說噪聲無處不在經(jīng)典的邊緣檢測(cè)方法由于引入了各種形式的微分運(yùn)算,從而必然引起對(duì)噪聲 的極度敏感,邊緣檢測(cè)的結(jié)果常常是把噪聲當(dāng)作邊緣點(diǎn)檢測(cè)出來,而真正的 ,一種好的 邊緣檢測(cè)方法應(yīng)該具有良好的噪聲抑制能力,同時(shí)又有完備的邊緣保持特性. 基于一階微分的邊緣檢測(cè)算子具有實(shí)現(xiàn)簡(jiǎn)單,運(yùn)算速度快等特點(diǎn),但其 檢測(cè)受噪聲的影響很大,檢測(cè)結(jié)果不可靠,不能準(zhǔn)確判定邊緣的存在及邊緣 的準(zhǔn)確位置,造成這種情況的原因:(1)實(shí)際邊緣灰度與理想邊緣灰度值間存 在差異,這類算子可能檢測(cè)出多個(gè)邊緣。(2)邊緣存在的尺度范圍各不相同, 這類算子固定的大小不利于檢測(cè)出不同尺度上的所有邊緣。(3)對(duì)噪聲都比較 敏感. 二階微分算法的實(shí)驗(yàn)結(jié)果與分析 實(shí)驗(yàn)程序清單 Laplacian 算子程序: clc clear all close all A = 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 算子程序: clc clear all close all A = 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)。 %
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1