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

目录
相关文章
|
存储 Serverless
MATLAB实战 | 梯形积分法
在科学实验和工程应用中,函数关系往往是不知道的,只有实验测定的一组样本点和样本值,这时就无法使用integral函数计算其定积分。
721 1
|
消息中间件 缓存 监控
Kafka中的Controller(控制器)节点
Kafka中的Controller(控制器)节点
1445 0
Kafka中的Controller(控制器)节点
|
人工智能 自然语言处理 算法
如何学习AIGC
【1月更文挑战第21天】如何学习AIGC
681 1
如何学习AIGC
|
存储 分布式计算 资源调度
❤️hadoop常用命令总结及百万调优❤️
❤️hadoop常用命令总结及百万调优❤️
246 0
|
开发框架 前端开发 JavaScript
【前端】前端的三大主流框架
【前端】前端的三大主流框架
650 3
|
域名解析 网络协议 物联网
深度解析:UDP协议及其工作机制与优点
【8月更文挑战第20天】
705 0
|
设计模式 测试技术 C#
WPF/C#:在WPF中如何实现依赖注入
WPF/C#:在WPF中如何实现依赖注入
364 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的宠物领养系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的宠物领养系统附带文章源码部署视频讲解等
229 1
|
SQL 分布式计算 DataWorks
maxcompute配置问题之连接oss报错如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
159 0