日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

数字图像处理——第五章 图像复原与重建

發布時間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字图像处理——第五章 图像复原与重建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數字圖像處理——第五章 圖像復原與重建

文章目錄

  • 數字圖像處理——第五章 圖像復原與重建
    • 寫在前面
    • 1 圖像退化/復原過程的模型
    • 2 噪聲模型
      • 2.1 高斯噪聲
      • 2.2 椒鹽噪聲
    • 3 僅有噪聲的復原——空間濾波
      • 3.1 均值濾波器
      • 3.2 統計排序濾波器
      • 3.3 自適應濾波器
    • 4 用頻率域濾波消除周期噪聲
    • 5 逆濾波和維納濾波

寫在前面

圖像退化:圖像在形成、記錄、處理和傳輸過程中,由于成像系統、記錄設備、傳輸介質和處理方法的不完善,導致圖像質量的下降。

圖像增強:旨在改善圖像質量,提高圖像的可懂度,更偏向主觀判斷。即要突出所關心的信息,滿足人的視覺系統,具有好的視覺效果。

圖像復原:根據圖像畸變或退化的原因,進行模型化處理,將質量退化的圖像重建或恢復到原始圖像。即恢復退化圖像的本來面目,忠于原圖像,因此必須根據一定的圖像退化模型來進行圖像復原。

圖像復原技術主要是以預先確定的目標來改善圖像,與之前我們學習的圖像增強相比,雖然有重疊之處,但是圖像增強主要是一個主觀過程,而圖像復原大部分是一個客觀過程。圖像復原試圖利用退化現象的某種先驗知識來復原被退化的圖像。因此,復原技術是面向退化模型的,并且采用相反的過程處理,以便恢復出原圖像。

1 圖像退化/復原過程的模型

圖像復原,就是通過某種方法,將退化后的圖像進行改善,盡量使復原后的圖像接近理想圖像的過程。整個退化和復原的過程可以用如下圖表示:

其中,f(x, y)表示輸入圖像,退化后的圖像用g(x, y)表示,退化過程可以分為退化函數h(x, y)以及加載在圖像上的噪聲η(x, y)表示,經過復原濾波器后便能得到復原后的圖像。通常,我們希望復原后的圖像盡可能的接近原始圖像,所以需要盡可能的知道h(x, y)和η(x, y)的信息。具體來說,在空間域中退化圖像可由下式給出:
g(x,y)=h(x,y),?代表卷積操作f(x,y)+η(x,y),?代表空間卷積操作g(x, y)=h(x, y) ,\star代表卷積操作 f(x, y)+\eta(x, y),\star代表空間卷積操作 g(x,y)=h(x,y)?f(x,y)+η(x,y)?
頻率域表示:
G(u,v)=H(u,v)F(u,v)+N(u,v)G(u, v)=H(u, v) F(u, v)+N(u, v) G(u,v)=H(u,v)F(u,v)+N(u,v)

2 噪聲模型

在圖像預處理中,圖像去噪是一個十分重要的步驟,對于后面圖像的后處理會有很大的影響。需要選擇適當的濾波技術來增強圖像。圖像噪聲是圖像信息或者像素亮度的隨機變化。它是由一些因素造成的圖像信號的退化。圖像通常會包含很多噪聲,這樣的圖像一般表現為:圖像越亮的區域,噪聲越多。噪聲的本質是真實信號與理想信號之間存在的偏差,由于在圖像的獲取、傳輸和存儲過程中,受到各種噪聲的干擾和影響,圖像的質量會有不同程度的下降。

2.1 高斯噪聲

高斯噪聲是指它的概率密度函數服從高斯分布(即正態分布)的一類噪聲。高斯噪聲信號x的概率密度函數如下:
p(x)=12πσe?(x?μ)2/2σ2,其中μ表示噪聲x均值或期望值,σ表示噪聲x的標準差p(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-(x-\mu)^{2} / 2 \sigma^{2}},其中\mu表示噪聲x均值或期望值,\sigma表示噪聲x的標準差 p(x)=2π?σ1?e?(x?μ)2/2σ2μxσx
特殊情況的高斯圖像如下圖所示:可自己編寫函數實現

def draw_gaussian(x, mu, sigma):return np.exp(-1*(((x - mu)**2) / (2*sigma**2))) / (np.sqrt(2*np.pi) * sigma)

