猿问

在 Python 中调暗图像

我正在尝试通过转换像素值并使用此等式 X(new) = 0.5 * X(old)^2 来实现调光方法来调暗图像。我做了一些谷歌搜索,但未能成功。这是我的代码:


import math

from PIL import Image

import numpy as np

from skimage import color, io

import matplotlib.pyplot as plt



def load(image_path):

    out = plt.imread(image_path)


    out = out.astype(np.float64) / 255

    return out



def dim_image(image):

    out = image.point(lambda x: x*0.5)


    return out


def display(img):

    # Show image

    plt.figure(figsize = (5,5))

    plt.imshow(img)

    plt.axis('off')

    plt.show()


image1 = load(image1_path)

image2 = load(image2_path)


display(image1)

display(image2)


new_image = dim_image(image1)

display(new_image)


慕工程0101907
浏览 226回答 1
1回答

有只小跳蛙

您正在尝试.point在不存在的 numpy 数组上使用。我假设您打算将所有颜色值减少 50% 以使图像变暗,在这种情况下您应该使用np.dot(docs):def dim_image(image):    out = np.dot(image, 0.5)    return out
随时随地看视频慕课网APP

相关分类

Python
我要回答