我正在使用python的colorsys库将RGB颜色值转换为HLS。只是为了验证,我尝试转换回RGB并得到不同的值。由于精度问题,我可以理解细微差别,但这些值有很大不同。这是我的代码:importcolorsysr=192g=64b=1hlsval=colorsys.rgb_to_hls(r,g,b)rgbval=colorsys.hls_to_rgb(hlsval[0],hlsval[1],hlsval[2])printhlsval,rgbval输出:(0.16666666666666666,96.5,-1.0)(191.99999999999994,192.0,1.0)绿色值相差
如果我有一个RGB小数,例如255,165,0,我该怎么做才能将其转换为CMYK?例如:>>>red,green,blue=255,165,0>>>rgb_to_cmyk(red,green,blue)(0,35,100,0) 最佳答案 这是Javascriptimplementation的Python端口.RGB_SCALE=255CMYK_SCALE=100defrgb_to_cmyk(r,g,b):if(r,g,b)==(0,0,0):#blackreturn0,0,0,CMYK_SCALE#rgb[0,255]->cmy[0
我正在尝试自动增强一些要传输到数码相框的图像。我有调整大小的代码,将日期/时间添加到图像的最不重要(最少细节)的角落并将成对的肖像图像粘贴在一起以避免在框架的41:20低分辨率屏幕中显示单个肖像。我使用colorsys.rgb_to_hsv为那些光线不太好的图片实现了亮度拉伸(stretch)滤镜。计算H、S、V波段的函数,对V波段进行操作,然后在将JPEG保存在数字帧中之前转换回RGB。显然,转换需要很多时间,即使使用itertools技巧;我设法使用psyco改进了一些东西.但是,我注意到PIL的示例Image.convert其中RGB可以转换为XYZcolorspace使用4×4
我有代码:importpygame.camerapygame.camera.init()cam=pygame.camera.Camera(pygame.camera.list_cameras()[0])cam.start()img=cam.get_image()img变量是我找到了getnumpyarrayfrompygame但我仍然不知道如何有效地将它转换为RGB颜色的numpy数组。 最佳答案 用于从classpygame.Surface抓取3D图像数据,使用.array3d(),正如文档所述-Copypixelsintoa3d
使用Python图像库,我可以调用img.convert("P",palette=Image.ADAPTIVE)或img.convert("P",palette=Image.WEB)但有没有办法转换成任意调色板?p=[]foriinrange(0,256):p.append(i,0,0)img.convert("P",palette=p)它将在哪里将每个像素映射到图像中找到的最接近的颜色?还是Image.WEB仅支持此功能? 最佳答案 在查看convert()的源代码时,我发现它引用了im.quantize。quantize可以采用
我有一个形状为(34799,32,32,3)的numpy数组,这意味着(numexamples,width,height,channels)。现在我使用以下代码规范化图像数据:defnormalize(x):return(x-128)/128X_train_norm=normalize(X_train)但是结果好像不对,X_train[0][0][0]的值是[282524],但是的输出>X_train_norm[0][0][0]是[1.218751.19531251.1875]。我使用以下测试代码:test=np.array([[[[28,25,24]]]])print((test-1
我有一张RGB图像,我想将其转换为灰度图像,这样我就可以为每个像素指定一个数字(可能介于0和1之间)。这给了我一个矩阵,它的尺寸等于图像像素的尺寸。然后我想对这个矩阵做一些操作,并从这个被操作的矩阵生成一个新的灰度图像。我该怎么做? 最佳答案 我经常使用NumPy数组形式的图像-我是这样做的:importnumpyasnpfromPILimportImagex=Image.open('im1.jpg','r')x=x.convert('L')#makesitgreyscaley=np.asarray(x.getdata(),dtyp
我想用Python改变一种颜色。如果存在使用PIL的快速解决方案,我会更喜欢此解决方案。目前,我使用convert-backgroundblack-opaque'#939393'MyImage.pngMyImage.png 最佳答案 如果numpy在您的机器上可用,请尝试执行以下操作:importnumpyasnpfromPILimportImageim=Image.open('fig1.png')data=np.array(im)r1,g1,b1=0,0,0#Originalvaluer2,g2,b2=255,255,255#Va
PILv1.1.7使用的算法给出了“褪色”的结果。使用ffmpeg转换相同的源数据时,它看起来是正确的。使用mplayer会得到与ffmpeg相同的结果(也许它们在下面使用相同的库)。这使我相信PIL可能会阻塞色彩空间转换。转换似乎源自libImaging/ConvertYCbCr.c:/*JPEG/JFIFYCbCrconversionsY=R*0.29900+G*0.58700+B*0.11400Cb=R*-0.16874+G*-0.33126+B*0.50000+128Cr=R*0.50000+G*-0.41869+B*-0.08131+128R=Y++(Cr-128)*1.40
有没有办法在python中使用pygame模块将HSV颜色参数转换为RGB类型颜色参数?我尝试了以下代码,但它返回了荒谬的值。importcolorsystest_color=colorsys.hsv_to_rgb(359,100,100)print(test_color)并且此代码返回以下废话(100,-9900.0,-9900.0)这显然不是RGB。我做错了什么? 最佳答案 该函数需要s(饱和度)和v(值)的小数,而不是百分比。除以100。>>>importcolorsys#Usingpercent,incorrect>>>te