matlab区分卷积和相关
區(qū)分卷積和相關(guān)
圖像處理中常常需要用一個濾波器做空間濾波操作。空間濾波操作有時候也被叫做卷積濾波,或者干脆叫卷積(離散的卷積,不是微積分里連續(xù)的卷積);濾波器也有很多名字:卷積模版、卷積核、掩模、窗口等。
空間濾波可以分為線性濾波和非線性濾波。非線性濾波常見的有中值濾波、最大值濾波等,相當(dāng)于自定義一個函數(shù),在數(shù)學(xué)上由于不滿足線性變換因此叫做非線性濾波。這里不細(xì)研究它。
線性濾波則通常是:將模版覆蓋區(qū)域內(nèi)的元素,以模版中對應(yīng)位置元素為權(quán)值,進(jìn)行累加。看起來挺簡單的,但是要區(qū)分相關(guān)(cross-correlation)和卷積(convolution)兩種模式。為什么呢?因?yàn)樵贛ATLAB里是有所區(qū)分的,而且不少中文書里面把它們混淆了。
我們最容易的理解是:將模版中元素從左到右、從上到下,作為使用順序,那么卷積操作的結(jié)果,就是模版第一個元素乘以它覆蓋的元素,加上模版第二個元素乘以它覆蓋的元素,再加上模版第三個元素乘以它覆蓋的元素,...,一直加到模版最后一個元素乘以它覆蓋的元素。好吧,其實(shí)就是:模版覆蓋區(qū)域內(nèi),元素逐一相乘然后累加,此時的對應(yīng)位置就是上下投影后被覆蓋的位置。
上面這個理解確實(shí)是看起來最容易理解的,因而很多中文書把它叫做"卷積"。然而這個概念其實(shí)叫做相關(guān),而卷積則相當(dāng)于:將同樣的模版旋轉(zhuǎn)180°后,再做"相關(guān)"操作。當(dāng)然,如果模版是180°對稱的那么卷積和相關(guān)是相同的。但是并不是所有的模版都對稱。因此,我建議,在滑窗操作、計(jì)算圖像梯度等場合,不要使用“卷積”,而要使用“濾波”或者“相關(guān)”。因?yàn)?#xff0c;我們通常講的卷積,其實(shí)是相關(guān),那就不要用卷積這個詞以免引起混淆。
imfilter(f, w, filtering_mode, boundary_options, size_options)
f:圖像
w:濾波模版
filtering_mode:濾波模式 'corr':相關(guān)濾波。[默認(rèn)值] 'conv':卷積濾波。
boundary_options:邊界選項(xiàng) P:(沒有引號)邊界外圍補(bǔ)充0。[默認(rèn)值] 'replicate':邊界外圍復(fù)制邊界值 'symmetric':邊界外圍使用邊界鏡像 'circular':圖像的大小通過講圖像處理為二維周期函數(shù)的一個周期來擴(kuò)展
size_options:大小選項(xiàng) 'same':輸出大小與輸入圖像f大小相同。[默認(rèn)值] 'full':輸出與擴(kuò)展(填充)后的圖像大小相同。
總結(jié)
以上是生活随笔為你收集整理的matlab区分卷积和相关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab function的使用
- 下一篇: matlab imwrite将图像保存到