0

私はimageJを初めて使用しますが、Javaは少し知っています。

基本的に、OpenDialogからファイルを開いて画像を表示し、画像をぼかして、結果のぼかした画像を表示したいと考えています。私のプログラムはコンパイルされますが、2 つの画像は同じように見えます。誰でも助けることができますか?プログラムでぼやけた画像とぼやけていない画像を表示するにはどうすればよいですか?

import ij.*;
import ij.io.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.*;
import java.util.*;
import java.io.*;


public class opens_ implements PlugIn {

    ImagePlus imp;

    public void run(String arg){
    OpenDialog od = new OpenDialog("Open.....", arg);
    Opener op = new Opener();
    String directory = od.getDirectory();
    String filename = od.getFileName();
    if (filename==null) return ;
    imp =  op.openImage(directory, filename);
    imp.show(); 

    ImageProcessor improc = imp.getProcessor();
    improc.smooth();

    ImagePlus alter = new ImagePlus("alter", improc) ;
    alter.show();


    }

}

ありがとう

ベイトマン

4

1 に答える 1

4

を呼び出す.smooth()と、元の によって表示されている にimproc含まれるイメージ データが変更されます。次に、同じ に基づいて新しい を作成します。もちろん、元の画像ではなく、ぼかした画像です。元を変更したくない場合は、たとえば行を変更して、平滑化する前に複製できます。ImageProcessorImagePlusImagePlusImageProcessorImageProcessor

ImageProcessor improc = imp.getProcessor();

... に:

ImageProcessor improc = imp.getProcessor().duplicate();

更新:コードをテストしたところ、両方の画像がぼやけて見えました。それでも元の画像が表示される場合は、run メソッドの最後に次を追加してみてください。

imp.updateAndDraw()
alter.updateAndDraw()
于 2011-08-23T14:31:08.720 に答える