我有兩個圖像,一個是退化的,一個是原始圖像的一部分。我需要使用第二張圖片來增強第一張圖片,並且我需要在frequency domain中執行此操作。我從降級的圖像中截取同一區域,進行FFT,並嘗試計算傳遞函數,但是當我將該函數應用於圖像時,結果非常糟糕。使用MATLAB的圖像去模糊
所以我試着h=fspecial('motion',9,45);
是我的傳遞函數,然後用下面給出的代碼重建圖像。
im = imread('home_degraded.png');
im = rgb2gray(im);
h = fspecial('motion',9,45);
H = zeros(519,311);
H(1:7,1:7) = h;
Hf = fft2(H);
d = 0.02;
Hf(find(abs(Hf)<d))=1;
I = ifft2(fft2(im)./Hf);
imshow(mat2gray(abs(I)))
我現在有兩個問題:
怎樣才能通過使用小矩形(我的意思是不使用
h=fspecial('motion',9,45);
)的傳遞函數?我可以使用什麼方法從增強圖像中去除噪點?
我是否正確地認爲黑色方塊是在模糊之前添加的「基本事實」,因此您可以從清晰圖像中獲得可靠的PSF?還有什麼其他假設在這裏發揮作用?你運動模糊了圖像,使其模糊,或只是使用像平均過濾器? – Bill
@Bill前兩張圖片給我(模糊一個和真正的正方形),我需要增強圖像。問題是我沒有能夠從廣場生成傳遞函數(真實和模糊的一個)所以我做了一個假設並且定義了h = fspecial('motion',9,45);成爲我的psf,工作挺好,因爲右側的增強圖像具有完美的正方形,但它有很多噪音。我怎樣才能擺脫那個或如何使用小方塊來生成傳遞函數。 – extirpation