ImageJ实用教程

您所在的位置:网站首页 imagej更改颜色 ImageJ实用教程

ImageJ实用教程

2023-04-19 21:37| 来源: 网络整理| 查看: 265

图像处理是因图而异的,图像的差异,会导致相似的问题需要完全不同的解决方法。

但图像处理的思想和原理都是相近的。

案例分析篇会主要介绍一些,在一对一指导时遇到的真实图像处理的案例。以启发大家找到适合自己数据的图像处理方式。

一、问题描述

如下图所示,测量叶片上褐色病斑的占总叶片的面积,并测量病斑对应LAB颜色模式下的L、A和B值

二、问题解析

1、这是一个典型的图像分割的问题。解决问题的关键是提取出图像上褐色区域,形成ROI,记得测得面积。

2、原图是RGB格式,所以需要将RGB颜色模式转为LAB颜色模式,然后分通道进行测量。

LAB颜色模型由三个元素组成,L代表亮度,A 和B分别是两个代表颜色:

LAB颜色模式的具体介绍如下:

之前在这篇文章中提到过一些图像分割的方法:

但对于这幅图片,直接进行Color Threshold,或者把图像转为8-bit进行Threshold的效果并不理想:

1、直接进行Color Threshold

需要手动调整,人为的bias很大,而且会选中背景。

2、图像转为8-bit后,进行Threshold

褐色区域的灰度值与背景的区分度不高,Threshold会引入更多的噪声。

所以为了实现自动褐色区域颜色提取,以及减少人为误差,首先需要去掉叶片之外的背景部分,然后再在区分度更高的通道进行Threshold

三、解决步骤

1、分割出RGB三个通道(Image - Color - Split Channels)

RGB三个通道包含了图像的不同信息:

可以看到,蓝色通道病斑面积与背景之间的区分度最大;而绿色通道最小,可以用来做叶片整体的分割

2、叶片整体分割

选择绿色通道,进行Threshold后点击Apply得到Mask:

可以看到Mask上有一些背景残留,可以通过(Process - Noise - Remove outlier)去除:

3、叶片整体ROI的获取(Edit - Selection - Create Selection)

得到干净的Mask后,我们最终的目的是为了得到叶片的ROI,所以需要把Mask转为ROI。然后Add到ROI Manager当中:

4、去除叶片外的背景(Edit - Clear outside)

在蓝色通道选中整体叶片的ROI,然后去除叶片之外的所有信号:

5、Threshold选取病斑区域(Image -> Adjust -> Threshold)

通过去除背景,可以直接进行Threshold、Measure,得到准确的病斑面积:

Threshold选中之后,(Edit -> Selection -> Create Selection),即可得到病斑区域的ROI,并Add到ROI Manager当中:

到了这一步,这个问题的关键已经得到解决,即分别得到叶片和病斑的ROI,面积测量直接Measure就可以了。

6、RGB格式转为LAB格式(Image -> Type -> Lab Stack)

打开原图后,将原始的RGB图像转为Lab Stack,三个通道分别代表L、A、B的值:

然后在ROI Manager中选中病斑部分的ROI,然后三个通道分别进行Measure,即可得到该区域的LAB值:

四、总结

在这个案例中,从RGB三个通道分别提取到各自的特征信息,是大家经常会忽视的一点。

同时,灵活使用ROI Manager也是解决类似颜色区域提取问题的关键。

另外,在进行颜色表征的时候,除了RGB颜色模式,还可以尝试其他颜色模式,例如LAB、HSB等。

如果对于ImageJ使用有什么问题可以发邮件进行一对一指导:

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

希望对大家有帮助~



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3