在PHP中有效地获得图像饱和度

时间:2014-04-25 11:48:19

标签: php image image-processing gd imagick

问题:我有一堆图像,需要过滤那些太暗的图像,例如:他们有太多的黑色。

我已经研究过PHP的Imagick和GD文档,但找不到能给我一个图像饱和度或色调的函数。我需要一些有效的方法来确定图像是否超过70%黑色,来自JPeg-Images。

1 个答案:

答案 0 :(得分:1)

参加聚会可能有点晚了,但谷歌的结果出现了,所以我想我会提供答案。

您可能要做的就是改变亮度。下面是我使用的脚本。如果脚本使图像太亮或不够亮,则可以摆弄$target_mean

```的PHP

$target_mean = 46000;
$Img = new Imagick('/path/to/file.jpg');
$mean = $Img->getImageChannelMean(imagick::CHANNEL_ALL)['mean'];

if($target_mean > $mean * 1.05){//don't change if brightness is within 5%
    $perc_diff = ($target_mean / $mean) * 100;
    $Img->modulateImage($perc_diff,100,100);
    $Img->writeImage('/path/to/file.jpg');
}
相关问题