Python 在skimage中设置图像的亮度不会返回恒定亮度

Python 在skimage中设置图像的亮度不会返回恒定亮度,python,scikit-image,luminance,Python,Scikit Image,Luminance,我有一个rgb图像(rgb),我想设置亮度以确保它是恒定的。我首先检查原始图像的亮度(greyrgb)。 然后我将图像转换为Lab,然后将L值设置为50(lab50),然后再转换回rgb(rgb50)。 然后我计算得到的图像的亮度(greyrgb50),但它不是常数——实际上看起来更糟 import numpy as np from skimage import color import matplotlib.pyplot as plt rgb = np.loadtxt("my_image.t

我有一个rgb图像(rgb),我想设置亮度以确保它是恒定的。我首先检查原始图像的亮度(greyrgb)。 然后我将图像转换为Lab,然后将L值设置为50(lab50),然后再转换回rgb(rgb50)。 然后我计算得到的图像的亮度(greyrgb50),但它不是常数——实际上看起来更糟

import numpy as np
from skimage import color
import matplotlib.pyplot as plt

rgb = np.loadtxt("my_image.txt").reshape((512,512,4))
greyrgb = color.rgb2gray(rgb)

lab = color.rgb2lab(rgb)
lab50 = lab
lab50[:,:,0] = 50
rgb50 = color.lab2rgb(lab50)
greyrgb50 = color.rgb2gray(rgb50)

我发现,当我将亮度设置为不同的值时,生成的rgb图像的亮度仍然略有变化。我是否错误地设置了亮度,或者我是否错误地计算了最终rgb图像的亮度

您正在尝试创建超出色域的颜色。颜色,可以写为数字,但不能存在于现实生活或其他颜色空间中。例如,纯红色的最大亮度不能超过0.3,纯蓝色的最大亮度不能超过0.1,绿色或多或少是精细的,但仍然不能超过0.6——因此,只有一种颜色(r,g,b)存在的区域较暗,因为它无法在RGB颜色空间中正确表示。

您正在尝试创建色域外的颜色。颜色,可以写为数字,但不能存在于现实生活或其他颜色空间中。例如,纯红色的最大亮度不能超过0.3,纯蓝色的最大亮度不能超过0.1,绿色或多或少是精细的,但仍然不能超过0.6——因此,只有一种颜色(r,g,b)存在的区域较暗,因为它不能在RGB颜色空间中正确表示。

您可以发布RGB三角形和L=50三角形的源图像吗?您可以发布RGB三角形和L=50三角形的源图像吗?