ImageJ,向 ImagePlus 添加比例尺

ImageJ, adding a scale bar to ImagePlus

我正在尝试向 ImagePlus 添加比例尺,但我做不到。当我使用 windows 时,我使用了以下命令:

IJ.selectWindow("window_name");
IJ.run("Set Scale...", "distance=1 known="+pixelSize+" pixel=1 unit=um");
IJ.run("Scale Bar...", "width="+barSize+" height=3 font=12 color=Black location=[Upper Right]");

希望有人能帮帮我,我把代码给大家看一下:

String name = "example.jpg";
ImagePlus cRoiDuplicated = this.cROI.duplicate();
cRoiDuplicated.setTitle(name);

if (barSize != -1){
  [Code]
  /*IJ.run("Set Scale...", "distance=1 known="+pixelSize+" pixel=1 unit=um");
  IJ.run("Scale Bar...", "width="+barSize+" height=3 font=12 color=Black location=[Upper Right]");*/
}

FileSaver fs = new FileSaver(cRoiDuplicated);
fs.saveAsJpeg(this.directory + name);
cRoiDuplicated.close();

在 Java 插件中,您应该使用 IJ.run(ImagePlus imp, String command, String options) 方法,该方法将 ImagePlus 作为第一个输入参数。

Java模式下使用Macro recorder获取需要的命令。以下插件由

创建
  • 正在打开记录器window(插件 > 宏 > 记录...),
  • 正在打开“Blobs”样本图像(文件 > 打开样本 > Blobs (25K)),
  • 设置比例(分析 > 设置比例...),
  • 添加比例尺(分析>工具>比例尺...),然后
  • 单击记录器中的“创建”按钮 window。

这是生成的代码:

import ij.*;
import ij.process.*;
import ij.gui.*;
import java.awt.*;
import ij.plugin.*;
import ij.plugin.frame.*;

public class My_Plugin implements PlugIn {

    public void run(String arg) {
        ImagePlus imp = IJ.openImage("http://imagej.nih.gov/ij/images/blobs.gif");
        IJ.run(imp, "Set Scale...", "distance=1 known=2 pixel=1 unit=um");
        IJ.run(imp, "Scale Bar...", "width=50 height=3 font=12 color=Black background=None location=[Upper right]");
        imp.show();
    }

}