こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

マットラボについて

matlab で fft2 を用いて変換してぼやかすはずが、画像自体にも波形みたいなノイズらしきものがでました。輪郭あたりをぼやかしたいのにもかかわらず、どうして白い画像の中にも波形みたいに明暗があるのでしょうか?ほかにも同じような事例がありましたら、教えていただきたいです。
よろしくお願いします。
プログラム自体は下記のような感じです。
clear all
Img=imread('C:\Users\Owner\Desktop\1.bmp');
ImgG=double((0.299*Img(:,:,1)+0.687*Img(:,:,2)+0.114*Img(:,:,3))/3); % Xの倍精度値を出力
ImgG=ImgG/max(max(ImgG));
[xsize,ysize]=size(ImgG); % 2の累乗

[B,A] = butter(2,8000/10000,'low'); %N次のローパスフィルタ Wnはカットオフ周波数0と1の間の数 ローパスフィルタを設計
Fsize = filter(B, A,Fsize);
ImgFFT=fft2(ImgG);
ImgFFT=fftshift(ImgFFT);
filter2D=zeros(xsize,ysize); %Xサイズ×yサイズの0の行列
filter2D(xsize/2-Fsize:xsize/2+Fsize, ysize/2-Fsize:ysize/2+Fsize)=1;
result=filter2D.*ImgFFT;
ImgIFFT=ifft2(result);
ImgIFFT=sqrt(ImgIFFT.*conj(ImgIFFT));
ImgOut=ImgIFFT/max(max(ImgIFFT));

colormap('gray');figure(1), imagesc(uint8(ImgG*256.0))
colormap('gray');figure(2), imagesc(uint8(abs(ImgFFT)))
colormap('gray');figure(3), imagesc(uint8(abs(result)));colormap('gray');
figure(4),imagesc(uint8(ImgOut*256.0));colormap('gray');

imwrite(imagesc(uint8(ImgOut*256.0)),'C:\Users\Owner\Desktop\1.bmp','bmp');

投稿日時 - 2012-01-13 09:34:56

QNo.7241544

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

あまりコード見てませんが、画像サイズの繰返し周波数でも出ているのでは?
画像に輪郭ありますか?

投稿日時 - 2012-01-13 12:24:26

あなたにオススメの質問