接著代碼實現下給原圖加上高斯噪聲,步驟大概如下:首先將圖片轉成灰度圖,然后確定噪聲點數量,最后隨機生成噪聲點在圖中的坐標,然后將該點處的灰度值設置成255,具體代碼如下:

def addGaussianNoise(image, G_NoiseNum):# 不copy原圖會被污染G_Noiseimg = image.copy()# 噪點數量for i in range(G_NoiseNum):# 隨機生成坐標temp_x = np.random.randint(0, G_Noiseimg.shape[0])temp_y = np.random.randint(0, G_Noiseimg.shape[1])G_Noiseimg[temp_x][temp_y] = 255return G_Noiseimg

2.2 椒鹽噪聲

椒鹽噪聲也稱泊松噪聲。,一般是由圖像傳感器、傳輸信道及解碼處理等產生的黑白相見的亮暗點噪聲,椒鹽噪聲常由圖像切割產生。椒鹽噪聲是指兩種噪聲: 椒鹽噪聲 = 椒噪聲 + 鹽噪聲鹽噪聲一般是白色噪聲,椒噪聲一般是黑色噪聲,前者高灰度噪聲,后者屬于低灰度噪聲,一般兩種噪聲同時出現,呈現在圖像上就是黑白雜點

生成椒鹽噪聲的步驟如下:首先讀取圖片,然后確定噪聲點的數量,最后隨機生成噪聲點在圖中的坐標,隨機定義01生成器,當結果為0代表生成椒噪聲,結果為1表示鹽噪聲,代碼如下:

def salt_pepperNoise(img, noiseNum):image = img.copy()ndim = src.ndimrow, col = src.shape[0:2]for i in range(noiseNum):x = np.random.randint(0, row)y = np.random.randint(0, col)# 0-salt, 1-peppersalt_or_pepper = np.random.randint(0, 2)if salt_or_pepper == 0:image[x, y, :] = 0else:image[x, y, :] = 255return image

實驗結果如下所示,和上述高斯噪聲不一樣的地方在于高斯噪聲讀取的圖片為灰度圖,此次的椒鹽噪聲用的則是RGB的彩色圖像,其實都可以.代碼上就是image[x, y, :]和image[x, y]的區別,彩色圖像多一個維度。

由上圖可以看出,圖像模擬添加椒鹽噪聲是通過隨機獲取像素值點并設置為高亮點來實現的。

3 僅有噪聲的復原——空間濾波

當一幅圖像中唯一存在的退化是噪聲時,上述的空間域和時間域公式為:
g(x,y)=f(x,y)+η(x,y)g(x, y)=f(x, y)+\eta(x, y) g(x,y)=f(x,y)+η(x,y)

G(u,v)=F(u,v)+N(u,v)G(u, v)=F(u, v)+N(u, v) G(u,v)=F(u,v)+N(u,v)

在這種情況下,使用空間濾波來降低噪聲。

3.1 均值濾波器

均值濾波器有分很多種類,比如算數均值濾波器
f^(x,y)=1mn∑(s,t)∈Sxyg(s,t)\hat{f}(x, y)=\frac{1}{m n} \sum_{(s, t) \in S_{xy}} g(s, t) f^?(x,y)=mn1?(s,t)Sxy??g(s,t)
這是最簡單的均值濾波器。令S表示中心在點(x, y)處、大小為m×n的矩形子圖像窗口(鄰域)的一組坐標。算術均值濾波器在S定義的區域中計算被污染圖像g(x,y)的平均值。在點(x, y)處復原圖像f_hat的值。這個操作可以使用大小為m×n的一個空間濾波器來實現,其所有的系數均為其值的1/m×n。均值濾波平滑一幅圖像中的局部變化,雖然模糊了結果,但降低了噪聲。

幾何均值濾波器
f^(x,y)=[∏(s,t)∈Sxyg(s,t)]1mn\hat{f}(x, y)=\left[\prod_{(s, t) \in S_{x y}} g(s, t)\right]^{\frac{1}{m n}} f^?(x,y)=???(s,t)Sxy??g(s,t)???mn1?
其中,每個復原的像素由子圖像窗口中像素的乘積的1/m×n 次冪給出。

