OpenCV3.4.0学习笔记(五)——色彩模型转换与分量提取

本篇博文用于记录利用 OpenCV 实现图像的各色彩模型转换与模型分量提取的方法。

图像色彩模型的转换

OpenCV3.4.0 直接提供了图像色彩模型相互转化的函数

void cv::cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );

输入参数 src, dst 为输入色彩模型转化前后的图像,一般为 cv::Mat 数据类型。 函数支持原位操作,即 srcdst 可以是同一个对象。
输入参数 code 指明了色彩模型的转化方法,可以参考枚举类型 cv::ColorConversionCodes 。常用的色彩类型转化有 COLOR_BGR2GRAY、COLOR_BGR2XYZ、COLOR_BGR2YCrCb、COLOR_BGR2HSV 及其逆转换等等。

色彩通道的分离与融合

cv::Mat 的通道分离在前文中已经介绍,这里稍微简述加以记录。

	//通道分离函数
	void cv::split(cv::Mat &muiltChannalMat, std::vector<cv::Mat> channalsMaps);
	//muiltChannalMat为多通道Mat,channalsMaps为单通道Mat向量,多通道与单通道Mat的规模一样,
	//channalsMaps共有muiltChannalMat.channals个元素

	//通道整合函数,参数意义同split
	void cv::merge(std::vector<cv::Mat> channalsMaps, cv::Mat &muiltChannalMat);

结合模型转化、通道分离与融合可以轻松实现目标图像特定色彩分量的提取与重组。
图像在不同色彩分量下的统计直方图可以通过opencv的统计函数 cv::calcHist 进行求取,函数的使用在这里不进行阐述。
不同色彩分量下的直方图数据可以作为目标图像的特征描述向量,具有很强的鲁棒性。直方图结合SVM分类器在嵌入式环境、需求简单的工业应用范围中可以快速、稳定地实现图像的简单分类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值