我想拍摄一张RGB图像并将其转换为黑白RGB图像,如果像素的HSV值在某个范围之间,则该像素为黑色,否则为白色。目前我创建了一个新图像,然后通过遍历它的数据创建一个新像素值列表,然后.putdata()该列表形成新图像。感觉应该有一种更快的方法来做到这一点,例如使用.point(),但似乎.point()没有获得给定的像素,而是从0到255的值。是否有.point()变换但在像素上? 最佳答案 好的,这确实有效(修复了一些溢出错误):importnumpy,Imagei=Image.open(fp).convert('RGB')a=
无论如何,PIL是否会调整到我给它的确切尺寸?或者如果我给它类似Image.ANTIALIAS参数,它会尝试保持宽高比吗? 最佳答案 是的,它将使用thumbnail方法保持纵横比:image=Image.open(source_path)image.thumbnail((500,500),Image.ANTIALIAS)image.save(dest_path,"JPEG") 关于python-PythonPIL调整大小是否保持纵横比?,我们在StackOverflow上找到一个类似的
我刚刚完成xcode安装,macosxlion。完成后,我尝试使用pip、easy_install和homebrew在虚拟环境中安装PIL。这三个人都犯了错误。pipinstall出现以下错误:点子`unabletoexecutegcc-4.0:Nosuchfileordirectoryerror:command'gcc-4.0'failedwithexitstatus1`easy_install无法执行gcc-4.0:没有那个文件或目录错误:安装脚本因错误而退出:命令“gcc-4.0”失败,退出状态为1homebrew错误:执行失败:pythonsetup.pybuild_ext我真
我有一个脚本,它使用GoogleMapsAPI下载一系列大小相等的方形卫星图像并生成PDF。图像需要事先旋转,我已经使用PIL这样做了。我注意到,由于光线和地形条件不同,有些图像太亮,有些太暗,生成的pdf最终有点难看,“现场”阅读条件不太理想(这是野外山地自行车,我想要打印特定十字路口的缩略图)。(编辑)然后的目标是使所有图像最终具有相似的表观亮度和对比度。因此,太亮的图像必须变暗,而暗的图像必须变亮。(顺便说一句,我曾经用过imagemagickautocontrast,或者auto-gamma,或者equalize,或者autolevel,或类似的东西,在医学图像中有有趣的结果,
我看到这个问题在整个互联网上都被问到,我已经尝试了所有的问题,但我仍然无法让PIL工作。我尝试通过以下方式符号链接(symboliclink)zlib、jpeg等库:sudoln-s/usr/lib/x86_64-linux-gnu/libfreetype.so/usr/lib/sudoln-s/usr/lib/x86_64-linux-gnu/libz.so/usr/lib/sudoln-s/usr/lib/x86_64-linux-gnu/libjpeg.so/usr/lib/我尝试编辑setup.py文件,添加以下行:add_directory(library_dirs,"/us
我正在使用python/PIL在一组PNG图像上写入文本。我能够获得我想要的字体,但我现在想用黑色勾勒出文本轮廓。这是我的:如您所见,如果背景是白色,则很难阅读。这是目标:有没有办法用PIL来完成这个?如果没有,我愿意听取其他建议,但没有promise,因为我已经使用PIL在python中开始了一个大型项目。处理图像绘制的代码部分:foriinrange(0,max_frame_int+1):writeimg=Image.open("frameinstance"+str(i)+".png")newimg=Image.new("RGB",writeimg.size)newimg.past
我似乎无法使这段代码正常工作:importImage,ImageDrawim=Image.open("1.jpg")draw=ImageDraw.Draw(im)draw.ellipse((60,60,40,40),fill=128)deldrawim.save('output.png')im.show()这应该在(60,60)处绘制一个40x40像素的椭圆。图像不返回任何内容。但是这段代码工作正常:draw.ellipse((0,0,40,40),fill=128)似乎当我更改前2个坐标(对于应该放置椭圆的位置)时,如果它们大于要绘制的椭圆的大小,它将不起作用。例如:draw.ell
我有这样一个网址data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxITEhUUEhQUFRUXGBcVFxgXFxUXGBQYGBYXGBQWFRUYHCggGB0lHBQXITIhJSkrLi4uFyAzODMsNygtLisBCgoKDg0OGxAQGywkICQsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLP/AABEIANcA6gMBEQACEQEDEQH/xAAbAAACAgMBAAAAAAAAAAAAAAAEBQMGA
我有一个应该改变对比度的程序,但我觉得它并没有真正改变对比度。它把一些区域变成了红色,而我不希望这样。如果能告诉我怎么删除,谢谢。这是代码:fromPILimportImagedefchange_contrast(img,level):img=Image.open("C:\\Users\\omar\\Desktop\\Site\\Images\\obama.png")img.load()factor=(259*(level+255))/(255*(259-level))forxinrange(img.size[0]):foryinrange(img.size[1]):color=img
fromPILimportImageimg=Image.open('1.png')img.save('2.png')第一张图片背景是透明的,但是当我保存的时候,透明感消失了(背景是白色的)我做错了什么? 最佳答案 可能图像已被索引(PIL中的模式“P”),因此透明度未在PNGalphachannel中设置,而是在元数据信息中设置。您可以使用以下代码获取透明背景调色板索引:fromPILimportImageimg=Image.open('1.png')png_info=img.infoimg.save('2.png',**png_i