标签: python-imaging-library

Python PIL - 像素 rgb 颜色到十六进制

我正在从这里寻找示例和问题。我创造了东西。我想要 rgb 对像素进行十六进制。我的代码,但我没有解决,

#-*- coding: utf-8 -*-

import Image

def read(ch):
    return list(ch.getdata())

def hex2rgb(v):
    v = v.lstrip('#')
    lv = len(v)
    return tuple(int(v[i:i+lv/3], 16) for i in range(0, lv, lv/3))

def rgb2hex(rgb):
    return '#%02x%02x%02x' % rgb

imj = Image.open('sample.png','r')
x,y = imj.size
pix = list(imj.getdata())

if imj.mode in ('RGBA','LA') or (imj.mode == 'P' and 'transparency' in imj.info):   
    red,green,blue,alfa = imj.convert('RGBA').split()
    #rgb = imj.convert('RGBA').split()[:-1]

    r,g,b,a = read(red),read(green),read(blue),read(alfa)

for r_,g_,b_ in r,g,b:
    print rgb2hex((r_,g_,b_))
Run Code Online (Sandbox Code Playgroud)

错误是在这里为R_,G_,B_在R,G,B:但我怎么能解决不知道吗?

谢谢你的兴趣?干得好..

python python-imaging-library

1
推荐指数
1
解决办法
1万
查看次数

在 Python PIL 中使用可设置的中心和比例裁剪图像

我想使用 PIL 裁剪图像,尽管它可能是其他一些模块。我需要使用比例因子进行裁剪的方法,即 1.5 意味着输出将放大 1.5 倍。此外,我需要设置放大的中心。这意味着将 x/2,y/2 设置为中心会直接缩放到中心,但其他 x,y 值会缩放到这些像素。

如果有人知道如何做到这一点,我将非常感谢任何帮助。

现在我有一些使用 ims = im.crop((int((xx/i)/2), int((yy/i)/2), int((x+(x/i))/2) 的裁剪, int((y+(y/i))/2))) 但这只会放大到中心,而“i”并没有给出一个很好的比例因子。

再次,你的帮助。

python image crop zooming python-imaging-library

1
推荐指数
1
解决办法
2850
查看次数

无法使用 PIL 和 python 2.7 将文本写入灰度 PNG

我正在尝试使用 PIL 并按照此线程在灰度 png 上写一些文本。这看起来很简单,但我不确定我做错了什么。

使用 PIL 在图像上添加文本

然而,当我尝试这样做时,draw.text函数就死了:

from PIL import Image, ImageDraw, ImageFont
img = Image.open("test.png")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("open-sans/OpenSans-Regular.ttf", 8)
# crashes on the line below:
draw.text((0, 0), "Sample Text", (255, 255, 255), font=font)
img.save('test_out.png')
Run Code Online (Sandbox Code Playgroud)

这是错误日志:

"C:\Python27\lib\site-packages\PIL\ImageDraw.py", line 109, in _getink
ink = self.draw.draw_ink(ink, self.mode)
TypeError: function takes exactly 1 argument (3 given)
Run Code Online (Sandbox Code Playgroud)

谁能指出我的问题?

python-imaging-library python-2.7 pillow

1
推荐指数
1
解决办法
1374
查看次数

显示导入错误:在使用 PIL 导入图像时无法导入名称“模板”

我目前正在开发图像识别程序使用:python 3.5 PyCharm Community Edition 2016.3 作为 IDE,我使用pip install Pillow安装了 Pillow 3.1.2

我的代码是:

from PIL import Image
im = Image.open('images/dot.png')
im.load()
Run Code Online (Sandbox Code Playgroud)

RUN 时显示错误

Traceback (most recent call last):
  File "/home/harry/PycharmProjects/python study/image.py", line 1, in <module>
    from PIL import Image
  File "/usr/lib/python3/dist-packages/PIL/Image.py", line 31, in <module>
    import logging
  File "/usr/lib/python3.5/logging/__init__.py", line 28, in <module>
    from string import Template
ImportError: cannot import name 'Template'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils …
Run Code Online (Sandbox Code Playgroud)

python-imaging-library pillow python-3.5

1
推荐指数
1
解决办法
4358
查看次数

PIL 图像压缩

