當前位置:首頁 » 編程軟體 » 編程圖像去噪

編程圖像去噪

發布時間: 2022-06-22 16:34:39

1. 圖像去噪方法有哪些

減少雜訊的方法可以在圖像空間域或在圖像變換域中完成。
圖像空間域去噪方法很多,如:線性濾波法、中值濾波法、維納濾波法等。
圖像變換域去噪方法有:傅里葉變換和小波變換等

2. matlab經典圖像去噪方法有哪些

線性濾波去噪、中值濾波去噪、均值濾波去噪、維納濾波去噪等

3. 我想問一下:怎麼用matlab編寫函數對圖像進行高斯濾波以去除雜訊

2. 雜訊及其雜訊的 Matlab 實現
imnoise 函數
格式:J=imnoise(I,type)
J=imnoise(I,type,parameter)
說明:J=imnoise(I,type) 返回對圖像 I 添加典型雜訊後的有噪圖像 J ,參數 type 和 parameter 用於確定雜訊的類型和相應的參數。

加權領域平均演算法來進行濾波處理
由實驗我們可以看出,一般的濾波器在對圖像進行雜訊濾除的同時對圖像中的細節部分有不同程度的破壞,都不能達到理想的效果。但是採用加權的鄰域平均演算法對圖像進行雜訊濾除, 不僅能夠有效地平滑雜訊, 還能夠銳化模糊圖像的邊緣。 加權的鄰域平均演算法的基本思想是: 在一個鄰域內, 除了可以利用灰度均值外, 灰度的上偏差和下偏差也能夠提供某些局部信息。演算法的計算公式描述如下, 用f (x ,y ) 表示原始圖像, g (x , y ) 為平滑後點(x , y ) 的灰度值,V x , y 表示以點(x , y ) 為中心的鄰域, 該鄰域包含N 個象素,m (x , y ) 表示鄰域V x , y 內的灰度均值。NI表示鄰域內大於平均值的像素個數,Ng表示小於平均值的像素個數,而N0表示等於平均值的像素個數。則修正的鄰域平均法由下式給出:

m - A�0�3 m l; N l > max{N g ,N 0}
g(x,y)= m + A�0�3 m g; N g > max{N l ,N 0} (1)
m ; else

(1)式(1) 中, A為修正系數, 取值范圍為0~ 1, 其大小反映V x , y 中的邊緣狀況。 以上是我認為在圖像處理中比較有價值的兩點,有興趣的可以上網查閱相關的資料。
3. 圖像濾波的 Matlab 實現
3.1 conv2 函數
功能:計算二維卷積
格式:C=conv2(A,B)
C=conv2(Hcol,Hrow,A)
C=conv2(...,'shape')
說明:對於 C=conv2(A,B) ,conv2 的算矩陣 A 和 B 的卷積,若 [Ma,Na]=size(A), [Mb,Nb]=size(B), 則 size(C)=[Ma+Mb-1,Na+Nb-1]; C=conv2(Hcol,Hrow,A) 中,矩陣 A 分別與 Hcol 向量在列方向和 Hrow 向量在行方向上進行卷積;C=conv2(...,'shape') 用來指定 conv2 返回二維卷積結果部分,參數 shape 可取值如下:
》full 為預設值,返回二維卷積的全部結果;
》same 返回二維卷積結果中與 A 大小相同的中間部分;
valid 返回在卷積過程中,未使用邊緣補 0 部分進行計算的卷積結果部分,當 size(A)>size(B) 時,size(C)=[Ma-Mb+1,Na-Nb+1]。

3.2 conv 函數
功能:計算多維卷積
格式:與 conv2 函數相同

