在Process->Binary下有两个命令用于生成一个二值化图像,分别是
但当前图像是RGB或者灰度图时,这两个指令并无设置参数,且处理结果相同。若想更加细致地生成二值化图像,可点击Image->Adjust->Threshold,或者按下快捷键Ctrl+Shift+T,从而调出二值化窗口。通过调整滑块,可以设置阈值,如下图所示,其中红色区域在二值化之后为白色,其余区域为黑色。
如果处理的是RGB图像,那么这两个指令的处理结果是相同的。
ImageJ的Binary菜单中提供了诸多形态学处理工具
菜单 | 运算 | 说明 |
---|---|---|
Erode | 腐蚀 | 删除边缘像素 |
Dilate | 膨胀 | 扩充图像的边缘 |
Open | 开运算 | 先腐蚀,再膨胀,将平滑对象并删除孤立的像素。 |
Close | 闭运算 | 先膨胀,再腐蚀,可以平滑对象并填充小孔。 |
Outline | 提取轮廓 | 生成前景对象的一个像素宽的轮廓。 该线绘制在对象内部,即在先前的前景像素上。 |
Fill Holes | 填充孔洞 | 填充对象中的孔(4个连接的背景元素)。 |
Skeletonize | 重复删除边缘像素,直到它们缩小为单像素宽。 |
这些滤波操作的结果如下
ImageJ提供了一些基于欧几里得距离图(EDM)的操作指令。在一张二进制图像中,某一像素点距离与之最近的背景像素距离,便是EDM,将其EDM值作为灰度值赋给一张图像,那么就得到了EDM图。而EDM的最大值,就是最终腐蚀点(UEP),可以理解为,每次做一次腐蚀操作,坚挺到最后的有效像素,就是最终点。
指令 | 说明 | 功能 |
---|---|---|
Distance Map | 距离图 | 从二进制图像生成EDM |
Ultimate Points | 最终点 | 生成UEP |
Watershed | 分水岭分割 | 图像分割 |
Voronoi | 图像分割 |
下面以Files->Open Samples->blobs为例,得到其效果如下。
其中,EDM图像中的灰度值,即二值图像中某点到黑色像素的最近距离;UEP则是某个EDM区域中最大值所对应的点。
分水岭分割是一种自动分离接触粒子的方法,其基本原理是,每个UEP都是一个不可分割区域,对UEP进行扩张,若两个UEP在增长过程中发生了碰撞,此即二者的分水岭。
Voronoi则通过两个UEP边界距离相等的点线分割图像,因此,每个粒子的Voronoi单元包括比任何其他粒子更靠近该粒子的所有点。