諧波均值濾波器
f^(x,y)=mn∑(s,t)∈Sxy1g(s,t)\hat{f}(x, y)=\frac{m n}{\sum_{(s, t) \in S_{x y}} \frac{1}{g(s, t)}} f^?(x,y)=(s,t)Sxy??g(s,t)1?mn?
諧波均值濾波器對于鹽粒噪聲效果較好,但不適用于胡椒噪聲。它善于處理像高斯噪聲那樣的其他噪聲。

逆諧波均值濾波器
f^(x,y)=∑(s,t)∈Syyg(s,t)Q+1∑(s,t)∈Sxg(s,t)Q\hat{f}(x, y)=\frac{\sum_{(s, t) \in S_{y y}} g(s, t)^{Q+1}}{\sum_{(s, t) \in S_{x}} g(s, t)^{Q}} f^?(x,y)=(s,t)Sx??g(s,t)Q(s,t)Syy??g(s,t)Q+1?
其中Q稱為濾波器的階數。這種濾波器適合減少或在實際中消除椒鹽噪聲的影響。當Q值為正時,該濾波器消除胡椒噪聲;當Q值為負時,該濾波器消除鹽粒噪聲。但它不能同時消除這兩種噪聲。注意,當Q=0時,逆諧波均值濾波器簡化為算術均值濾波器;而當Q=-1時,則為諧波均值濾波器。

添加噪聲代碼上面有,均值濾波器調用OpenCV代碼如下,其中cv2.blur的參數為原圖像,核的大小。

# 分別實現濾波
# 使用7×7的濾波器
img_mean = cv2.blur(img, (7, 7))
gaussian_mean = cv2.blur(out1, (7,7))
salt_pepper_mean = cv2.blur(out2, (7,7))

由實驗可知,經過均值濾波器后,圖片變模糊,但同樣也減弱了噪聲的影響。均值濾波器對椒鹽噪聲處理結果較好,對高斯噪聲處理結果較差。

3.2 統計排序濾波器

順序統計濾波器的響應是基于由濾波器包圍的圖像區域中像素點的排序,任一點的響應由排序結果決定。也包含好幾種:中值濾波
f^(x,y)=median?(s,t)∈Sn{g(s,t)}\hat{f}(x, y)=\operatorname{median}_{(s, t) \in S_{n}}\{g(s, t)\} f^?(x,y)=median(s,t)Sn??{g(s,t)}
如其名稱所暗示的那樣,它使用一個像素鄰域中的灰度級的中值來替代該像素的值。中值濾波同樣也需要一卷積核、與卷積濾波不同的是,它不會用卷積核的每個系數與對應的像素值做算術計算,而是把對應的像素值做排序,取中間值作為輸出。

既然核心是排序,除了中值,必然還有頭和尾,也就是最大值和最小值濾波器
f^(x,y)=max?(s,t)∈Sxy{g(s,t)}\hat{f}(x, y)=\max _{(s, t) \in S_{xy}}\{g(s, t)\} f^?(x,y)=(s,t)Sxy?max?{g(s,t)}

f^(x,y)=min?(s,t)∈Sxy{g(s,t)}\hat{f}(x, y)=\min _{(s, t) \in S_{xy}}\{g(s, t)\} f^?(x,y)=(s,t)Sxy?min?{g(s,t)}

中值濾波可以抑制椒鹽噪聲;
最大值濾波可以填充小的閉合區域以及狹窄的間斷;
最小值濾波可以去除小的圖像噪聲或者圖像元素對象的大小絲黏連)
或者抑制圖像像素極小值與極大值最大值最小值濾波)。

3.3 自適應濾波器

自適應濾波器的行為變化基于由m×n矩形窗口Sxy定義的區域內圖像的統計特性,它的性能要明顯優于前面介紹的濾波器,代價是濾波器的復雜度。濾波器作用于局部區域Sxy,濾波器在中心化區域中任何點(x,y)上的濾波器響應基于以下4個量:

  • g(x, y)表示噪聲圖像在點(x, y)上的值
  • 干擾f(x, y)以形成g(x, y)的噪聲方差
  • 在Sxy上像素點的局部均值
  • 在Sxy上像素點的局部方差

4 用頻率域濾波消除周期噪聲

