我正在从这里寻找示例和问题。我创造了东西。我想要 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:但我怎么能解决不知道吗?
谢谢你的兴趣?干得好..
我想使用 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”并没有给出一个很好的比例因子。
再次,你的帮助。
我正在尝试使用 PIL 并按照此线程在灰度 png 上写一些文本。这看起来很简单,但我不确定我做错了什么。
然而,当我尝试这样做时,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 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) 我正在编写一个脚本,用于调整和优化要在网站上使用的图像(在本例中为 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
在使用 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)
这两个陈述都给了我一个错误。我在这里做错了什么?
我在 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
我想在图像上设置水印文本...所以我尝试使用 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 游戏,它从其目录中的文件中获取图像。我想让它甚至不需要这些文件。不知何故,将图像预先存储在一个变量中,以便我可以在程序中调用它,而无需额外的 .gif 文件的帮助
我使用图像的实际方式是
image = PIL.Image.open('image.gif')
Run Code Online (Sandbox Code Playgroud)
因此,如果您能准确地了解如何替换此代码,将会有所帮助
Django 努力寻找Pillow,我不太确定为什么。
基于 Linux Alpine 的 Docker 镜像,Django 2.2。以下是相关部分:
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 ×7
image ×3
python-3.x ×3
pillow ×2
alpine-linux ×1
crop ×1
django ×1
docker ×1
optimization ×1
python-2.7 ×1
python-3.5 ×1
zooming ×1