【Halcon学习笔记】14.彩色图像
1.概述
与灰度图像相比,彩色图像包含的额外信息会更多,利用这些信息可以简化很多机器视觉中的处理任务。

1.1 图像的表示方法
图像的基本表示方法包括:二值图像、灰度图像、彩色图像三种。
1)二值图像
每个像素只包含黑和白两种颜色的图像,用0代表黑色,1代表白色。图位深度1,其每个像素通常用1Bit就可以完整存储信息。
2)灰度图像
每个像素有1个通道颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度,分量介于(0-255)。图位深度8,其每个像素通常用8Bit的尺度大小来保存。
3)彩色图像
每个像素有3个通道颜色的图像,通常是由红(R)、绿(G)、蓝(B)三个分量来表示,分量介于(0-255),用这三个色彩通道的组合表示颜色。图位深度24,其每个像素通常用8Bit*3的尺度大小来保存。
1.2 彩色图像的RGB色彩空间
RGB色彩模式是工业界的一种颜色标准,是通过对三基色红(R)、绿(G)、蓝(B)三个颜色通道的分量组合,可以得到各式各样的颜色的。RGB这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。

1.3 彩色图像的HSV色彩空间
BGR色彩空间是基于三基色(红,绿,蓝) 而言的。而HSV色彩空间是基于色调(H),饱和度(S)和亮度(V) 而言的。
H:色调,光的颜色。范围[0,180]。
S:饱和度,色彩的深浅。范围[0,255](饱和度为0时变为灰度图像)。
V:亮度,光的明暗。范围[0,255](亮度为0时,图像为纯黑色)。

2.相关算子
2.1 访问
1)access_channel() //获取一个多通道图像其中一个通道的图像
2)count_channels() //计算多通道图像的通道数量
2.2 分离与合并
1)decompose3() //将三通道图像转换为三张单通道图像
2)compose3() //将三张单通道图像转换为三通道图像
2.3 转换
1)rgb1_to_gray() //将一张RGB图像转换为灰度图像
2)rgb3_to_gray() //将三张RGB分量图像转换为灰度图像
3)trans_from_rgb() //将图像从RGB颜色空间转换为任意颜色空间
3.颜色识别在Halcon中的应用思路
颜色识别大致可以分为两种思路:
一是通过提取彩色图像的单通道分量图像的灰度特征来区分颜色(本质还是blob分析);
二是通过训练基于像素颜色的分类器来区分颜色(详见13.图像分类)。

by Ryou2-