-PR-

解決済みの質問

質問No.3122606
困ってます
困ってます
お気に入り投稿に追加する (0人が追加しました)
回答数2
閲覧数1059
MATLABで二次元フーリエ変換
画像処理のプログラムを作成しています。参考にしている参考書は【最新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はカラー画像です。
投稿日時 - 2007-06-28 12:56:36

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

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

ベストアンサー以外の回答 (1)

回答No.1
なんでエラーなのかエラーメッセージがでると思いますが。
投稿日時 - 2007-06-28 23:09:53
この回答を支持する
(現在1人が支持しています)
補足
エラーメッセージは

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

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

と出ます。
なんでエラーなのか詳しいことまでは,この文では分かりかねます…。
投稿日時 - 2007-06-29 14:21:30
この質問は役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
もっと聞いてみる

関連するQ&A

  • question

    マットラボについてmatlab で fft2 を用いて変換してぼやかすはずが、画像自体にも波形みたいなノイズらし...

  • question

    MATLABについてです画像処理に使うMATLABについてです。 MATLABでimagescを使って、データを画像...

  • question

    MATLABの参考書MATLABを使いこなすために、良い参考書を探しています。 「行列の使いこなし方」、「研究で使...

  • question

    matlabでのFFTmatlabで信号処理を学んでいます。現在はFFTを使って信号処理をしているのですが、パワース...

  • question

    MATLABでFFTを行うにはこんばんは。 ある信号のスペクトラムを解析したいと考えています。 MATLABを用いてそれを...

  • question

    MATLABによるFFTと位相スペクトルについて純粋な正弦波信号 y=sin2πft ただし周波数f=500MHz をサンプリング...

  • question

    MATLABによるFFTMATLABのfft関数を使用して,フーリエ変換してPSDを算出すると,スペクトルの周波数領域...

  • question

    MATLABを用いたFFT現在40kHzの正弦波をMATLABを用いてFFTをかけましたがしかし思った結果になりません。...

  • question

    MATLABのグラフの書き方についてMATLABでfftをかけてその結果をグラフに出力したいのです。標本数は64個でグラフに出力し...

  • question

    MATLABでのFFTについてMATLAB という汎用数値解析プログラムを使って、人でとった心電図のRR間隔の周波数解析を試...

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

同じカテゴリの人気Q&Aランキング

-PR-
-PR-

特集

背筋がゾクゾクする心霊体験を要チェック!

お城、ボート、ツリーハウス、ユニークな物件満載!

【期間限定】1ヶ月無料キャンペーン中!

同じカテゴリの人気Q&Aランキング

-PR-

ピックアップ

-PR-