有人知道如何使用RMagick来调整图像的亮度吗?Rmagick有许多不同的功能可用,包括调整水平和色调/亮度/饱和度水平,但我需要调整老式的亮度/对比度水平。
有自定义的功能,我可以单独调整每个颜色通道(RGBA),但我不知道如何使用水平来调整整体亮度。干扰不同的频道产生的图像被改变颜色。在GIMP上,在“级别”菜单中,我想要的功能在“输出级别”下。通过把这个拖到255以下,我就可以达到“变暗”的效果。在RMagick中是否有某种等效的方法来控制输出水平?我没看到一个频道。
示例:
这是原始图像:

这就是我想要的:

这就是当我调整光线时所发生的事情(Rmagick的调制)

发布于 2013-11-04 23:17:00
我觉得这个应该能满足你的需要。
img = Magick::Image.read('bT9xc.png')
img.first.level(-Magick::QuantumRange * 0.25, Magick::QuantumRange * 1.25, 1.0).write('out.png')这使得黑点和白点“离图像中的范围更远”,从而使源图像中最亮的白色更暗,而源图像中最暗的黑色更亮。
如果你想让它更暗,只需增加到Magick::QuantumRange * 1.5或更高的第二个因素。
发布于 2013-11-04 20:03:45
我认为您可以使用modulate方法:http://www.imagemagick.org/RMagick/doc/image2.html#modulate
因此,要将亮度提高50%,就像:
img.modulate(1.5)https://stackoverflow.com/questions/19774405
复制相似问题