頻率域技術濾除周期噪聲可行的原因是周期噪聲在對應于周期干擾的頻率處,以集中的能量脈沖形式出現。濾除的方法之一是選擇性濾波器(帶阻、帶通和陷波)。

  • 帶阻濾波器

    它的主要應用之一是在頻率域噪聲成分的一般位置近似一直的應用中消除噪聲。

  • 帶通濾波器

    它執行與帶阻濾波器相反的操作。

  • 陷波濾波器

    阻止(或通過)事先定義的中心頻率鄰域內的頻率。

5 逆濾波和維納濾波

對如下公式:
G(u,v)=H(u,v)F(u,v)+N(u,v)G(u, v)=H(u, v) F(u, v)+N(u, v) G(u,v)=H(u,v)F(u,v)+N(u,v)

如果不存在噪聲,則上面的式子可以簡化為:
G(u,v)=H(u,v)F(u,v)G(u, v)=H(u, v) F(u, v) G(u,v)=H(u,v)F(u,v)

我們將1/H(u, v)稱為逆濾波器。逆濾波復原步驟:
(1) 對退化圖像g(x,y)作二維離散傅里葉變換,得到G(u,v);
(2) 計算系統點擴散函數(即退化函數)h(x,y)的二維離散傅里葉變換,得到H(u,v);
(3) 逆濾波計算F(u,v) = G(u,v)/H(u,v)
(4) 計算F(u,v)的逆傅里葉變換,求得f(x,y)

對于維納濾波,也叫最小均方誤差濾波,是一種建立在最小化統計準則的基礎上的復原方法,在平均意義上,它可以看成是最優的。維納濾波綜合了退化函數和噪聲統計特征兩個方面進行復原處理,在認為圖像和噪聲是隨機過程的基礎上,以恢復圖像和原圖像的均方誤差最小為準則。維納濾波用來去除含有噪聲的模糊圖像,其目標是找到未污染圖像的一個估計,使它們之間的均方差最小,可以去除噪聲,同時清晰化模糊圖像:
e2=E{(f?f^)2}e^{2}=E\left\{(f-\widehat{f})^{2}\right\} e2=E{(f?f?)2}
通過實驗了解下維納濾波的復原效果,效果如下:

代碼如下:

from scipy.signal import wiener
import cv2
import numpy as np
import matplotlib.pyplot as pltdef gasuss_noise(image, mean=0, var=0.008):'''添加高斯噪聲mean : 均值var : 方差'''image = np.array(image/255, dtype=float)noise = np.random.normal(mean, var ** 0.5, image.shape)out = image + noiseif out.min() < 0:low_clip = -1.else:low_clip = 0.out = np.clip(out, low_clip, 1.0)out = np.uint8(out*255)return outif __name__ == '__main__':lena = cv2.imread(r' ') # filepathif lena.shape[-1] == 3:lenaGray = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)else:lenaGray = lena.copy()plt.figure(dpi = 180)plt.subplot(131)plt.title("原圖")plt.imshow(lenaGray, cmap='gray')# 添加高斯噪聲lenaNoise = gasuss_noise(lenaGray)plt.subplot(132)plt.title("高斯噪聲")plt.imshow(lenaNoise, cmap='gray')# 維納濾波lenaNoise = lenaNoise.astype('float64')lenaWiener = wiener(lenaNoise, [3, 3])lenaWiener = np.uint8(lenaWiener / lenaWiener.max() * 255)plt.subplot(133)plt.title("維納濾波")plt.imshow(lenaWiener, cmap='gray')plt.tight_layout()plt.show()lenaNoise.astype('float64')lenaWiener = wiener(lenaNoise, [3, 3])lenaWiener = np.uint8(lenaWiener / lenaWiener.max() * 255)plt.subplot(133)plt.title("維納濾波")plt.imshow(lenaWiener, cmap='gray')plt.tight_layout()plt.show()

本章中的復原結果都是有前提的,即圖像退化可建模為一個線性的、位置不變的過程,以及與圖像值不相關的加性噪聲。就像在第3章和第4章中那樣,一定的復原任務,譬如降低隨機噪聲,是在空間域中使用卷積模板來執行的。我們也發現頻率域對于降低周期性噪聲和對于某些重要的退化建模是很理想的,如在圖像獲取期間因為運動導致的模糊。我們還發現,對于表達復原濾波器來說,頻率域也是很有用的工具,如維納濾波器和約束最小二乘方濾波器。

總結

以上是生活随笔為你收集整理的数字图像处理——第五章 图像复原与重建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。