通常在拍摄大型的,例如脑片、免疫组化等样本时,会遇到显微镜视野太小,需要多次拍摄的情况。

为了解决显微镜视野太小的问题,一般会使用电动平移台移动样品,对整个样品进行平铺扫描。然而由于精确性的原因,往往图像和图像之间存在位移或者重叠。这时候就需要对图片进行拼接,以获得完整图像。

这篇文章会针对图像拼接的各种情况,介绍ImageJ中不同的自动图像拼接方法。

官网对图像拼接的说明如下:

Image Stitching​imagej.net

自动图像拼接大概可以分为以下三种情况:

一、图片无重叠

二、图片有规律重叠

三、图片无规律重叠

下面会针对这三种情况,介绍不同的解决方案。


一、图片无重叠

这种情况并不多见,通常运用于理想情况下,图片无重叠分割后,重新拼接

(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手动拼接:

TrakEM2​imagej.net


如果对于ImageJ使用有什么问题可以私信我,或者给我发邮件:zhaoyc9@163.com

更多教程可以关注我的专栏:

ImageJ实用教程​zhuanlan.zhihu.com

ImageJ开发教程​zhuanlan.zhihu.com

希望对大家有帮助~

matlab拼接tiff文件_ImageJ实用技巧——自动图片拼接(基本功能篇)相关推荐

  1. 保存多序列tiff文件_干货技巧!如何使你保存的Phtoshop文件容量更小?

    设计师使用Photoshop储存文件时,保存的文件时可能会占用过多的磁盘空间,并且发送或者下载PSD文件的时候也会花费太多的时间,那么我们有些什么方法技巧可以缩小,或者优化我们的PSD文件呢?我们以一 ...

  2. 怎么删除顽固的服务器文件夹,实用技巧:删除Windows XP下顽固文件方法

    在Windows系统中,我们难免会遇到用常规方法无法删除文件的情况.尤其是Windows XP的用户,遭遇此类问题的频率更高.我们将尝试通过各种非常规的手段有效地删除那些顽固文件 . 删除顽固文件的常 ...

  3. Flowable实用技巧-自动完成首个UserTask

    对于复杂的流程可能会有BUG,欢迎指出~ org.flowable.engine.common.api.delegate.event.FlowableEventListener是Flowable的全局 ...

  4. Git 实用技巧记录,看这篇你就明白了!

    " 只有在遇到问题的时候,才体会到技巧带来的好处! 如果我们希望能够快速了解或体验一下 Git 的操作的话,我这里推荐搭建前往这个网站进行学习,其不需要我们安装工具,而且我们的每一步操作都可 ...

  5. 微风:新手必看PS实用技巧大全

    大家好我是微风,一个爱设计爱生活的平面设计师,今天给大家整理了新手必看PS实用技巧大全,PS的功能越来越强大了,想要全部掌握他的功能使用不太现实.文章中微风给大家整理了30个PS实用技巧,把这些功能使 ...

  6. linux让新生成的文件自动加锁,Linux_实用技巧一则 Linux系统对文件进行加锁,当有多个工作线程要同时对一 - phpStudy...

    实用技巧一则 Linux系统对文件进行加锁 当有多个工作线程要同时对一个文件进行写操作时,如果不对该文件进行加锁就可能会因误操作而引起一系列的问题. 解决这个问题有多种方法.我们这里考虑使用文件锁来对 ...

  7. 【源码】reportgen:Matlab自动生成WORD/PPT的实用技巧

    reportgen 本文将介绍Matlab的一个实用技巧.一键生成Word版本的报告.Matlab之前都是通过调用COM接口来实现的,类似于VBA,虽然可做的事情很多,但并不适合一般的童鞋. 自动化报 ...

  8. matlab 行 读取文件 跳过_MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)...

    本帖最后由 rocwoods 于 2010-12-29 15:09 编辑 振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html M ...

  9. D:MATLAB.N个实用技巧-MATLAB中文论坛精华总结

    在为此书作序的时候,MATLAB中文论坛的主题已经达到10万,帖子超过100万,有效会员30万.MATLAB的基础技巧已经在论坛里得到了充分的展示与探讨,大家常见的问题大部分获得了解答!是时候做一个小 ...

最新文章

  1. 接口与抽象类的使用选择
  2. 他只有2年工作经验,现在却拿着40万年薪,只因他曾做过这件事
  3. Python画散点图(Knn中数据)
  4. 【struts2+hibernate+spring项目实战】Jfreechart工具使用(ssh项目实战)
  5. LeetCode 数据库 182. 查找重复的电子邮箱
  6. CentOS下的Mysql的安装和使用
  7. oracle 使用数据泵恢复,oracle 使用数据泵 导出整个db 并恢复
  8. Hadoop 2.x简介
  9. 微信账号公开买卖;华为:5G 火车站启动;小米 9 高通骁龙 855 全球首发 | 极客头条...
  10. https://leetcode.com/problems/palindromic-substrings/description/
  11. Java编程思想 经典评注分享
  12. Linux中grep命令查找文件,Linux中使用grep命令搜索文件名及文件内容的方法
  13. 奇怪,为什么在主页上面只列出最近的随笔,而文章呢?
  14. 风云格式工厂隐私政策
  15. 基于BB方案,荣耀观影眼镜Vision Glass正式发布
  16. 遗传算法求解一元函数最大值
  17. 如何区分“衬线体字”和“无衬线体字”?Linux Mint中如何安装字体?
  18. 【转载】Windows下Tesseract4.0识别与中文手写字体训练
  19. 【区块链与密码学】第9-7讲:群签名在区块链中的应用 I
  20. BPM助企业提升执行力

热门文章

  1. webgl之helloworld
  2. gb28181的sip通信
  3. python刚需_python案例(六): RFM在玩什么?
  4. java二维码生成代码_java快速开发平台功能特点之代码生成器
  5. pycharm更改默认项目地址的方法
  6. 34个省级行政区简图_全国23个省中,为什么广东要分为21个地级市?今天总算知道了...
  7. 海康4200门禁导入人脸_刷脸开门,海康智脑NVR无感开门方案来啦~
  8. java 计时器_【java内存】内存结构
  9. 设置背景色为渐变色 css
  10. springmvc05 传值