RGB颜色空间转换至HSV颜色空间

本文介绍了如何使用自编代码将RGB颜色空间转换为HSV空间,详细给出了RGB转HSV的计算公式,并指出转换后的H、S、V值在0到360°及0-1之间的规范化范围,区别于opencv的默认范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经常用opencv下的cvCvtColor函数直接把图片颜色空间转换到了HSV下,今天自己写了一段代码进行转化,RGB转HSV的计算公式如下:


在这里把h规范化到位于 0 到 360°之间,s和v均规范化到0-1之间,和opencv的范围不同。

IplImage * src;
int * h;
	float * s;
	float * v;

	int width = src->width;
	int height = src->height;
	
	//分配内存
	h = new int[width * height];
	s = new float[width * height];
	v = new float[width * height];

	//初始化
	for (int i = 0;i < width * height;i++)
	{
		h[i] = 0;
		s[i] = 0;
		v[i] = 0;
	}

        int width = src->width;
	int height = src->height;

	int k1,k2,r,g,b;
	int ss;

	uchar * data = (uchar *)src->imageData;
	for 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值