2014-02-12 67 views
0

我想計算一個算法在Matlab中的維納過濾出一個未知的點擴散函數給定一個帶有點擴散函數和原始圖像的噪聲圖像卷積沒有噪音。我對Matlab相當陌生,我試圖在網上關注一些代碼,所以有些事情我還沒有完全理解,所以我爲我的任何無知做了appologise。維納濾波; Matlab錯誤:'結構'類型的輸入參數的未定義函數'減'

我有數組:

for i=1:length(K) 
H=fft2(img,599,599); 
W=conj(H)./((abs(H).^2)+K(i)); 
G=fft2(NC2); 
RW=W.*G; 
RWfinal=uint8(ifft2(RW)); 
error=uint8(img)-RWfinal; 
errorVect(i)=mean(error(:))^2; 
end 

NC2 =與噪聲(599x599)

IMG =原始圖像(300×300)

我有以下代碼卷積圖像我知道RWfinal是一個標量結構,因此如何在結構格式中應用減號操作?

+0

不應該是'uint8'而不是'uint'嗎? –

+0

另外,減法中的第一項不是結構。如果second是一個結構,你可能想從uint(img)中減去一個結構的特定字段。你不能減去一個結構和一個非結構。如果你想在不訪問各個字段的情況下減去兩個結構,可以使用'structfun'。你將不得不提供進一步的信息,以便能夠更確切地說出任何事情。 –

+0

是的,它應該是uint8 ...一直盯着電腦屏幕幾個小時,也許我應該休息一下!謝謝@Parag –

回答

0
uint must be replaced with uint8 
相關問題