【OpenCV】通过分离彩色图像某通道调整图像亮度

采集图像时,一天中不同时间光照变化会影响目标检测的效果,尝试通过图像锐化来解决这个问题,效果不是太好,然后又想到HSV格式图像,将亮度V分量均衡化的方法。

OpenCV中有专门的函数可以将彩色图像的通道进行分离或合并,笔者将BGR格式图像转换为HSV格式,提取亮度V分量做均衡化处理,再重新将通道合并。

void equalize_HSV_V(Mat& srcImg)
{
	Mat HSV;
	vector<Mat> hsvSplit;

    /*转换为HSV格式,对V分量进行均衡化*/
	cvtColor(srcImg, HSV, COLOR_BGR2HSV);  //图像格式转换为HSV
	split(HSV, hsvSplit);   			   //分出图像各通道
	equalizeHist(hsvSplit[2], hsvSplit[2]);//均衡图像V分量
	merge(hsvSplit, HSV);                  //合并图像各通道
	cvtColor(HSV, srcImg, COLOR_HSV2BGR);  //图像格式转换回BGR
}

笔者在不同灯光下拍摄书籍的图像,进行对比测试如下
在这里插入图片描述
在笔者的示例中,因为拍摄的图像色彩、亮度均比较单一,HSV图像中V分量相对集中,在均衡化后V分量的分布范围扩大到0~255,也提高了图像的对比度。

对RGB、HSV图像均可按该方式对某一单独通道进行图像处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值