-PR-
ITkojika

画像処理のプログラムを作成しています。参考にしている参考書は【最新MATLABハンドブック】という本です。この本を参考にして、一次元フーリエ変換のプログラムから画像処理の二次元フーリエ変換のプログラムに変更させたいのですが、fft2のところでエラーが出てしまいます。自分なりにプログラムを書き直してみたのですが、fft→fft2に関数変更する以外にもっと根本的なことが必要なのでしょうか?

作成したプログラムはこれです。
clear;close all;n=256;dt=0.005;
t=((1:n)-1)*dt;
f=t/dt/dt/n;n2=n/2;n2p1=n2+1;
X=imread('001.bmp');
X=rgb2gray(X);
X=double(X);
[m,n]=size(X);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%calc corresponding index number
F=50;
index=round(F*dt*n+1);index1=(index-1):(index+1);
index2=n+2-index1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%band elminate filter
befil=ones(size(X));
befil(index1)=zeros(size(index1));
befil(index2)=zeros(size(index2));
Y=fft2(X);    ←ここでエラーが出ます。
subplot(2,2,1)
plot(f,abs(Y)/n2,'r');axis([0 f(n2p1) 0 1])
xlabel('Frequency (Hz)'),ylabel('Magnitude');
title('Original Signal in freq domain');
%%Now apply fft filter in freq domain
fftX=fftX.*befil;
subplot(2,2,3)
plot(f,abs(Y)/n2,'r');axis([0 f(n2p1) 0 1])
xlabel('Frequency (Hz)'),ylabel('Magnitude');
title('filtered Signal in freq domain');
subplot(2,2,2)
imaagesc(X),colormap(gray),axis tight;
subplot(2,2,4)
imagesc(real(ifft2(Y))),colormap(gray),axis tight;

画像の一部分の情報のみを欠落させたいのです。そのためにはバンドエルミネーションフィルタと思ったのですが…もし違うようならご指摘をお願いします。ちなみに001.bmpはカラー画像です。
  • 回答数2
  • 気になる数0
  • Aみんなの回答(全2件)

    質問者が選んだベストアンサー

    • 2007-06-30 00:10:32
    • 回答No.2
    これの可能性が高いと思います。
    http://www.cybernet.co.jp/matlab/support/techkwdb/search_view.php?id=1560
    そこに書いてあるように、
    which fft2
    とかしてどのmファイルが実行されているか調べてください。
    もしくは、
    edit fft2
    として、20行目を見てみてください。
    お礼コメント
    解決しました!
    ありがとうございます。
    実に簡単なことに、ファイル名をfft2にしていたことが問題でした。
    投稿日時 - 2007-07-02 08:05:59
    • ありがとう数0
    -PR-
    -PR-

    その他の回答 (全1件)

    • 2007-06-28 23:09:53
    • 回答No.1
    なんでエラーなのかエラーメッセージがでると思いますが。 ...続きを読む
    なんでエラーなのかエラーメッセージがでると思いますが。
    補足コメント
    エラーメッセージは

    ??? Attempt to execute SCRIPT fft2 as a function.

    エラー ==> fft2 at 20
    Y=fft2(X);

    と出ます。
    なんでエラーなのか詳しいことまでは,この文では分かりかねます…。
    投稿日時 - 2007-06-29 14:21:30
    • ありがとう数0
    • 回答数2
    • 気になる数0
    • ありがとう数1
    • ありがとう
    • なるほど、役に立ったなど
      感じた思いを「ありがとう」で
      伝えてください
    • 質問する
    • 知りたいこと、悩んでいることを
      投稿してみましょう
    こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
    このQ&Aにはまだコメントがありません。
    あなたの思ったこと、知っていることをここにコメントしてみましょう。

    関連するQ&A

    -PR-
    -PR-

    その他の関連するQ&Aをキーワードで探す

    別のキーワードで再検索する
    -PR-
    -PR-
    -PR-

    特集


    成功のポイントとは?M&Aで経営の不安を解決!

    -PR-

    ピックアップ

    -PR-
    ページ先頭へ