【问题标题】:How can I write this command line command in Perl using the ImageMagick API?如何使用 ImageMagick API 在 Perl 中编写此命令行命令?
【发布时间】:2012-09-14 09:05:40
【问题描述】:

如何使用 ImageMagick API 在 Perl 中执行与以下命令行命令相同的操作?

convert scotland.jpg[1x1+0+0] -depth 8 txt:

结果应该类似于:

# ImageMagick pixel enumeration: 1,1,255,rgb
0,0: ( 48, 50, 47)  #30322F  rgb(48,50,47)

【问题讨论】:

  • 你应该列出这个命令所做的事情。然后你可以去imagemagick.org/script/perl-magick.php查看它并应用你需要的所有东西。
  • 问题是,我不太喜欢 perlmagick 知道这个命令究竟做了什么,但我知道如何解析结果以获得图像中第一个像素的像素颜色(即是我的目标)
  • 你想在你的 Perl 脚本中使用它,还是需要这个文本文件?
  • 我想在 perl 脚本中使用它

标签: perl imagemagick imagemagick-convert


【解决方案1】:

我在Perl & Image::Magick, getting color values by pixel 中找到了解释并提升/更改了代码。这对我有用:

use strict; use warnings;
use Data::Dumper; 
use Image::Magick; 

my $img = Image::Magick->new; 
$img->Read("foo.jpg");

my @pixel = $img->GetPixels(
  width  => 1,
  height => 1,
  x      => 0,
  y      => 0,
  map    => "RGB"
);

print Dumper \@pixel;

正如布赖恩在回答链接问题时所说,您可能需要减少深度。有关详细信息,请参阅其他问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-27
    • 2012-07-17
    • 2016-12-13
    • 2016-11-22
    • 2020-07-16
    • 1970-01-01
    • 2017-02-05
    • 2011-03-02
    相关资源
    最近更新 更多