LabVIEW彩色图像分割(基础篇—14)

简介: LabVIEW彩色图像分割(基础篇—14)

基于目标颜色的彩色图像分割常包括色彩阈值处理(Color Threshold)和色彩分割(Color Segmentation)两种方法。


色彩阈值处理可以对图像在色彩空间中的3个分量分别进行阈值处理,并返回一个8位的二值图像。色彩分割则通过对比图像中各像素的色彩特征与其周围像素的色彩特征,或对比其与经训练得到的色彩分类器信息,将图像按色彩分割成不同的标记区域。


色彩阈值处理常用于从图像中分割仅有一种颜色的目标,色彩分割则常用于从杂乱的背景中标记出具有多种颜色的目标,并对其进行机器视觉检测或计数。


色彩分割过程主要包括色彩分类器训练、色彩区域分割和分割区域后处理3个阶段。


1、基于色彩样本进行色彩分类器训练;


2、确定检测窗口大小(行列大小一般为奇数),在待测图像上按设定的步长移动该窗口,计算检测窗口所覆盖区域的色彩特征,并将该值作为窗口中心像素(Pivot Pixel)的色彩特征值;


3、计算检测窗口所覆盖区域和与其相邻的几个窗口所覆盖区域的色彩特征距离,并选取特征距离最短的窗口进行以下处理:


若最短特征距离小于预先设定的最大距离(Maximum Distance)阈值参数,就将该窗口中心像素的类别标签赋值给检测窗口的中心像素。


否则,基于色彩分类器对检测窗口区域进行分类。若分类的识别可信度分值(ldentificationScore)大于预先设定的最小识别可信度分值(Minimum ldentification Score)阈值参数,就使用分类得到的类别标签对检测窗口中心像素进行标记,否则不对中心像素进行标记。


4、按照预先设定的尺寸参数,滤除不符合尺寸要求的区域,即可得到对各颜色区域的标记图像(可以为8位、16位无符号类型或16位整型)。


整个过程按照下述流程执行:


image.png


上述过程中使用的最大距离阈值参数Dmax由训练得到的色彩分类器信息确定。它是指可以被接受的相同类标签窗口中心像素色彩特征间距的最大值,可通过下式计算:


image.png


最大距离阈值参数越大,意味着允许使用相邻窗口的颜色类别标签的像素越多。这可避免频繁使用色彩分类器,并提高色彩分割的速度。但是,提高该参数值却会牺牲色彩分割的准确性。


在实际应用中,常使用该参数的保守(Conservative)或激进(Aggressive)值。保守值将两个距离最接近的训练类别的间距定义为各类中样本间距的最小值,激进值则将两个距离最近的训练类别的间距定义为各类中样本间距的中间值。


此外,也可以通过为检测窗口的移动设定步长或降低色彩特征的分辨率来提高色彩分割过程的整体速度。相对于逐像素在图像中移动检测窗口,以一定步长在图像中移动检测窗口的计算量会极大地减少。采用较低分辨率的色彩特征,也会减少计算量,提高色彩分割过程的实时性。


NI Vision提供了封装色彩分割过程的函数IMAQ Color Segmentation Supervised和IMAQ Get Color Segmentation Distance,它们位于LabVIEW的视觉与运动→lmage Processing→Color Processing函数选板中,如如图所示:


image.png


其中IMAQ Color Segmentation Supervised用于实现色彩分割过程,IMAQ Get ColorSegmentation Distance则用于基于色彩分类器计算色彩分割过程要用到的最大距离阈值参数Dmax。


函数的说明和使用可参见帮助文档:


image.png


通过一个色彩分割的实例:根据饼干不同部分颜色的区别,分割出巧克力、烘焙程度较好和欠烘焙的区域,了解其使用方法,程序设计思路如下所示:


程序一开始先从色彩分类器文件Cookie.clf中读取训练得到的颜色类别等信息,并返回颜色分类器会话;

随后调用IMAQ Get Color Segmentation Distance基于分类器会话计算可以被接受的相同类标签窗口中心像素色彩特征间距的最大值Dmax,并由IMAQ Color Segmentation Supervised完成色彩分割;

