问题:我有一堆图像,需要过滤那些太暗的图像,例如:他们有太多的黑色。
我已经研究过PHP的Imagick和GD文档,但找不到能给我一个图像饱和度或色调的函数。我需要一些有效的方法来确定图像是否超过70%黑色,来自JPeg-Images。
答案 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');
}