⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rgb2hsi.cpp

📁 这个程序是由rgb转化为hsi的程序
💻 CPP
字号:
/********************************************************************
 * 函数名称:rgb2hsi
 * 功能:实现rgb到hsi的转换
 * 参数:hsi  -  长度为3的双精度数组
 *       rgb  -  长度为3的双精度数组
 *******************************************************************/
void rgb2hsi(double *hsi, double *rgb)
{
	double& R = rgb[0];
	double& G = rgb[1];
	double& B = rgb[2];
	double& H = hsi[0];
	double& S = hsi[1];
	double& I = hsi[2];

	double min = R;
	if (G < min)
		min = G;
	if (B < min)
		min = B;

	I = (R+G+B)/3.0;
	S = 1 - min/I;
	if (S == 0.0)
	{
		H = 0.0;
    }
	else
	{
		H = ((R-G)+(R-B))/2.0;
		H = H/sqrt((R-G)*(R-G) + (R-B)*(G-B));
		H = acos(H);
		if (B > G)
		{
			H = 2*PI - H;
		}
		H = H/(2*PI);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -