メモ①

// FFTを行うために、ImageJのFFTプラグインをインポートします
import ij.plugin.FFT;

// フォルダ内の画像をすべて取得するために、ImageJのFileInfoクラスをインポートします
import ij.io.FileInfo;

// 画像を表示するために、ImageJのImagePlusクラスをインポートします
import ij.ImagePlus;

// マクロ開始

// 指定されたフォルダパス
String path = "C:\myfolder\images";

// フォルダ内の画像を取得します
FileInfo[] info = ij.io.Opener.getFileInfo(path);

FFT fft = new FFT();

// 画像を保存するためのImagePlusオブジェクトを作成します
ImagePlus img = new ImagePlus();

for (int i = 0; i < info.length; i++) {
// 画像を読み込みます
img = ij.io.Opener.openImage(info[i]);

// FFTを実行します
fft.run(img);

// FFT画像を取得します
ImagePlus fftImage = fft.getFFTImage();

// pixごとの和をとった画像を出力します
img.setProcessor(fftImage.getProcessor().convertToFloat().add(fftImage.getProcessor()));

// 一番外側のピクセルの輝度を取得します
float outerPixelBrightness = img.getProcessor().getPixelValue(0, 0);

// 和を取った画像のFFT画像を取得します
fft.run(img);
ImagePlus addFFTImage = fft.getFFTImage();

// 和を取ったFFT画像の和を取ります
img.setProcessor(addFFTImage.getProcessor().convertToFloat().add(addFFTImage.getProcessor()));

// 和を取ったFFT画像の和を元に逆FFTを実行します
fft.inverseFFT();

// 逆FFT画像を出力します
img.show();
}

いいなと思ったら応援しよう!