分割过程采用大小为15×15的检测窗口、10个像素大小的步长,并规定区域不能小于10个像素(最大为整个图像);

为了增强色彩分割过程输出的标记图像显示效果,程序还为不同颜色类别指定了标记灰度值。

程序实现如下所示:


image.png


分割过程结束后,For循环统计所有符合要求的区域的灰度标记值,然后调用IMAQLabelToROI将这些标记区域转换为ROI,并由IMAQ Group ROls将得到的ROl组合后交由IMAQ Overlay ROI以图层的方式显示在原图像中。


观察下图显示的程序运行结果,可以发现,饼干中的巧克力、烘焙程度较好和欠烘焙的区域已经被用不同的灰度值在输出的图像中进行了标记。不难想到,对标记图像进行阈值化处理和颗粒分析,即可得到各种类型区域占整个饼干的比例。而基于此比例值,就能判断生产线上饼干的质量是否合格。


image.png


上述实例中所使用的色彩分类器文件Cookie.clf可事先由NI色彩分类训练器对饼干中不同部分的色彩进行训练得到,可参见博文:LabVIEW色彩分类识别。


相关文章
|
存储 Java C++
Python 教程之控制流(9)Python 中的 Switch Case(替换)
Python 教程之控制流(9)Python 中的 Switch Case(替换)
1301 0
|
机器学习/深度学习 算法 PyTorch
论文阅读笔记 | 目标检测算法——DETR
论文阅读笔记 | 目标检测算法——DETR
2608 0
论文阅读笔记 | 目标检测算法——DETR
|
人工智能 IDE 定位技术
通义灵码 AI IDE 上线,第一时间测评体验
通义灵码 AI IDE 重磅上线,开启智能编程新纪元!无需插件,开箱即用,依托通义千问大模型,实现高效、智能的编程体验。支持 MCP 工具链,可快速调用多种服务(如12306余票查询、高德地图标注等),大幅提升开发效率。结合 Qwen3 强大的 Agent 能力,开发者可通过自然语言快速构建功能,如智能选票系统、地图可视化页面等。行间代码预测、AI 规则定制、记忆能力等功能,让 AI 更懂你的编码习惯。Lingma IDE 不仅是工具,更是开发者身边的智能助手,助力 AI 编程落地实践。立即下载体验,感受未来编程的魅力!
1560 16
|
8月前
|
人工智能 API 网络安全
ZeroClaw是什么?新手ZeroClaw安装教程,基于阿里云轻量应用服务器3分钟创建成功
ZeroClaw是一款开源、本地优先的AI代理与自动化平台,支持多渠道通信与大模型深度集成,具备持久记忆和主动执行能力。本文详解如何在阿里云轻量应用服务器上3分钟快速部署,并涵盖计费说明、配置步骤及常见问题。
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
641 3
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| NeurIPS 2023 融合GOLD-YOLO颈部结构,强化小目标检测能力
RT-DETR改进策略【Neck】| NeurIPS 2023 融合GOLD-YOLO颈部结构,强化小目标检测能力
460 17
RT-DETR改进策略【Neck】| NeurIPS 2023 融合GOLD-YOLO颈部结构,强化小目标检测能力
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【Head】| 引入RT-DETR中的RTDETRDecoder,替换检测头
YOLOv11改进策略【Head】| 引入RT-DETR中的RTDETRDecoder,替换检测头
1395 11
YOLOv11改进策略【Head】| 引入RT-DETR中的RTDETRDecoder,替换检测头
|
计算机视觉
YOLOv11改进策略【Neck】| 替换RT-DETR中的CCFF跨尺度特征融合颈部结构,优化计算瓶颈与冗余问题
YOLOv11改进策略【Neck】| 替换RT-DETR中的CCFF跨尺度特征融合颈部结构,优化计算瓶颈与冗余问题
1397 8
YOLOv11改进策略【Neck】| 替换RT-DETR中的CCFF跨尺度特征融合颈部结构,优化计算瓶颈与冗余问题

热门文章

最新文章