标签: python-imaging-library

如何在 Python 中在图像上编写线条和网格?

import numpy as np
from matplotlib import cm
from matplotlib import pyplot as plt
import Image
from scipy import ndimage
import Image, ImageDraw
import PIL
import cv
import cv2
from scipy.ndimage import measurements, morphology
from PIL import Image
from numpy import *
from scipy.ndimage import filters
import pylab
import mahotas
from mamba import*
import mambaDraw
from PIL import Image, ImageDraw

img = np.asarray(Image.open('test.tif').convert('L'))
img = 1 * (img < 127)

draw = ImageDraw.Draw(img) 
draw.line((100,200, 150,300), fill=128)

plt.imshow(img, cmap=cm.Greys_r)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想在图像上放置一些网格线,但出现以下错误: …

python opencv image matplotlib python-imaging-library

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

为什么 PIL 无法在我的代码中合并 2 个图像?

我正在尝试使用 Image.paste 函数将 2 个图像组合成一个更大的图像。我首先创建一个可以容纳两个图像的图像,然后粘贴这两个图像:

wrapper = Image.new("I", (width, height+textHeight));

if placement=="bottom":
 wrapper.paste(img1); 
 wrapper.paste(textImage, (0, height, width, textHeight));
else:
 wrapper.paste(textImage);
 wrapper.paste(img1, (0,textHeight));
Run Code Online (Sandbox Code Playgroud)

然后我每次都会收到这个错误:

 File "C:\Python27\lib\site-packages\PIL\Image.py", line 1127, in paste
    self.im.paste(im, box)
ValueError: images do not match
Run Code Online (Sandbox Code Playgroud)

我非常确定图像的大小是正确的,并且包装图像可以容纳两个图像。避免此错误的唯一方法是使 3 个图像(包装器和 2 个组件)大小相同,并从 (0,0) 粘贴。

我的心有余而力不足,请帮忙!

python image-processing python-imaging-library pillow

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

python Image.save 更改数据

看来python有自己的想法..

这是它在 IDLE 中的样子:

>>> a = Image.open("1.jpg")
>>> a.save("2.jpg")
>>> b = Image.open("1.jpg")
>>> c = Image.open("2.jpg")
>>> c == b
False
>>> c.getdata() == b.getdata()
False
>>> c.getdata()[0]
(243, 217, 130)
>>> b.getdata()[0]
(245, 215, 129)
>>> 
Run Code Online (Sandbox Code Playgroud)

?!

我用不同的图像尝试过,所有的结果都是这样的..

感谢您的帮助:)

python python-imaging-library

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

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

PIL 返回的 RGB 值与 RGB 颜色不匹配

我正在尝试编写一个相当简单的代码,它将能够读取图像的大小并返回所有 RGB 值。我在 Python 2.7 上使用 PIL,我的代码是这样的:

import os, sys
from PIL import Image
img = Image.open('C:/image.png')
pixels = img.load()

print(pixels[0, 1])
Run Code Online (Sandbox Code Playgroud)

现在这段代码实际上是从这个网站上获取的,作为读取 gif 文件的一种方式。我试图让代码打印出一个 RGB 元组(在这种情况下是 (55, 55, 55)),但它给我的只是一小串不相关的数字,通常包含 34。

我已经尝试了许多其他代码示例,无论是否来自此处,但似乎不起作用。.png 格式有问题吗?我需要在 rgb 部分进一步编码吗?我很高兴得到任何帮助。

python rgb python-imaging-library

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

使用 PIL.ImageTk 创建 tkinter.PhotoImage 对象时出现 AttributeError

我试图在 tkinter.PhotoImage 对象中放置一个用 PIL 调整大小的图像。

import tkinter as tk # I use Python3
from PIL import Image, ImageTk

master = tk.Tk()
img =Image.open(file_name)
image_resized=img.resize((200,200))
photoimg=ImageTk.PhotoImage(image_resized)
Run Code Online (Sandbox Code Playgroud)

但是,当我后来尝试打电话时

photoimg.put( "#000000", (0,0) )
Run Code Online (Sandbox Code Playgroud)

我得到一个

AttributError: 'PhotoImage' object has no attribute 'put'
Run Code Online (Sandbox Code Playgroud)

虽然这个:

photoimg=tk.PhotoImage(file=file_name)
photoimg.put( "#000000", (0,0))
Run Code Online (Sandbox Code Playgroud)

不会引发错误。我究竟做错了什么?

python tkinter python-imaging-library photoimage

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

PIL 到 Django ImageField

我尝试从 url 创建图像并将其保存在我的 django 模型中。如果第一部分工作正常,我不知道如何将生成的文件关联到我的对象。

这是我生成图像文件的功能:

def get_remote_image(image_url, merchant_product_path):
    im = None
    name = ''
    r = requests.get(image_url, stream=True)
    if r.status_code == 200:
        name = urlparse(image_url).path.split('/')[-1]

        full_path = os.path.join(settings.MEDIA_ROOT, merchant_product_path)
        if not os.path.exists(full_path):
            os.makedirs(full_path)

        im = Image.open(r.raw)
        if im.mode != "RGB":
            im = im.convert("RGB")
        im.thumbnail((500, 500), Image.ANTIALIAS)
        im.save(full_path + name, 'JPEG')

    return {'im': im, 'name': name}
Run Code Online (Sandbox Code Playgroud)

现在,将此文件关联到我的对象的部分:

    i = get_remote_image(row['pict'], m.get_products_media_path())

    obj, created = ProductLine.objects.update_or_create(
    ...
    ...
    ...
    )

if i['im'] is not None:
    try:
        obj.main_picture.save(
            i['name'],
            ContentFile(i['im']),
            save=True)
    except …
Run Code Online (Sandbox Code Playgroud)

python django django-models python-imaging-library

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

如何在 Python Pillow 中合并图像和 Gif

我得到了一个部分透明的图像和一个 GIF。

我想用 PIL 将图像粘贴到 GIF 上,我得到一个动画 GIF 作为背景,前景中是静态图像。

python-imaging-library python-3.x

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

无法使用 Pycharm 安装 PIL

嗨,我正在尝试使用 Pycharm 安装 PIL。我正在使用 pip 19.1.1

当我尝试安装 PIL 时发生此错误

Collecting PIL

ERROR: Could not find a version that satisfies the requirement PIL (from versions: none)
ERROR: No matching distribution found for PIL
Run Code Online (Sandbox Code Playgroud)

我相信这个错误是由于在版本下拉菜单中没有指定 PIL 的版本。我无法指定要安装的 PIL 版本,因为下拉菜单中没有选项。

python module pip python-imaging-library pycharm

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

如何根据python中的自定义蒙版裁剪图像?

下面我附上了两张图片。我希望根据蒙版图像(第二张图像)将第一张图像裁剪成心形。

我搜索了解决方案,但我无法获得更简单的方法来做到这一点。请帮助我解决问题。

2张图片:

  1. 要裁剪的图像: 在此处输入图片说明

  2. 掩码图像:

在此处输入图片说明

python processing opencv image python-imaging-library

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