Posted on

ImageJ 的默认长度单位是Pixels(像素),所以如果想要测量实际的长度等信息,就必须重新设置长度单位。而这一步骤往往需要参考图像自带的比例尺。

实际拍照过程中,拍照软件可以印入比例尺。但如果遇到忘记设置比例尺的情况,可以利用ImageJ为图像添加合适的比例尺。

一、设置长度单位

1、打开一张有比例尺的照片,利用Magnifying Glass放大比例尺。

https://inews.gtimg.com/newsapp_bt/0/13878496123/641

2、利用直线工具沿着比例尺画线。

https://inews.gtimg.com/newsapp_bt/0/13878496124/641

3、设置比例尺(Analyze-Set Scale)。原图的实际像素及大小可用Photoshop得知。例如,像素为442×378,大小为15.59×13.34 cm。由于对拍摄实物放大了640倍,计算出442像素对应拍摄实物的长度为(15.59×10000/640um),再计算一个像素对应长度。如下图,设置参数为1.8像素对应1um,然后点击Global,即可设置完成。

https://inews.gtimg.com/newsapp_bt/0/13878496125/641

弹出比例尺设置界面:

Distance in pixels:直线的长度

Known distance:这条直线的已知长度

Unit of length:设置单位

Global:对于所有照片应用这一比例

Tips:如果要给没有比例尺的图片添加比例尺,需要勾选Global。

设置完成后点击OK,可见图片的单位变为μm:

https://inews.gtimg.com/newsapp_bt/0/13878496231/641

二、如果没有比例尺,添加比例尺(Scale Bar)

1、Set Scale后(勾选Global),打开一张没有比例尺的照片。注意:一定是相同拍照设备,同一物镜倍数拍出的照片。

2、打开添加比例尺工具(Analyze-Tools-Scale Bar)

弹出初始化界面,设置比例尺大小,比例尺的外观、字体、颜色等,可以自己选择。注意:不要勾选Overlay。

https://inews.gtimg.com/newsapp_bt/0/13878496233/641

3、自定义好的比例尺就设置好了,点击OK后比例尺就出现在右下角。最后别忘记保存图片哦!(File –> Save),图片格式一般以TIFF为妙。

三、批量添加标尺

1、打开宏记录器,运行上述第二步,得到宏代码(此宏代码由本人HE图片得到,与上述示例图片参数不一样):

   run("Scale Bar...", "width=100 height=5 font=20 color=Black background=None location=[Lower Right] bold"); 

2、编写Java批处理代码

//Add scale bar
dir=getDirectory("Select the source directory");
//无标尺的源文件夹

dir0=getDirectory("Choose the output directory");
//导出有标尺的文件夹
list=getFileList(dir);
//获取图片list
Array.sort(list);

for(i=0;i<list.length;i++){
	filename=dir+list[i];
	if(endsWith(filename,"jpg")){
		open(filename);
//打开图片
		run("Scale Bar...", "width=100 height=5 font=20 color=Black background=None location=[Lower Right] bold");
//添加标尺
		saveAs("Jpeg", dir0+list[i]);
//保存图片
		run("Close");	//关闭图片窗口

	}
}

3、运行批处理代码

plugin–>Macros–>Run–>选择批处理文件–>选择原图片目录–>选择output目录:

自动为source文件夹中所有图片添加标尺,存入output文件夹

C:\Users\JINWAN~1\AppData\Local\Temp\1649263472(1).png

发表评论

邮箱地址不会被公开。 必填项已用*标注