2 つの画像があります。1 つは劣化したもので、もう 1 つは元の画像の一部です。2 番目の画像を使用して最初の画像を強化する必要があり、周波数領域でこれを行う必要があります。劣化した画像から同じ領域を切り取り、その FFT を取り、伝達関数を計算しようとしましたが、その関数を画像に適用すると、ひどい結果になりました。
だから私は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)))
2 つの質問があります。
小さな長方形を使用して伝達関数を生成するにはどうすればよい
h=fspecial('motion',9,45);
ですか (つまり、を使用しないことを意味します)。強調された画像からノイズを除去するには、どのような方法を使用できますか?