ImageJ实用技巧——自动图片拼接(基本功能篇)
北漂4年,沪漂ing
通常在拍摄大型的,例如脑片、免疫组化等样本时,会遇到显微镜视野太小,需要多次拍摄的情况。
为了解决显微镜视野太小的问题,一般会使用电动平移台移动样品,对整个样品进行平铺扫描。然而由于精确性的原因,往往图像和图像之间存在位移或者重叠。这时候就需要对图片进行拼接,以获得完整图像。
这篇文章会针对图像拼接的各种情况,介绍ImageJ中不同的自动图像拼接方法。
官网对图像拼接的说明如下:
自动图像拼接大概可以分为以下三种情况:
一、图片无重叠
二、图片有规律重叠
三、图片无规律重叠
下面会针对这三种情况,介绍不同的解决方案。
一、图片无重叠
这种情况并不多见,通常运用于理想情况下,图片无重叠分割后,重新拼接。
(1)对于无重叠的两张图片(Stack),如下图所示
图片拼接方法(Image -> Stacks -> Tools -> Combine)
这里的情况需要横向拼接,如果要纵向拼接,可以勾选Combine vertically,拼接结果:
(2)对于无重叠的平铺扫描的一系列图片,如下图所示:
图片拼接方法(Plugins -> Stitching -> Grid/Collection stitching)
进行平铺扫描的图片拼接时,必须要知道扫描的方式(Type),方向(Order),这里的扫描方式是由左到右,由上到下,所以选择Grid: row-by-row,Right&Down。
以及这组图片在x、y上的Grid size,即每行每列有几张图,这里总共有98张图片,x轴上每行14张图片,y轴上每列7张图片。初始化窗口如下:
重点注意红框中的参数:
Directory:定义图片文件夹路径,待拼接的图片需要放入一个文件夹。
First file index i:定义i的初始值,这里定义i的初始值为1。
File name for tiles:读取命名为tile_{i}.tif的图片,这里的{i}是可变参数。
不要勾选Compute overlap,因为图片之间没有重叠。
拼接结果:
二、图片有规律重叠
这种情况是最常见的,特别是在平铺扫描的情况下,每张图片在x、y方向都可能有部分的重叠,且有一定的规律。
(1)对于有重叠的两张图片(Stack),如下图所示
图片拼接方法(Plugins -> Stitching -> Pixelwise Stitching of Images)
选择需要拼接的两张图片,弹出初始化窗口:
这里需要注意红框中的参数:
Subpixel accuracy:如果勾选,可以提高拼接的正确率,但会增加计算时间。
Registration channel image:选择拼接时参照的channel。这里的图片为8-bit只有一个通道,所以不用考虑,如果是RGB图片的拼接,需要选择最好的Channel来进行拼接。
该插件可以自动探测图片的重叠区域,并进行拼接,拼接结果:
如果拼接效果不佳,可以用矩形框选工具,先框选出特征区域,再进行拼接。
(2)对于有重叠的平铺扫描的一系列图片,如下图所示:
图片拼接方法与第一种情况一样(Plugins -> Stitching -> Grid/Collection stitching)
但唯一的不同是,在初始化窗口需要勾选Compute overlap,因为图片有重叠,拼接结果如下所示:
三、图片无规律重叠
这种情况也比较常见,比如手动拍摄的图片拼接,图片与图片的位置关系没有明显的规律,例如下图果蝇的图片:
图片拼接方法(Plugins -> Stitching -> Grid/Collection stitching)
但因为图片的位置关系位置,所以Type选择Unknown position。
初始化窗口就简单很多了,只需要确定文件夹路径等参数:
初始化窗口
确认需要拼接的图片
这种模式会自动检测图片的重叠部分,并通过重叠确定图片之间的位置关系,拼接结果如下:
拼接结果
如果上述所有方法都拼不好,建议直接用TrakEM2手动拼接:
如果对于ImageJ使用有什么问题可以私信我,或者给我发邮件:zhaoyc9@163.com
更多教程可以关注我的专栏:
希望对大家有帮助~
编辑于 04-02
ImageJ
图像处理
科研
点击数:0