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

歡迎訪問 生活随笔!

生活随笔

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

生活经验

数字图像处理——第七章 小波和多分辨处理

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

數字圖像處理——第七章 小波和多分辨率處理

文章目錄

  • 數字圖像處理——第七章 小波和多分辨率處理
    • 寫在前面
    • 1 多分辨率處理
      • 1.1 圖像金字塔
      • 1.2 多尺度和多分辨率的區別
    • 2 小波
      • 2.1 連續小波變換
      • 2.2 離散小波變換
    • 3 python×小波
      • 3.1 python小波變換
      • 3.2 python小波去噪

寫在前面

先理解下兩個概念,小波和多分辨率。

小波是指小區域、長度有限、均值為0的波形。小是指信號具有衰減性,波指信號具有波動性。

小波變換類似于傅里葉變換,都是把函數用一組正交基函數展開,選取不同的基函數給出不同的變換。例如傅里葉變換,選擇的是sin和cos;而小波變換,選取基函數的方式更加靈活,可以根據要處理的數據的特點(比如某一段上信息量比較多),在不同尺度上采用不同的頻寬來對已知信號進行分解,從而盡可能保留多一點信息,同時又避免了原始傅里葉變換的大計算量。

分辨率通俗理解為圖像的像素點個數,也就是圖片的大小,例如1920×1080。當我們觀察圖像時,通常我們看到的是相似的紋理和灰度級連成的區域,它們相結合形成了物體。如果物體的尺寸較小或對比度較低,那么我們通常以較高的分辨率來研究它們;如果物體的尺寸較大或對比度較高,則只要求粗略的觀察就足夠了。如果較小物體和較大物體一或 對比度較低和對比度較高的物體同時存在,以不同的分辨率對它們進研究將具有優勢。

1 多分辨率處理

1.1 圖像金字塔

以多個分辨率來表示圖像的一種有效且概念簡單的結構是圖像金字塔圖像金字塔最初用于機器視覺和圖像壓縮,一個圖像金字是一系列以金字塔形狀排列的、分辨率逐步降低的圖像集合。圖像金字塔可以通過梯次向下采樣獲得,直到達到某個終止條件才停止采樣,在向下采樣中,層級越高,則圖像越小,分辨率越低。

OpenCV實現了用于創建圖像金字塔的兩個函數pyrDown()和pryUp()

  • pyrDown()

    先對圖像進行高斯平滑,然后再進行降采樣(將圖像尺寸行和列方向縮減一半)

  • pryUp()

    先對圖像進行升采樣(將圖像尺寸行和列方向增大一倍),然后再進行高斯平滑

代碼如下:

import cv2
import matplotlib.pyplot as plt
import numpy as np 
img = cv2.imread("  ")
img = img[:, :, [2, 1, 0]]lower = cv2.pyrDown(img)
lower1 = cv2.pyrDown(lower)
higher = cv2.pyrUp(lower1)
higher1 = cv2.pyrUp(higher)plt.figure(dpi = 180)plt.subplot(151)
plt.imshow(img)
plt.title(str(img.shape[0:2]))plt.subplot(152)
plt.imshow(lower)
plt.title(str(lower.shape[0:2]))plt.subplot(153)
plt.imshow(lower1)
plt.title(str(lower1.shape[0:2]))plt.subplot(154)
plt.imshow(higher)
plt.title(str(higher.shape[0:2]))plt.subplot(155)
plt.imshow(higher1)
plt.title(str(higher1.shape[0:2]))plt.tight_layout()
plt.show()

在早些年的目標檢測中,很多網絡都利用單個高層特征,比如說Faster R-CNN利用下采樣四倍的卷積層Conv4,進行后續的物體的分類和bounding box的回歸。但是這樣做有一個明顯的缺陷,即小物體本身具有的像素信息較少,在下采樣的過程中極易被丟失,所以就有了利用圖像金字塔的方式進行多尺度變化增強。然后進一步就有了特征金字塔的網絡結構,能在增加極小的計算量的情況下,處理好物體檢測中的多尺度變化問題。

1.2 多尺度和多分辨率的區別

這個問題還沒研究透徹,一時沒有很好的說法,之后會繼續添加新的理解。

多分辨率就是上述的圖像金字塔。圖像金字塔我理解成:解決多尺度問題?

2 小波

φa,b(t)=1aφ(t?ba)\varphi_{a, b}(t)=\frac{1}{\sqrt{a}} \varphi\left(\frac{t-b}{a}\right) φa,b?(t)=a?1?φ(at?b?)

其中,a被稱為縮放參數,b被稱為移動或位置參數。從公式可以看出,小波主要進行縮放和平移兩個操作。縮放:壓縮或伸展基本小波,縮放系數越小,小波越窄。
平移:小波的延遲或超前。
小波的縮放因子越小,小波越窄,信號的頻率越高,度量信號的細節變化。
小波的縮放因子越大,小波越寬,信號的頻率越低,度量信號的粗糙程度。

2.1 連續小波變換

小波變換是一種新的變換分析方法,它繼承和發展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點,能夠提供一個隨頻率改變的“時間-頻率”窗口,是進行信號時頻分析和處理的理想工具。與傅里葉變換不同,小波變換的主要要素是不同縮放和不同位置的小波。通過縮放母小波的寬度來獲得信號的頻率信息,通過平移母小波的位置來獲得信號的時間信息。

