草庐IT

RGB转HSV

全部标签

SSE图像算法优化系列三十一:RGB2HSL/RGB2HSV及HSL2RGB/HSV2RGB的指令集优化-上。

    RGB和HSL/HSV颜色空间的相互转换在我们的图像处理中是有着非常广泛的应用的,无论是是图像调节,还是做一些肤色算法,HSL/HSV颜色空间都非常有用,他提供了RGB颜色空间不具有的一些独特的特性,但是由于HSL/HSV颜色空间的复杂性,他们之间的转换的效率一直不是很高的,有一些基于定点算法的尝试,对速度有一定的提升,但一个是提升不是特别的明显,另外就是对结果的精度有一定的影响。  对于这两个算法的指令集优化,网络上就根本没有任何资料,也没有任何人进行过尝试,我也曾经有想法去折腾他,但是初步判断觉得他里面有太多的分支了,应该用了指令集后也不会有多大的速度区别,所以一直没有动手。   

c# - 是否有用于 HSV 到 RGB 的内置 C#/.NET 系统 API?

.NETFramework中是否为convertingHSVtoRGB内置了API??我没有在System.Drawing.Color中看到用于此的方法,但平台中没有这样的方法似乎令人惊讶。 最佳答案 没有内置的方法来执行此操作,但计算并不是非常复杂。另请注意,Color的GetHue()、GetSaturation()和GetBrightness()返回HSL值,而不是HSV。以下C#代码使用Wikipedia中描述的算法在RGB和HSV之间进行转换.我已经发布了这个答案here,但我会在此处复制代码以供快速引用。色相的范围是0-

c# - 是否有用于 HSV 到 RGB 的内置 C#/.NET 系统 API?

.NETFramework中是否为convertingHSVtoRGB内置了API??我没有在System.Drawing.Color中看到用于此的方法,但平台中没有这样的方法似乎令人惊讶。 最佳答案 没有内置的方法来执行此操作,但计算并不是非常复杂。另请注意,Color的GetHue()、GetSaturation()和GetBrightness()返回HSL值,而不是HSV。以下C#代码使用Wikipedia中描述的算法在RGB和HSV之间进行转换.我已经发布了这个答案here,但我会在此处复制代码以供快速引用。色相的范围是0-

c# - 如何创建白色的 1024x1024 RGB 位图图像?

问这个问题却找不到答案很尴尬。我试过了没用。ImageresultImage=newBitmap(image1.Width,image1.Height,PixelFormat.Format24bppRgb);using(Graphicsgrp=Graphics.FromImage(resultImage)){grp.FillRectangle(Brushes.White,0,0,image1.Width,image1.Height);resultImage=newBitmap(image1.Width,image1.Height,grp);}我基本上想在C#中用白色填充1024x102

c# - 如何创建白色的 1024x1024 RGB 位图图像?

问这个问题却找不到答案很尴尬。我试过了没用。ImageresultImage=newBitmap(image1.Width,image1.Height,PixelFormat.Format24bppRgb);using(Graphicsgrp=Graphics.FromImage(resultImage)){grp.FillRectangle(Brushes.White,0,0,image1.Width,image1.Height);resultImage=newBitmap(image1.Width,image1.Height,grp);}我基本上想在C#中用白色填充1024x102

c# - 如何从 RGB 代码中获取画笔?

我怎样才能得到一个Brush来设置背景,例如来自RGB代码的Grid。我将RGB代码作为int:R=12B=0G=255我需要知道如何将它转换成Brush 最佳答案 varbrush=newSolidColorBrush(Color.FromArgb(255,(byte)R,(byte)G,(byte)B));myGrid.Background=brush; 关于c#-如何从RGB代码中获取画笔?,我们在StackOverflow上找到一个类似的问题: htt

c# - 如何从 RGB 代码中获取画笔?

我怎样才能得到一个Brush来设置背景,例如来自RGB代码的Grid。我将RGB代码作为int:R=12B=0G=255我需要知道如何将它转换成Brush 最佳答案 varbrush=newSolidColorBrush(Color.FromArgb(255,(byte)R,(byte)G,(byte)B));myGrid.Background=brush; 关于c#-如何从RGB代码中获取画笔?,我们在StackOverflow上找到一个类似的问题: htt

RGB颜色对照表

常用颜色:白色:rgb(255,255,255)黑色:rgb(0,0,0)红色:rgb(255,0,0)绿色:rgb(0,255,0)蓝色:rgb(0,0,255)青色:rgb(0,255,255)紫色:rgb(255,0,255)颜色大全RGB颜色对照表对照表 

NX二次开发 根据RGB颜色获取UG颜色ID UF_DISP_ask_closest_color

简介:    NX二次开发根据RGB颜色获取UG颜色IDUF_DISP_ask_closest_color,函数都封装好了直接用吧。代码://************************************************************************//说明:根据RGB颜色获取UG颜色ID//参数doubledouRGB[3]:红、绿、蓝色值[0,255]//返回值int:UG颜色ID//************************************************************************intgetNXColor(

c# - 将 System.Drawing.Color 转换为 RGB 和十六进制值

我尝试使用C#开发以下两个。我这样做的方式可能有一些问题,需要您的建议。另外,不知道有没有现成的方法可以做到这一点。privatestaticStringHexConverter(System.Drawing.Colorc){Stringrtn=String.Empty;try{rtn="#"+c.R.ToString("X2")+c.G.ToString("X2")+c.B.ToString("X2");}catch(Exceptionex){//doingnothing}returnrtn;}privatestaticStringRGBConverter(System.Drawin