我对从使用PIL加载函数打开的图像返回的像素值有疑问。我正在使用以下代码:frame=Image.open(fname).load()a=frame[10,10]如果我加载一个GIF图像,a是整数值43。但是如果我将图像转换为JPEG并重新运行代码,a是一个元组(253,254,100)。为什么?我如何将(253,254,100)转换回43? 最佳答案 GIF是托盘化的,而JPEG是RGB的。转换图像的操作会处理调色板,因此您必须查看GIF中的调色板条目以找到与所需颜色最接近的匹配项。
我试图在不先保存图像的情况下将pyBarcode的输出转换为PIL图像文件。首先,pyBarcode生成一个像这样的图像文件:>>>importbarcode>>>frombarcode.writerimportImageWriter>>>ean=barcode.get_barcode('ean','123456789102',writer=ImageWriter())>>>filename=ean.save('ean13')>>>filenameu'ean13.png'正如您在上面看到的,我不希望将图像实际保存在我的文件系统中,因为我希望将输出处理成PIL图像。所以我做了一些修改:i
使用PIL在图像上编写简单的文本很容易。draw=ImageDraw.Draw(img)draw.text((10,y),text2,font=font,fill=forecolor)但是,当我尝试写希伯来标点符号(称为“nikud”或ניקוד)时,字符没有按预期重叠。(我想这个问题也与阿拉伯语和其他类似语言有关。)在支持环境下,这两个词占用相同的空间/宽度(以下示例取决于您的系统,因此图像):英语翻译然而,当我用PIL绘制文本时,我得到:סֶפֶø因为库可能不遵守字距调整(?)规则。是否可以让字符和希伯来标点符号占用相同的空间/宽度而无需手动编写字符定位?image-nikudan
我在业余时间处理一个小问题,涉及分析通过显微镜获得的一些图像。它是一block晶圆,到处都是一些东西,最终我想编写一个程序来检测某些Material何时出现。无论如何,第一步是标准化整个图像的强度,因为镜头不会发出均匀的闪电。目前我使用的图像,没有任何东西,只有基材,作为背景或引用图像。我找到了RGB的三个(强度)值中的最大值。fromPILimportImagefromPILimportImageDrawrmax=0;gmax=0;bmax=0;rmin=300;gmin=300;bmin=300im_old=Image.open("test_image.png")im_back=I
我想使用PIL向用户显示图像,当用户单击此图像上的任意位置时,我希望调用defonmousedown(x,y)。我会在这个函数中做一些额外的事情。我怎样才能在PIL中做到这一点?谢谢, 最佳答案 PIL不会单独完成——PIL是一个没有用户界面的图像处理库——它有一个show方法,它打开一个显示图像的外部程序,但是不与Python进程进行通信。因此,为了能够让用户与图像进行交互,必须使用与Python一起使用的综合工具包之一构建GUI程序-更为人所知的是Tkinter、GTK和Qt4。Tkinter很有趣,因为它预装在WindowsP
我正在尝试使用PIL从numpy数组中读取图像,方法是执行以下操作:fromPILimportImageimportnumpyasnp#imgisanparraywithshape(3,256,256)Image.fromarray(img)出现以下错误:File"...Image.py",line2155,infromarrayraiseTypeError("Cannothandlethisdatatype")我认为这是因为fromarray期望形状为(height,width,num_channels)但是我拥有的数组的形状为(num_channels,height,width)因
我正在使用以下代码加载图像image=PIL.Image.open(file_path)image=np.array(image)有效,但数组的大小似乎是(X,X,4),即它有4层。我想要普通的RGB图层。可能吗?更新我发现仅删除第4个channel是不够的。需要以下代码:image=PIL.Image.open(file_path)image.thumbnail(resample_size)image=image.convert("RGB")image=np.asarray(image,dtype=np.float32)/255image=image[:,:,:3]为什么?
所以我在macbookpro上运行python2.6并尝试用python编写代码以在tkintergui上的标签中显示文件中的图像。该图像称为image.png。当我使用这段代码时程序运行没有错误i=Image.open("image.png")但是当我执行这段代码时(我添加了一行):i=Image.open("image.png")photo=ImageTk.PhotoImage(i)程序将崩溃并在命令行中显示“总线错误”。我什至不知道那是什么意思。我认为PIL安装正确,因为Image可以工作,但ImageTk不工作这一事实让我感到困惑。谁能告诉我可能导致此总线错误的原因是什么?编辑
我正在尝试在我的机器上运行一个网络应用程序/网站,它在OSX10.6.2上运行,但我遇到了一些问题:Caughtanexeptionwhilerending:The_imagingftCmoduleisnotinstalled在python中执行import_imagingft给我这个:>>>import_imagingftTraceback(mostrecentcalllast):File"",line1,inImportError:dlopen(/Library/Python/2.6/site-packages/PIL/_imagingft.so,2):Symbolnotfound
我使用easy_install安装了PIL,但出于某种原因,当我运行一个使用它的文件时,我得到:ImportError:NomodulenamedPIL有人知道为什么会这样吗?我认为还值得一提的是,我通过easy_install安装了web.py,它工作正常。 最佳答案 我也遇到了同样的问题。对我来说,它看起来像是PILeasy_install过程中的错误。该库已安装,但您必须从导入中省略PIL(又名importImage作品),这显然是错误的。要解决,不要使用easy_install来执行安装。下载tar包并pythonsetup