將任意L2(R)空間中的函數f(t)在小波基下展開,稱這種展開為函數f(t)的連續小波變換(CWT)。其表達式為:
WTf(a,τ)=<f(t),ψa,r(t)>=1a∫Rf(t)ψ?(t?τa)dtW T_{f}(a, \tau)=<f(t), \psi_{a, r}(t)>=\frac{1}{\sqrt{a}} \int_{R} f(t) \psi^{*}\left(\frac{t-\tau}{a}\right) d t WTf?(a,τ)=<f(t),ψa,r?(t)>=a?1?R?f(t)ψ?(at?τ?)dt

2.2 離散小波變換

對于連續小波而言,尺度a、時間t和與時間有關的偏移量τ都是連續的。如果利用計算機計算,就必須對它們進行離散化處理,得到離散小波變換。為了減小小波變換系數的冗余度,我們將小波基函數:
ψa,τ(t)=1aψ(t?τa)\psi_{a, \tau}(t)=\frac{1}{\sqrt{a}} \psi\left(\frac{t-\tau}{a}\right) ψa,τ?(t)=a?1?ψ(at?τ?)
的a、τ限定在一些離散的點上取值。然后進行尺度的離散化和位移的離散化。離散小波變換的定義為:
WTf(a0j,kτ0)=∫f(t)ψa0j,k0?(t)dt,j=0,1,2,…,k∈ZW T_{f}\left(a_{0}^{j}, k \tau_{0}\right)=\int f(t) \psi_{a_{0}^{j}, k_{0}}^{*}(t) d t, j=0,1,2, \ldots, k \in Z WTf?(a0j?,kτ0?)=f(t)ψa0j?,k0???(t)dt,j=0,1,2,,kZ

3 python×小波

3.1 python小波變換

pywt.dwt2()

  • 二維小波變換(一維和n維類似):單層變換
  • return:(cA, (cH, cV, cD))要注意返回的值,分別為低頻分量,水平高頻,垂直高頻,對角線高頻。高頻的值包含在一個tuple中。

代碼如下:

import numpy as np
import pywt
import cv2
import matplotlib.pyplot as pltimg = cv2.imread("   ")
img = cv2.resize(img, (448, 448))
# 將多通道圖像變為單通道圖像
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY).astype(np.float32)plt.figure('二維小波一級變換')
coeffs = pywt.dwt2(img, 'haar')
cA, (cH, cV, cD) = coeffs# 將各個子圖進行拼接,最后得到一張圖
AH = np.concatenate([cA, cH], axis=1)
VD = np.concatenate([cV, cD], axis=1)
img = np.concatenate([AH, VD], axis=0)# 顯示為灰度圖
plt.imshow(img,'gray')
plt.title('result')
plt.show()

在拼接子圖之前,應該先對各個子圖進行處理。未處理的情況下,因為高頻部分的像素值極小甚至小于0,所以高頻區域呈黑色。

3.2 python小波去噪

圖像和噪聲在經小波變換后具有不同的統計特性:圖像本身的能量對應著幅值較大的小波系數,主要集中在低頻部分;噪聲能量則對應著幅值較小的小波系數,并分散在小波變換后的所有系數中。基于此可設置一個合適的閾值門限,認為大于該閾值的小波系數的主要成份為有用的信號,給予收縮后保留;小于該閾值的小波系數,主要成份為噪聲,予以置零剔除;然后經過閾值函數映射得到估計系數;最后對估計系數進行逆變換,就可以實現去噪和重建。去噪時,通常認為低通系數含有大量的圖像能量,一般不作處理,只對剩余三個高通部分進行處理。一次閾值去噪并不能完全去除噪聲,還需要對未作處理的低頻部分再次進行小波分解和閾值去噪,直到實際圖像與估計圖像的偏差達到最小值。但是,隨著分解和去噪次數的增加,小波系數中的噪聲能量越來越小,并且趨于分散,去噪的效果將逐漸降低。

目前,小波去噪的方法大概可以分為三大類:

第一類方法(小波變換模極大值去噪法)是利用小波變換模極大值原理去噪,即根據信號和噪聲在小波變換各尺度上的不同傳播特性,剔除由噪聲產生的模極大值點,保留信號所對應的模極大值點,然后利用所余模極大值點重構小波系數,進而恢復信號;

第二類方法(小波系數相關性去噪法)是對含噪信號作小波變換之后,計算相鄰尺度間小波系數的相關性,根據相關性的大小區別小波系數的類型,從而進行取舍,然后直接重構信號;

第三類方法(小波變換閾值去造法)是小波閾值去噪方法,該方法認為信號對應的小波系數包含有信號的重要信息,其幅值較大,但數目較少,而噪聲對應的小波系數是一致分布的,個數較多,但幅值小。

小波系數相關性去噪法)是對含噪信號作小波變換之后,計算相鄰尺度間小波系數的相關性,根據相關性的大小區別小波系數的類型,從而進行取舍,然后直接重構信號;

第三類方法(小波變換閾值去造法)是小波閾值去噪方法,該方法認為信號對應的小波系數包含有信號的重要信息,其幅值較大,但數目較少,而噪聲對應的小波系數是一致分布的,個數較多,但幅值小。

總結

以上是生活随笔為你收集整理的数字图像处理——第七章 小波和多分辨处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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