在PERL中检测黑色/几乎黑色的JPG图像
暗图像通常会具有低平均像素值。
可以使用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。
例子:
这是一个黑暗的图像:
identify -format "%[mean]" dark.jpg
16914.6
这里是一个打火机一个:
identify -format "%[mean]" light.jpg
37265.7
谢谢,马克。这将完全适合我的需求,但我无法设置在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
不知道我可以帮到那里。我在命令行中使用ImageMagick,在OS X上使用Perl和PHP。当我在Windows上使用它时,我已经使用了命令行并始终使用ActiveState Perl。也许试试问另一个关于让即时消息安装在你的草莓Perl上的问题 - 也许不会像编程这样。 – 2014-11-01 09:21:46
我正在寻找一种方法来解决它现在。 :)我会回复。 – Nick 2014-11-01 09:22:58
[Image :: Magick](http://p3rl.org/Image::Magick)? – choroba 2014-11-01 08:02:08