如何使用PHP调整图像的Gamma

时间:2018-07-27 18:32:55

标签: php imagemagick

如何像this网站那样调整图像的伽玛,当我使用PHP滤镜llike伽玛Correct和ImageMagick滤镜gammaImage时,两者都给我增亮效果,而伽玛值应给我带来暗淡效果图片。 那么,像本网站一样,如何使用php来调整图像的灰度系数呢?

调整图像Gamma值的代码:(仅为完成答案而发布) 在这里发布问题之前,我使用相同的代码给了大于10的伽马值。

用于调整图像灰度系数的f代码:(为完整答案而发布)

     function gammaImage($imagePath, $gamma) {
     $imagick = new \Imagick(realpath($imagePath));
      $imagick->gammaImage($gamma);
       header("Content-Type: image/jpg");
        echo $imagick->getImageBlob();
       }
       echo gammaImage($path,0.5);unction 

2 个答案:

答案 0 :(得分:2)

某些工具使用gamma的倒数(根据ImageMagick的操作)。因此,请尝试将您在其他工具中使用的伽玛值反转为用于ImageMagick。例如,要使它在ImageMagick中变暗,如果在其他工具中使用了2,则可以在ImageMagick / Imagick中尝试1/2 = 0.5。

在ImageMagick中,值> 1将使其更亮,值<1将使其更暗。

输入:

enter image description here

convert lena.jpg -gamma 2 lena_g2.jpg


enter image description here

convert lena.jpg -gamma 0.5 lena_g0p5.jpg


enter image description here

因此要使其在Imagick中更暗,请使用<1的伽玛值,例如0.5。

Imagick::gammaImage (0.5)

答案 1 :(得分:1)

调整图像灰度系数的代码:(为完整答案而发布)

function gammaImage($imagePath, $gamma) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->gammaImage($gamma);
    header("Content-Type: image/jpg");
   echo $imagick->getImageBlob();
}
echo gammaImage($path,0.5);