ImageJ实用教程 |
您所在的位置:网站首页 › imagej更改颜色 › ImageJ实用教程 |
图像处理是因图而异的,图像的差异,会导致相似的问题需要完全不同的解决方法。 但图像处理的思想和原理都是相近的。 案例分析篇会主要介绍一些,在一对一指导时遇到的真实图像处理的案例。以启发大家找到适合自己数据的图像处理方式。 一、问题描述如下图所示,测量叶片上褐色病斑的占总叶片的面积,并测量病斑对应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 |