如何裁剪居中的图像?因为我知道该框是定义左、上、右和下像素坐标的4元组,但我不知道如何获取这些坐标,所以它在中心裁剪。 最佳答案 假设您知道要裁剪到的尺寸(new_widthXnew_height):importImageim=Image.open()width,height=im.size#Getdimensionsleft=(width-new_width)/2top=(height-new_height)/2right=(width+new_width)/2bottom=(height+new_height)/2#Cropth
我正在尝试将条形码图像插入Reportlab。我知道对此有很多问题,但所有问题都假设您已经在目录或文件系统中拥有图像文件。由于Reportlab在EAN13条形码方面存在问题,我决定使用另一个名为pyBarcode的包为我生成图像。最初我将图像保存在StringIO实例中并将其直接传递给reportlab.platypus.flowables.Image但这似乎不起作用。然后我阅读了文档:FormatssupportedbyPIL/Java1.4(thePython/JavaImagingLibrary)aresupported.这是否意味着如果我传递一个PIL图像,这应该可以工作?当
我正在尝试使用Python来调整图片大小。用我的相机,文件都是横向写的。exif信息处理一个标签以要求图像查看器以某种方式旋转。由于大多数浏览器不理解此信息,我想使用此EXIF信息旋转图像并保留所有其他EXIF信息。你知道我如何使用Python做到这一点吗?阅读EXIF.py源代码,我发现了类似的东西:0x0112:('Orientation',{1:'Horizontal(normal)',2:'Mirroredhorizontal',3:'Rotated180',4:'Mirroredvertical',5:'Mirroredhorizontalthenrotated90CCW',
我正在尝试创建一组缩略图,每个缩略图都是从原始图像单独缩小的。image=Image.open(path)image=image.crop((left,upper,right,lower))forsizeinsizes:temp=copy.copy(image)temp.thumbnail((size,height),Image.ANTIALIAS)temp.save('%s%s%s.%s'%(path,name,size,format),quality=95)上面的代码似乎可以正常工作,但是在测试时我发现一些图像(我不知道它们有什么特别之处,可能只适用于PNG)会引发此错误:/usr
如何使用PIL检测PNG图像是否具有透明的alphachannel?img=Image.open('example.png','r')has_alpha=img.mode=='RGBA'通过上面的代码,我们知道PNG图像是否有alphachannel不是不知道,而是如何获取alpha值?如PIL'swebsite所述,我没有在img.info字典中找到“透明度”键。我使用的是Ubuntu和zlib1g,zlibc包已经安装。 最佳答案 要获得RGBA图像的alpha层,您需要做的就是:red,green,blue,alpha=img
我想从NumPy数组创建一个PIL图像。这是我的尝试:#CreateaNumPyarray,whichhasfourelements.Thetop-leftshouldbepure#red,thetop-rightshouldbepureblue,thebottom-leftshouldbepuregreen,#andthebottom-rightshouldbeyellow.pixels=np.array([[[255,0,0],[0,255,0]],[[0,0,255],[255,255,0]]])#CreateaPILimagefromtheNumPyarrayimage=Ima
我的头撞墙已经有一段时间了,所以也许有人可以帮忙。我正在使用PIL打开一个具有透明背景和一些随机黑色涂鸦的PNG,并尝试将其放在另一个PNG(不透明)之上,然后将其保存到第三个文件中。最后出来全黑,很烦人,因为我没说是黑的。我已经使用其他帖子中的多个建议修复对此进行了测试。图片以RGBA格式打开,但还是乱七八糟。另外,这个程序应该可以处理各种文件格式,这就是我使用PIL的原因。具有讽刺意味的是,我尝试的第一种格式很糟糕。任何帮助将不胜感激。代码如下:fromPILimportImageimg=Image.open(basefile)layer=Image.open(layerfile)
我正在尝试使用NumPy和PIL将两个图像添加在一起。我将在MATLAB中执行此操作的方式会是这样的:>>M1=imread('_1.jpg');>>M2=imread('_2.jpg');>>resM=M1+M2;>>imwrite(resM,'res.jpg');我得到这样的东西:alttexthttp://www.deadlink.cc/matlab.jpg使用合成程序并添加图像,MATLAB结果似乎是正确的。在Python中,我正在尝试做同样的事情:fromPILimportImagefromnumpyimport*im1=Image.open('/Users/rem7/Des
我想在互联网上查找图像的尺寸。我尝试使用fromPILimportImageimporturllib2asurllibfd=urllib.urlopen("http://a/b/c")im=Image.open(fd)im.size如thisanswer中的建议,但我收到错误消息addinfourlinstancehasnoattribute'seek'我检查了urllib2.urlopen(url)返回的对象似乎没有根据dir的seek方法。那么,我必须做些什么才能将Internet上的图像加载到PIL中? 最佳答案 您可以考虑使
我知道PIL已被弃用,所以我安装了Pillow,并且出于向后兼容性的原因,Pillow仍然使用PIL作为其模块名称。这是我的pipfreeze对于Pillow的样子:枕头=3.2.0这是我在代码中使用它的方式:importPILaspillowfromPILimportImage正如有人在类似帖子中建议的那样,我也尝试过importPILfromPILimportImage两者都不起作用。两者都给我这个错误:ImportError:NomodulenamedPIL另外,我试过了:importImage它给了我:ImportError:NomodulenamedImage非常感谢您的帮助