1

RMagick を使用して画像の明るさを調整する方法を知っている人はいますか? Rmagick には、レベルや色相/明るさ/彩度レベルを調整する機能など、さまざまな機能が用意されていますが、昔ながらの明るさ/コントラスト レベルを調整する必要があります。

各カラー チャネル (RGBA) を個別に調整するためのカスタム関数がありますが、レベルを使用して全体的な明るさを調整する方法がわかりません。さまざまなチャンネルをいじると、色が変わった画像が生まれました。GIMP のレベル メニューで、必要な機能は「出力レベル」の下にあります。これを 255 未満にドラッグすると、「暗くなる」効果が得られます。出力レベルを制御するために、RMagick に相当するものはありますか? そのためのチャネルが表示されません。

例:

これは元の画像です: 元の画像

これは私が欲しいものです: 望ましい結果

これは、明度を調整するとどうなるかです (Rmagick の Modulate) 明るさによる望ましくない結果

4

2 に答える 2

1

これはあなたが必要とすることをするべきだと思います。

img = Magick::Image.read('bT9xc.png')
img.first.level(-Magick::QuantumRange * 0.25, Magick::QuantumRange * 1.25, 1.0).write('out.png')

これにより、黒点と白点が画像内の範囲から「遠く」に設定されます。これにより、ソース画像の最も明るい白がより暗くなり、ソース画像の最も暗い黒がより明るくなります。

全体的に暗くしたい場合は、第2係数Magick::QuantumRange * 1.5以上に増やしてください。

于 2013-11-04T23:17:00.473 に答える
0

メソッドを使用できると思いますmodulate: http://www.imagemagick.org/RMagick/doc/image2.html#modulate

明るさを 50% 上げるには、次のようにします。

img.modulate(1.5)
于 2013-11-04T20:03:45.153 に答える