5
我有一些數據,二維矩陣,我們會打電話給A,這我知道,在理論上可以通過另一個矩陣,我們會打電話給B的自卷積來描述:2D自解卷積在MATLAB
A=conv2(B,B)
我想提取B.有沒有辦法在MATLAB中執行二維矩陣的自解卷積?任何人都可以將我指向正確的方向嗎?
我有一些數據,二維矩陣,我們會打電話給A,這我知道,在理論上可以通過另一個矩陣,我們會打電話給B的自卷積來描述:2D自解卷積在MATLAB
A=conv2(B,B)
我想提取B.有沒有辦法在MATLAB中執行二維矩陣的自解卷積?任何人都可以將我指向正確的方向嗎?
我們可以將A看作兩個變量中的多項式係數,我們希望找到一個多項式B使得B^2 = A。這種類型的計算不是Matlab設計要做的,但我認爲如果你有符號數學工具箱,你可以從A做一個符號多項式,取平方根,並將其轉換回係數矩陣。如果A的係數是嘈雜的,那麼你可以在距離A是0的幾個(x,y)點上計算A,然後計算sqrt(A),對這些值擬合一個多項式B,並從B中提取係數。 B也會工作。儘量不要選擇A爲0的曲線分隔的點,也可以混合B和-B的值。
你試過'deconvblind','deconvlucy','deconvreg'或'deconvwnr'功能嗎?只是在黑暗中拍攝。我相信這是一個相當不確定的系統,一個圖像的解卷積,很可能是不可能的,或者只能使用正則化技術和先驗信息。如果你在這裏沒有得到答案,我建議你嘗試在數學計算器stackoverflow – 2015-02-11 08:41:15
通過二維矩陣,你的意思是你有像{{1,0,0},{2,2,0},{1,2 ,1}}你想要識別爲{{1,0},{1,1}}的卷積平方? – 2015-02-11 09:29:56
理論上可以通過執行傅立葉變換找到**一個**解,通過取頻率圖像的平方根(使用sqrtm()),然後執行傅立葉逆變換。但是,您需要考慮到FFT轉換*循環*轉換爲乘法這一事實,並且我未能在MATLAB中找到直接執行DTFT的函數(因爲FFT是DTFT的樣本,這非常合理) - 所以應該以某種方式填充使用。我嘗試了幾次,並且由於最後一個問題而無法完成工作,但我認爲這是正確的方向。 – Yellows 2015-02-11 15:17:08