3.3 filter2函數
功能:計算二維線型數字濾波,它與函數 fspecial 連用
格式:Y=filter2(B,X)
Y=filter2(B,X,'shape')
說明:對於 Y=filter2(B,X) ,filter2 使用矩陣 B 中的二維 FIR 濾波器對數據 X 進行濾波,結果 Y 是通過二維互相關計算出來的,其大小與 X 一樣;對於 Y=filter2(B,X,'shape') ,filter2 返回的 Y 是通過二維互相關計算出來的,其大小由參數 shape 確定,其取值如下:
》full 返回二維相關的全部結果,size(Y)>size(X);
》same 返回二維互相關結果的中間部分,Y 與 X 大小相同;
》valid 返回在二維互相關過程中,未使用邊緣補 0 部分進行計算的結果部分,有 size(Y)<size(X) 。

3.4 fspecial 函數
功能:產生預定義濾波器
格式:H=fspecial(type)
H=fspecial('gaussian',n,sigma) 高斯低通濾波器
H=fspecial('sobel') Sobel 水平邊緣增強濾波器
H=fspecial('prewitt') Prewitt 水平邊緣增強濾波器
H=fspecial('laplacian',alpha) 近似二維拉普拉斯運算濾波器
H=fspecial('log',n,sigma) 高斯拉普拉斯(LoG)運算濾波器
H=fspecial('average',n) 均值濾波器
H=fspecial('unsharp',alpha) 模糊對比增強濾波器
說明:對於形式 H=fspecial(type) ,fspecial 函數產生一個由 type 指定的二維濾波器 H ,返回的 H 常與其它濾波器搭配使用。

4. 關於圖像去噪的matlab代碼

