通过分析 L*a*b* 颜色空间来识别织物中的不同颜色

简介: 通过分析 L*a*b* 颜色空间来识别织物中的不同颜色

一、前言
通过分析 Lab* 颜色空间来识别织物中的不同颜色。
二、实现步骤
步骤 1:采集图像
这是一个彩色织物图像。
1.png

步骤 2:基于 Lab 颜色空间计算每个区域的样本颜色
您可以在图像中看到六种主要颜色:背景色、红色、绿色、紫色、黄色和洋红色。请注意,您可以很轻松地在视觉上区分这些颜色。L
ab 颜色空间(也称为 CIELAB 或 CIE Lab*)使您能够量化这些视觉差异。

Lab 颜色空间是从 CIE XYZ 三色值派生的。Lab 空间包含亮度层 'L'、色度层 'a'(表示颜色落在沿红-绿轴的位置)和色度层 'b*'(表示颜色落在沿蓝-黄轴的位置)。

您的方法是为每种颜色选择一个小样本区域,并计算每个样本区域的基于 'ab' 空间的平均颜色。您将使用这些颜色标记对每个像素进行分类。
为了简化此示例,请加载存储在 MAT 文件中的区域坐标。
使用 rgb2lab 将您的织物 RGB 图像转换为 Lab 图像。用 roipoly 提取的每个区域的 'a' 和 'b' 均值。这些值用作基于 'ab' 空间的颜色标记。
步骤 3:使用最近邻规则对每个像素进行分类
现在每个颜色标记都有一个 'a
' 和一个 'b*' 值。您可以通过计算 lab_fabric 图像中每个像素与每个颜色标记之间的欧几里德距离对该像素进行分类。最小距离表示像素最接近该颜色标记。例如,如果某像素和红色标记之间的距离最小,则该像素将被标记为红色像素。
创建一个包含颜色标签的数组,即 0 表示背景,1 表示红色,2 表示绿色,3 表示紫色,4 表示洋红色,5 表示黄色。初始化用于最近邻分类的矩阵。执行分类。
步骤 4:显示最近邻分类的结果
标签矩阵包含织物图像中每个像素的颜色标签。使用标签矩阵按颜色分离原始织物图像中的对象。以蒙太奇方式显示五种分割颜色。同时显示图像中未归类为颜色的背景像素。
2.png

步骤 5:显示已标注颜色的 'a' 和 'b' 值
通过绘制分类为不同颜色的像素的 'a' 和 'b' 值,您可以看到最近邻分类对不同颜色总体的区分情况。出于显示目的,用颜色标签标注每个点。
3.png

目录
相关文章
圆形算法识别
圆形算法识别
Halcon找圆系列(1)如何检测圆形
Halcon找圆系列(1)如何检测圆形
1836 0
Halcon找圆系列(1)如何检测圆形
|
4月前
|
计算机视觉 Python
opencv识别颜色
opencv识别颜色
|
18天前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
45 0
|
6月前
|
机器学习/深度学习 人工智能 算法
使用纹理对比度检测检测AI生成的图像
在本篇文章中我们将介绍如何开发一个深度学习模型来检测人工智能生成的图像
76 0
|
6月前
[Halcon&图像] 图像、区域和轮廓相互转化
[Halcon&图像] 图像、区域和轮廓相互转化
271 1
|
C++ 计算机视觉
C++-图像目标区裁剪ImageCropping
C++-图像目标区裁剪ImageCropping
|
存储 数据可视化 数据管理
处理RGB-D图像数据以构建室内环境地图并估计相机的轨迹
视觉同步定位和映射 (vSLAM) 是指计算摄像机相对于周围环境的位置和方向,同时映射环境的过程。 您可以使用单眼摄像头执行 vSLAM。但是,深度无法准确计算,估计的轨迹未知,并且随着时间的推移而漂移。要生成无法从第一帧开始三角测量的初始地图,必须使用单眼相机的多个视图。更好、更可靠的解决方案是使用 RGB-D 相机,它由一个 RGB 彩色图像和一个深度图像组成。
186 0
【IMAQ】imaqSetImageSize() 设置图像大小
【IMAQ】imaqSetImageSize() 设置图像大小
|
算法 编译器 Python
CV7 颜色追踪和图像阈值
因为在HSV中比在BGR颜色空间中更容易表示颜色,所以我们需要将BGR图像转换成HSV,用来提取一个有颜色的对象
152 0