Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 我可以转换RGB>;HSV的简单方式?_Python 3.x_Colors - Fatal编程技术网

Python 3.x 我可以转换RGB>;HSV的简单方式?

Python 3.x 我可以转换RGB>;HSV的简单方式?,python-3.x,colors,Python 3.x,Colors,嗯。我正在创建一个色盲模拟器。我正在开发一个beta版,在这里,您只需在HSV/HSB中插入颜色属性,而不是整个图像 h = input('Hue: '); s = input('Saturation: '); v = input('Value/Brightness: '); 但是,我需要一个能将HSV/HSB转换成RGB的算法或方程式。我已经尝试了很多东西,但我花的大部分时间都是研究带有python无法使用的操作的算法,并试图将它们转换为python能够理解的内容。所以,我只想要一个简单的算

嗯。我正在创建一个色盲模拟器。我正在开发一个beta版,在这里,您只需在HSV/HSB中插入颜色属性,而不是整个图像

h = input('Hue: ');
s = input('Saturation: ');
v = input('Value/Brightness: ');
但是,我需要一个能将HSV/HSB转换成RGB的算法或方程式。我已经尝试了很多东西,但我花的大部分时间都是研究带有python无法使用的操作的算法,并试图将它们转换为python能够理解的内容。所以,我只想要一个简单的算法,如果你不知道它是如何工作的,那就好了;但是请。如果我可以转换RGB>HSV,并且两者都不需要任何导入,那也太好了。此外,如果必须将HSV替换为HSL也无所谓。

实施Machado、Oliveira和Fernandes(2009)色觉缺陷(CVD)模型:

H=0#输入('Hue:'))
S=0.95#输入('饱和:')
V=0.75#输入('值/亮度:')
缺陷=‘保护异常’#输入(‘缺陷(保护异常、正常、异常)’)
严重性=0.75#输入(“严重性[0,1]”)
#假设线性H、S、V输入。
HSV=[H,S,V]
RGB=颜色.cctf_解码(颜色.HSV_到_RGB(HSV))
M_a=颜色、失明、矩阵cvd_Machado2009(缺陷、严重性)
RGB_a=颜色.实用程序.矢量_点(M_a,RGB)
颜色。打印。打印多个颜色样本(颜色。cctf编码([RGB,RGB_a]);

对于色轮:

def color\u wheel(示例=512,clip\u circle=True,方法='color'):
xx,yy=np.meshgrid(
np.linspace(-1,1,示例),np.linspace(-1,1,示例))
S=np.sqrt(xx**2+yy**2)
H=(np.arctan2(xx,yy)+np.pi)/(np.pi*2)
HSV=颜色、实用程序、tstack([H、S、np.ones(H.shape)])
RGB=颜色。HSV到RGB(HSV)
如果clip_circle==真:
RGB[S>1]=0
if method.lower()
RGB=color.utilities.orient(RGB,“翻转”)
RGB=color.utilities.orient(RGB,'90 CW')
返回RGB
颜色.打印.打印图像(color.cctf\u编码(
颜色(车轮)();;
颜色.打印.打印图像(color.cctf\u编码(
颜色。实用程序。向量_点(M_a,color_wheel());

实施Machado、Oliveira和Fernandes(2009)色觉缺陷(CVD)模型:

H=0#输入('Hue:'))
S=0.95#输入('饱和:')
V=0.75#输入('值/亮度:')
缺陷=‘保护异常’#输入(‘缺陷(保护异常、正常、异常)’)
严重性=0.75#输入(“严重性[0,1]”)
#假设线性H、S、V输入。
HSV=[H,S,V]
RGB=颜色.cctf_解码(颜色.HSV_到_RGB(HSV))
M_a=颜色、失明、矩阵cvd_Machado2009(缺陷、严重性)
RGB_a=颜色.实用程序.矢量_点(M_a,RGB)
颜色。打印。打印多个颜色样本(颜色。cctf编码([RGB,RGB_a]);

对于色轮:

def color\u wheel(示例=512,clip\u circle=True,方法='color'):
xx,yy=np.meshgrid(
np.linspace(-1,1,示例),np.linspace(-1,1,示例))
S=np.sqrt(xx**2+yy**2)
H=(np.arctan2(xx,yy)+np.pi)/(np.pi*2)
HSV=颜色、实用程序、tstack([H、S、np.ones(H.shape)])
RGB=颜色。HSV到RGB(HSV)
如果clip_circle==真:
RGB[S>1]=0
if method.lower()
RGB=color.utilities.orient(RGB,“翻转”)
RGB=color.utilities.orient(RGB,'90 CW')
返回RGB
颜色.打印.打印图像(color.cctf\u编码(
颜色(车轮)();;
颜色.打印.打印图像(color.cctf\u编码(
颜色。实用程序。向量_点(M_a,color_wheel());

维基百科上有。您只需检查您拥有的数据类型(完整范围或有限范围,如在许多视频中),以及e.v.颜色空间。不,很简单。3个公式。在任何情况下,公式都存在。如果不改变数字的含义,就无法进一步简化它们,因此也就没有什么用处了。@GiacomoCatenazzi,我尝试将此公式转换为python,但出于某种原因,当我输入色调为0,饱和度为100,值为100时,我得到[1.0,1.0,0]。你们有python解决方案吗?圣诞快乐(如果你庆祝的话)。哦,等等;我应该输入h=0,s=1,v=1。非常感谢。另外,在github上,我发现了一个python解决方案,Wikipedia有它们。您只需检查您拥有的数据类型(完整范围或有限范围,如在许多视频中),以及e.v.颜色空间。不,很简单。3个公式。在任何情况下,公式都存在。如果不改变数字的含义,就无法进一步简化它们,因此也就没有什么用处了。@GiacomoCatenazzi,我尝试将此公式转换为python,但出于某种原因,当我输入色调为0,饱和度为100,值为100时,我得到[1.0,1.0,0]。你们有python解决方案吗?圣诞快乐(如果你庆祝的话)。哦,等等;我应该输入h=0,s=1,v=1。非常感谢。另外,在github上,我发现了一个python解决方案。请给我一个公式好吗?此外,如果没有进口也很好,谢谢。上述转换需要大量的光谱计算,没有Machado、Oliveira和Fernandes(2009)CVD模型的公式。如果Machado、Oliveira和Fernandes(2009)没有进口,我指的是将RGB转换为HSV的公式CVD模型包含一个或发布其代码。我在色盲方面肯定很好,谢谢。在已经包含的github链接中,我找不到任何带有将RGB转换为HSV公式的代码。给你:请,你能给我一个公式吗?此外,如果没有进口也很好,谢谢。上述转换需要大量的光谱计算,没有Machado、Oliveira和Fernandes(2009)CVD模型的公式。如果Machado、Oliveira和Fernandes(2009)没有进口,我指的是将RGB转换为HSV的公式CVD模型包含一个或发布其代码。我在色盲方面肯定很好,谢谢。在已经包含的github链接中,我可以