【发布时间】:2020-06-18 16:11:34
【问题描述】:
我想要一种方法或步骤来统一 2 个图像的亮度,或者换句话说,使它们的亮度相同但不分配它们。我知道如何使用 PIL 获取图像的亮度,代码如下:
from PIL import Image
imag = Image.open("test.png")
# Convert the image te RGB if it is a .gif for example
imag = imag.convert('RGB')
# coordinates of the pixel
X, Y = 0, 0
# Get RGB
pixelRGB = imag.getpixel((X, Y))
R, G, B = pixelRGB
brightness = sum([R, G, B]) / 3 ##0 is dark (black) and 255 is bright (white)
print(brightness)
有没有人知道如何制作 2 张具有相同亮度的图像。谢谢
【问题讨论】:
-
@fmw42 是的,我看到它并自己实现了它,但我对这段代码是改变亮度还是只与颜色有关感到困惑! Cz 在分析结果时,我的图像颜色完全变为不同的颜色(即绿色变为粉红色)。我希望我的结果只会更亮。
-
两者兼得。它分别匹配图像的每个通道的两个图像的平均值和标准偏差(对应于亮度和对比度)。您可以通过将图像转换为 HSV 或 LAB 并在处理中仅使用 V 或 L 通道来强制它只进行亮度和对比度并且不改变颜色。然后转换回 RGB。
-
@fmw42 哦,好的,知道了!真是个好主意,谢谢你的帮助!!
-
@fmw42 如果需要,您可以添加您的答案,以便我接受它作为正确答案
标签: python opencv brightness