2014-11-01 144 views

回答

5

暗图像通常会具有低平均像素值。

可以使用ImageMagick的identify在这样的命令行获得图像的像素的平均值:

identify -format "%[mean]" input.png 

或使用

identify -verbose input.png 

,并寻找您认为会帮助大部分的参数。

或使用Perl这样的:

#!/usr/bin/perl 
use strict; 
use warnings; 
use Image::Magick; 

my $image = Image::Magick->new; 
$image->ReadImage("c.png"); 

print $image->Get("%[mean]"); 

在Perl的情况下,范围是0-65535,所以黑暗势力将有一个低于平均值说5000。

例子:

这是一个黑暗的图像:

enter image description here

identify -format "%[mean]" dark.jpg 
16914.6 

这里是一个打火机一个:

enter image description here

identify -format "%[mean]" light.jpg 
37265.7 
+0

谢谢,马克。这将完全适合我的需求,但我无法设置在StrawberryPerl Win7 x64上安装Image :: Magick。 Magick.xs:60:31:致命错误:magick/MagickCore.h:没有这样的文件或目录 编译终止。 dmake.exe:Error code 129,while'Magick.o' JCRISTY/PerlMagick-6.89-1.tar.gz Z:\ strawberryperl_86 \ c \ bin \ dmake.exe - NOT OK我正在检查这个: http://www.imagemagick.org/discourse-server/viewtopic.php?f=7&t=25746&p=113771#p113771但仍无法解决它。 – Nick 2014-11-01 09:11:57

+0

不知道我可以帮到那里。我在命令行中使用ImageMagick,在OS X上使用Perl和PHP。当我在Windows上使用它时,我已经使用了命令行并始终使用ActiveState Perl。也许试试问另一个关于让即时消息安装在你的草莓Perl上的问题 - 也许不会像编程这样。 – 2014-11-01 09:21:46

+0

我正在寻找一种方法来解决它现在。 :)我会回复。 – Nick 2014-11-01 09:22:58