python的颜色表,python颜色对照表
使用蟒蛇PIL,我正在尝试调整hueofagivenimage。
我对漫画不太满意,所以我想"调整中心"正在执行thephotoshopoperationcalledyjdmd/satuturyjd
原件:
带色调调整到180(红色) :
withhueadjustedto-78(绿色) :
观看功能,给定一个pilimimageandflostewithin[0,360 ],返回上面例子中的图像及其水位移。
瓦蒂荒谬且明显没有给出想要的结果。它只是将原始图像与彩色文件元素半混合
导入图像
im=image.open(Tweeter.png))。
layer=image.new(RGB ,im.size, red ))hue selectionisdonebychoosingacolor .
output=image.blend(im,layer,0.5))。
输出.保存(输出.png , PNG )。
(请不要笑)结果:
高级谢谢进来!
解决方案:下面是我描述的内容。
导入图像
将数组作为铭牌导入
导入颜色系统
RGB _ to _ HSV=NP。矢量化(颜色系统. RGB _ to _ HSV)。
HSV _ to _ RGB=NP。矢量化(颜色系统. HSV _ to _ RGB)。
r、g、b、a=NP .Rollaxis(ARR,axis=-1)))))))))))))。
h,s,v=RGB_to_HSV(r,g,b))。
h=hout
r、g、b=HSV_to_RGB(h、s、v))。
arr=NP.d堆叠((r,g,b,a))
返回到达)
用给定的颜色绘制`原始`图像
“色调”( 0-360范围内的色调);返回通告程序太平航运图像。
ARR=NP .数组阿萨瑞.astype)"float ")
new _ img=image。from数组(shift _ hue(arr,hue/360 .).astype)、‘RGBA()))))。
return new_img
生态系统模块标准图书馆。myfirstattttemptused中有一个ythoncodetoconvertrgbtohsv(反之亦然)
RGB _ to _ HSV=NP。矢量化(颜色系统. RGB _ to _ HSV)。
HSV _ to _ RGB=NP。矢量化(颜色系统. HSV _ to _ RGB)。
不幸的是,使用NP。矢量器会导致sinratherslowcode。
iwasabletogoverroughly大约是翻译颜色的5倍。RGB _ to _ hsvandcolorsys .HSV _ to _ rgbintonativenumpyopersys
导入图像
将数组作为铭牌导入
# translatedfromsourceofcolorsys .RGB _ to _ HSV
# r、g和bsshouldbeanumpyarrays值介于0和255之间
# RGB _ to _ hsvreturnsanarrayofloats介于0.0与1.0之间。
RGB=RGB.astype(float )。
HSV=NP .类似零(RGB)
#如果传递了一个颜色数组,就复制一个通道
hsv[,33:]=rgb[,]
r,g,b=RGB[…,0],RGB[…,1],RGB[…,2]
maxc=NP.max(RGB[…,3],axis=-1))。
Minc=NP.min(RGB[…,3],axis=-1))))
hsv[ .2]=maxc
hsv[mask,1]=(maxc-minc)[mask]/maxc[mask]
RC=NP .类零(r)
GC=NP .类似零的(g)
BC=NP .零_喜欢(b)
RC[mask]=[maxc-r][mask]/[maxc-minc][mask]
GC[mask]=[maxc-g][mask]/[maxc-minc][mask]
BC[mask]=[maxc-b][mask]/[maxc-minc][mask]
hsv[ .0]=np.select(
hsv[ .0]=(HSV[ .0]/6.0 ) % 1.0
返回hsv色彩模型色彩模型
# translatedfromsourceofcolorsys .HSV _ to _ RGB
# h,sshouldbeanumpyarrays with values between值介于0.0和1.0之间
# vsshouldbeanumpyraywithvaluesbetween介于0.0和255.0之间
# HSV _ to _ rgbreturnnasarrayofuints between 0和255 .
RGB=NP.empty_like(HSV)
rgb[,33:]=hsv[,]
h,s,v=HSV[…,0],HSV[…,1],HSV[…,2]
I=(h*6.0).如同类型(uint8))))))))))。
f=(h*6.0 )- i
p=v * (1.0秒)
q=v*(1.0-s*f))。
t=v*(1.0-s* ) 1.0-f))
i=i % 6
条件=[s==0.0,i==1,i==2,i==3,i==4,i==5]
rgb[ .0]=NP.select(条件,[v,q,p,p,t,v],默认=v)。
rgb[ .1]=NP.select(条件,[v,v,v,q,p,p],默认=t)))))))。
rgb[ .2]=NP.select(条件,[v,p,t,v,v,q],默认=p)))。
returnRGB.astype(uint8 )。
HSV=RGB_to_HSV(arr)
hsv[ .0]=hout
RGB=HSV_to_RGB(HSV)
返回RGB
是ARR=NP .阵列(图像)
if __name__==__main__ :
绿色色调=(180-78 )/360.0
红色色调=(180-180 )/360.0
new _ img=image。from array(shift _ hue)arr,red_hue),‘RGBA’))
new_img.save(Tweeter_red.png))。
new _ img=image。from array(shift _ hue)arr,green_hue),‘RGBA’))
new_img.save(Tweeter_green.png))。
颐德
与与
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。