I
=
imread('a.png');%讀圖像
J
=
imnoise(I,'salt
&
pepper',0.02);%加椒鹽雜訊
K
=
medfilt2(J);%用中值濾波去雜訊。
imshow(K);
如果效果不好,加上圖片問我。

5. 什麼是圖像去噪

圖像去噪

簡介:

現實中的數字圖像在數字化和傳輸過程中常受到成像設備與外部環境雜訊干擾等影響,稱為含噪圖像或雜訊圖像。減少數字圖像中雜訊的過程稱為圖像去噪。

去除圖像雜訊的方法:

  • 均值濾波器

採用鄰域平均法的均值濾波器非常適用於去除通過掃描得到的圖像中的顆粒雜訊。領域平均法有力地抑制了雜訊,同時也由於平均而引起了模糊現象,模糊程度與領域半徑成正比。

幾何均值濾波器所達到的平滑度可以與算術均值濾波器相比,但在濾波過程中會丟失更少的圖象細節。

諧波均值濾波器對「鹽」雜訊效果更好,但是不適用於「胡椒」雜訊。它善於處理像高斯雜訊那樣的其他雜訊。

逆諧波均值濾波器更適合於處理脈沖雜訊,但它有個缺點,就是必須要知道雜訊是暗雜訊還是亮雜訊,以便於選擇合適的濾波器階數符號,如果階數的符號選擇錯了可能會引起災難性的後果。

  • 自適應維納濾波器

它能根據圖象的局部方差來調整濾波器的輸出,局部方差越大,濾波器的平滑作用越強。它的最終目標是使恢復圖像f^(x,y)與原始圖像f(x,y)的均方誤差e2=E[(f(x,y)-f^(x,y)2]最小。該方法的濾波效果比均值濾波器效果要好,對保留圖像的邊緣和其他高頻部分很有用,不過計算量較大。維納濾波器對具有白雜訊的圖象濾波效果最佳。

  • 中值濾波器

它是一種常用的非線性平滑濾波器,其基本原理是把數字圖像或數字序列中一點的值用該點的一個領域中各點值的中值代換其主要功能是讓周圍象素灰度值的差比較大的像素改取與周圍的像素值接近的值,從而可以消除孤立的雜訊點,所以中值濾波對於濾除圖像的椒鹽雜訊非常有效。中值濾波器可以做到既去除雜訊又能保護圖像的邊緣,從而獲得較滿意的復原效果,而且,在實際運算過程中不需要圖象的統計特性,這也帶來不少方便,但對一些細節多,特別是點、線、尖頂細節較多的圖象不宜採用中值濾波的方法。

  • 形態學雜訊濾除器

將開啟和閉合結合起來可用來濾除雜訊,首先對有雜訊圖象進行開啟操作,可選擇結構要素矩陣比雜訊的尺寸大,因而開啟的結果是將背景上的雜訊去除。最後是對前一步得到的圖象進行閉合操作,將圖象上的雜訊去掉。根據此方法的特點可以知道,此方法適用的圖像類型是圖象中的對象尺寸都比較大,且沒有細小的細節,對這種類型的圖像除噪的效果會比較好。

  • 小波去噪

這種方法保留了大部分包含信號的小波系數,因此可以較好地保持圖象細節。小波分析進行圖像去噪主要有3個步驟:

(1)對圖象信號進行小波分解。

(2)對經過層次分解後的高頻系數進行閾值量化。

(3)利用二維小波重構圖象信號。

詳細資料見網路:http://ke..com/view/4518756.htm

6. 怎樣用python實現圖像去噪

#coding:utf-8
importsys,os
fromPILimportImage,ImageDraw

#二值數組
t2val={}
deftwoValue(image,G):
foryinxrange(0,image.size[1]):
forxinxrange(0,image.size[0]):
g=image.getpixel((x,y))
ifg>G:
t2val[(x,y)]=1
else:
t2val[(x,y)]=0

#降噪
#根據一個點A的RGB值,與周圍的8個點的RBG值比較,設定一個值N(0<N<8),當A的RGB值與周圍8個點的RGB相等數小於N時,此點為噪點
#G:Integer圖像二值化閥值
#N:Integer降噪率0<N<8
#Z:Integer降噪次數
#輸出
#0:降噪成功
#1:降噪失敗
defclearNoise(image,N,Z):

foriinxrange(0,Z):
t2val[(0,0)]=1
t2val[(image.size[0]-1,image.size[1]-1)]=1

forxinxrange(1,image.size[0]-1):
foryinxrange(1,image.size[1]-1):
nearDots=0
L=t2val[(x,y)]
ifL==t2val[(x-1,y-1)]:
nearDots+=1
ifL==t2val[(x-1,y)]:
nearDots+=1
ifL==t2val[(x-1,y+1)]:
nearDots+=1
ifL==t2val[(x,y-1)]:
nearDots+=1
ifL==t2val[(x,y+1)]:
nearDots+=1
ifL==t2val[(x+1,y-1)]:
nearDots+=1
ifL==t2val[(x+1,y)]:
nearDots+=1
ifL==t2val[(x+1,y+1)]:
nearDots+=1

ifnearDots<N:
t2val[(x,y)]=1

defsaveImage(filename,size):
image=Image.new("1",size)
draw=ImageDraw.Draw(image)

forxinxrange(0,size[0]):
foryinxrange(0,size[1]):
draw.point((x,y),t2val[(x,y)])

image.save(filename)

image=Image.open("d:/1.jpg").convert("L")
twoValue(image,100)
clearNoise(image,4,1)
saveImage("d:/5.jpg",image.size)

7. 圖像去噪的方法

①高斯濾波:
高斯濾波的具體操作是:用一個模板(或稱卷積、掩模)掃描圖像中的每一個像素,用模板確定的鄰域內像素的 加權平均灰度值 去替代模板中心像素點的值。
1.高斯濾波是平滑線性濾波器,在對鄰域內像素灰度平均時賦予了 不同位置不同的權值,越靠近鄰域中心權值越 大(?)。
2.高斯濾波技能平滑雜訊,也能保留圖像的整體灰度分布特徵;
3.高斯濾波公式是各向同性擴散方程,在圖像邊緣處沿切向和法向是同等擴散的,所以絕大多數 邊緣和細節紋理特徵被模糊掉,損失了大量的信息。
4.高斯濾波 適合處理均值為零的高斯雜訊,但 處理離散的點雜訊時,會損失大量細節信息。
5.一維高斯函數:
二維高斯函數:

②中值濾波
中值濾波是統計排序濾波器,通過對鄰域內所有像素的排序,然後取其 中值為鄰域中心的像素。
1.該方法 不適合處理高斯雜訊,但處理離散的點雜訊效果明顯。
2.該方法 忽略了像素點間的相關性,當目標圖像細節紋理復雜時,中值濾波的結果會破壞其不分紋理。

8. Java圖像去噪怎麼實現

流程不外乎是

  1. 讀取圖像文件;

  2. 掃描噪點;

  3. 去除噪點;

  4. 保存圖像文件。

    Java2D操作好像使用BufferedImage讀取圖像文件最方便,有一陣沒弄這了,忘了。應該可以讀取JPG,PNG,GIF圖像。

    識別噪點應該有專門的演算法,我沒研究過,網路一下應該能找到專門演算法,然後寫段代碼就可以。我個人以為是獨立一個像素與周圍一定范圍內的像素差異過大,就認為是噪點。可以有亮度,色相上的差別。BufferedImage可以讀取每個像素的RGB,從而能識別色相的差別;還有個矩陣,用來由RGB計算亮度的,也就可以計算亮度差別了,這個網上都能找到。

    輸出也使用BufferedImage就可以。

    關鍵是每個像素都要和周圍像素比較,還要計算亮度,最少是三重循環了,如何提高效率是個大問題了。這個代碼寫好了也算一個高手了。

9. 用opencv去噪

使用opencv-python的內置函數,對圖片進行降噪處理。
8Fourier變換的應用——圖像去噪
給出的圖片是RGB圖片,也就是需要有三個通道。
下面的函數用來去噪。
img=np.uint8(cv2.fastNlMeansDenoisingColored(img,None,10,10,7,21))
對這個圖片進行局部自適應二值化處理:
img=hui(img)
th1 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,31,5)
另一種局部自適應二值化處理:
th2 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,31,5)
在第一步連續執行兩次去噪,得到的三幅圖片是:
執行三次降噪。
連續10次降噪。

