通过分析 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

目录
相关文章
|
11月前
|
算法
圆形算法识别
圆形算法识别
|
12月前
|
机器学习/深度学习 传感器 算法
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)
Halcon找圆系列(1)如何检测圆形
Halcon找圆系列(1)如何检测圆形
1774 0
Halcon找圆系列(1)如何检测圆形
|
2月前
|
计算机视觉 Python
opencv识别颜色
opencv识别颜色
|
3月前
|
存储 编解码 算法
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
58 0
|
3月前
|
机器学习/深度学习 算法
五种基于RGB色彩空间统计的皮肤检测算法
五种基于RGB色彩空间统计的皮肤检测算法
28 0
|
4月前
|
API 计算机视觉
【OpenCV】—图像对比度、亮度值调整
【OpenCV】—图像对比度、亮度值调整
|
4月前
[Halcon&图像] 图像、区域和轮廓相互转化
[Halcon&图像] 图像、区域和轮廓相互转化
238 1
|
11月前
|
机器学习/深度学习 人工智能 算法
OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
155 0
|
存储 数据可视化 数据管理
处理RGB-D图像数据以构建室内环境地图并估计相机的轨迹
视觉同步定位和映射 (vSLAM) 是指计算摄像机相对于周围环境的位置和方向,同时映射环境的过程。 您可以使用单眼摄像头执行 vSLAM。但是,深度无法准确计算,估计的轨迹未知,并且随着时间的推移而漂移。要生成无法从第一帧开始三角测量的初始地图,必须使用单眼相机的多个视图。更好、更可靠的解决方案是使用 RGB-D 相机,它由一个 RGB 彩色图像和一个深度图像组成。
175 0