1、GRB->HSV转换源码

RGB空间至HSV空间的转换

/*******************************************************************************
RGB空间至HSV空间的转换
*********************************************************************************/
void CImageRetrievalDlg::RGBToHSV(int r, int g, int b, double *h, double *s, double *v)
{
	*h = acos((r - g + r - b) / (2.0*sqrtf((float)(r - g)*(r - g) + (float)(r - b)*(g - b))));
	if (b>g)
		*h = 2 * PI - *h;
	*s = (mymax(r, g, b) - mymin(r, g, b)) / (float)mymax(r, g, b);
	*v = mymax(r, g, b) / 255.0;
}

2、寻找最大最小值源码

//寻找最大
int mymax(int a, int b, int c)
{
	int m;
	if (a>b)
		m = a;
	else
		m = b;
	if (m<c)
		m = c;
	return m;
}

//寻找最小
int mymin(int a, int b, int c)
{
	int m;
	if (a<b)
		m = a;
	else
		m = b;
	if (m>c)
		m = c;
	return m;
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