10. 如何根據雜訊類型選擇不同的去噪方法;

圖像在採集和傳輸中會不可避免的受到雜訊的污染,影響人們對圖像的理解和分析處理。圖像去噪的目的就是濾除雜訊,減少雜訊的影響,使圖像信息更加真實的呈現。本文簡單介紹了圖像雜訊的分類及常用的圖像的去噪方法,對傳統的中值濾波方法進行了分析,並針對傳統的中值濾波方法存在的不足,提出自適應中值濾波方法,並在MATLAB軟體上進行了編程和模擬。結果表明自適應中值濾波方法對雜訊密度較大的圖像比傳統中值濾波有更好的濾波效果。

本文第一章對數字圖像處理常用方法,圖像雜訊的分類和主要去噪方法等基礎知識做了介紹,並對MATLAB軟體發展主要組成和功能進行了概括,同時對用於圖像處理的MATLAB主要函數進行了介紹。第二章對圖像的中值濾波方法的原理和演算法進行介紹,並分析其不足,提出自適應中值濾波器的設計。第三章對自適應中值濾波器的原理和設計演算法做了分析,並在MATLAB軟體上進行了編程和模擬,對處理結果進行比對、歸納。最後,對本論文做了總結。

熱點內容
sql除法運算 發布:2025-02-14 06:30:43 瀏覽:534
如何在家部署一台伺服器 發布:2025-02-14 06:22:04 瀏覽:433
u盤里文件夾是空的 發布:2025-02-14 06:13:22 瀏覽:803
安卓如何縮放圖片尺寸 發布:2025-02-14 06:06:34 瀏覽:116
六年級簡便演算法題 發布:2025-02-14 05:53:02 瀏覽:8
腳本精靈要root嗎 發布:2025-02-14 05:51:30 瀏覽:212
安卓手機如何錄屏怎麼去掉觸摸顯示 發布:2025-02-14 05:36:23 瀏覽:996
安卓系統新品推薦怎麼關 發布:2025-02-14 05:35:44 瀏覽:888
虛擬存儲器的基礎是 發布:2025-02-14 05:32:24 瀏覽:516
androidstudio出錯 發布:2025-02-14 05:32:14 瀏覽:305