2013-04-04 57 views
2

我是Matlab新手,我嘗試使用Matlab中的小波工具箱。我希望在輸入圖像上使用undecimated小波變換來創建一系列圖像。但我想知道如何得到每個級別的小波變換的結果?使用Matlab對圖像不進行小波變換

我在程序中使用的功能是

WTSource = ndwt2(Source, n, 'db1'); 

其中source是輸入圖像,n爲transformatino和「DB1」,或哈爾變換的電平,用於產生圖像。

我以爲WTSource.dec是結果圖像,但我發現WTSource.dec中的元素大小與輸入圖像不同。隨着n的增加,圖像變大。所以我想知道如何獲得轉化的結果圖像以備後用?

回答

1

如果你看一下文檔
http://www.mathworks.nl/help/wavelet/ref/ndwt2.html
您的命令後:

WTSource= ndwt2(Source,n,'db1'); 

輸出WTSource是一個包含所有這些字段的字段dec的記錄。

癸{1}        近似級別n
癸{2:4}        細節級別n-1(信道LH,HL,HH)
癸{5:7}        詳細度的n-2(信道LH,HL,HH)
  ...
癸{3N-1:3N + 1}  詳細級別1  (通道LH,HL,HH)

dec的每個元素與您的輸入圖像大小相同。

參見:
http://www.mathworks.nl/products/wavelet/examples.html?file=/products/demos/shipping/wavelet/ndwtdemo.html

+0

謝謝你對我的幫助。但是,我仍然發現尺寸是不同的。例如,在您提供的演示'Multilevel 1-D Non-Decimated Wavelet Decomposition'中,我們可以看到在結構WT中,成員'longs'是[984 984 983 982 981 980 979]。當圖像被視爲輸入時,尺寸也是不同的。我仍然在想。 – Timothy 2013-04-11 02:21:24

+0

,這與擴展模式有關(參見http://www.mathworks.nl/help/wavelet/ref/ndwt.html然後指向http://www.mathworks.nl/help/wavelet/ref/ dwtmode.html)。當你使用db1/Haar小波時,信號只需要在1點/電平處延伸。 – 2013-04-22 14:44:56

+0

非常感謝你幫助我,現在我知道現在發生了什麼。 – Timothy 2013-04-23 02:26:38