我正在编写一个脚本,用于调整和优化要在网站上使用的图像(在本例中为 Iphone 图片)。到目前为止,我编写了这个简单的脚本,它使文件大小减少了大约 35%,但我希望我可以进一步缩小文件大小。有没有办法进一步优化这个脚本?任何帮助深表感谢!

from PIL import Image

img = Image.open('file location')
newImage = img.resize((1024, 768), Image.ANTIALIAS)         

newImage.save('new file location', optimize=True, quality=95)

newImage.show()                                               
Run Code Online (Sandbox Code Playgroud)

python optimization image image-compression python-imaging-library

1
推荐指数
1
解决办法
7439
查看次数

ImageGrab.grab(bbox) 和 Image.getpixel() 一起使用

在使用 PIL.ImageGrab 中的抓取函数时,有一个名为 bbox 的参数,它指定应获取屏幕抓取的边界框。当我想获取特定像素的值时,坐标应该是什么?例如:

im = ImageGrab.grab(bbox=(500, 500, 600, 700)
print(im.getpixel(510, 510))
print(im.getpixel(10, 10))
Run Code Online (Sandbox Code Playgroud)

这两个陈述都给了我一个错误。我在这里做错了什么?

python python-imaging-library python-3.x

1
推荐指数
1
解决办法
1万
查看次数

pytesseract image_to_string 不拉字符串,但没有错误

我在 pytesseract 包中使用 image_to_string 函数将单个图片文件的多个部分转换为字符串。除此图像外,所有部件均正常工作:

在此处输入图片说明

这是我用来转换它的脚本:

from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'

im = Image.open('image.png')
text = pytesseract.image_to_string(im)
print(text)
Run Code Online (Sandbox Code Playgroud)

这给出了输出:

—\—\—\N—\—\—\—\—\N

我尝试将图像分解成更小的部分,并将图像处理为 jpg 和 png。我该怎么做才能让它输出图像中的值?

image image-processing python-imaging-library python-3.x python-tesseract

1
推荐指数
1
解决办法
3720
查看次数

如何在python中的图像上设置水印文本

我想在图像上设置水印文本...所以我尝试使用 PIL 库

def watermark_text(input_image,
                   output_image,
                   text, pos):
    photo = Image.open(input_image)
    drawing = ImageDraw.Draw(photo)

    color = (255, 180, 80)
    font = ImageFont.truetype("arial.ttf", 40)
    drawing.text(pos, text, fill=color, font=font)
    photo.show()
    photo.save(output_image)

if __name__ == '__main__':
    img = 'cat.jpg'
    watermark_text(img, 'cats.jpg',
                   text='Sample Location Text',
                   pos=(180, 200))
Run Code Online (Sandbox Code Playgroud)

但我想要这种类型的十字和透明颜色的文本:

python python-imaging-library

1
推荐指数
1
解决办法
2189
查看次数

如何将图像保存为变量?

现在,我有一个带有精灵的 python 游戏,它从其目录中的文件中获取图像。我想让它甚至不需要这些文件。不知何故,将图像预先存储在一个变量中,以便我可以在程序中调用它,而无需额外的 .gif 文件的帮助

我使用图像的实际方式是

image = PIL.Image.open('image.gif')
Run Code Online (Sandbox Code Playgroud)

因此,如果您能准确地了解如何替换此代码,将会有所帮助

python python-imaging-library python-3.x

1
推荐指数
1
解决办法
1万
查看次数

尽管安装了 Django,但找不到 Pillow

Django 努力寻找Pillow,我不太确定为什么。

环境

基于 Linux Alpine 的 Docker 镜像,Django 2.2。以下是相关部分:

Dockerfile

RUN apk update \
    && apk add --virtual build-deps gcc python3-dev musl-dev jpeg-dev zlib-dev \
    && apk add --no-cache mariadb-dev mariadb-client

# install dependencies
RUN pip install --upgrade pip
RUN pip install pipenv
RUN pip install mysqlclient
COPY ./Pipfile /usr/src/cms/Pipfile
RUN pipenv install --skip-lock --system --dev
RUN apk del build-deps
Run Code Online (Sandbox Code Playgroud)

文件

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
django = "==2.2"
markdown …
Run Code Online (Sandbox Code Playgroud)

python django python-imaging-library docker alpine-linux

1
推荐指数
1
解决办法
1552
查看次数