perlを使用して特定の画像の特定の領域に色をサンプリングする方法(色や色の範囲を知る方法)はありますか? 私は200X200のイメージを持っていて、領域X:15の色(または色)をサンプリングしたいとします。 Y:30;これを行う方法はありますか?または、これを簡単に実装できる既存のモジュールがあるか(特に、画像内にサンプルする領域が多く、画像が多いことが考えられる)。Perlを使用した画像の色をサンプリングする
ありがとうございます!
フレッド
perlを使用して特定の画像の特定の領域に色をサンプリングする方法(色や色の範囲を知る方法)はありますか? 私は200X200のイメージを持っていて、領域X:15の色(または色)をサンプリングしたいとします。 Y:30;これを行う方法はありますか?または、これを簡単に実装できる既存のモジュールがあるか(特に、画像内にサンプルする領域が多く、画像が多いことが考えられる)。Perlを使用した画像の色をサンプリングする
ありがとうございます!
フレッド
まず、色空間を理解していないことを前に述べましょう。しかし、GDは、ビットマップからたくさんのピクセルをつかむのを容易にします。
#!/usr/bin/env perl
use strict;
use warnings;
use GD;
my $img = GD::Image->new('Palisades-woods.jpg');
my ($width, $height) = $img->getBounds;
my $sample_left = $width/2 - 10;
my $sample_top = $height/2 - 10;
my $sample_width = my $sample_height = 20;
my $n = 0;
my $avg = 0;
for my $y (0 .. $sample_height - 1) {
for my $x (0 .. $sample_width - 1) {
my ($r, $g, $b) = $img->rgb($img->getPixel($x, $y));
my $rgb = ($r << 16) + ($g << 8) + $b;
$avg = ($n * $avg + $rgb)/($n + 1);
$n += 1;
}
}
printf "Average rgb is #%06X\n", $avg;
私はまだこれをテストする機会がなかったが、それはあなたがイメージとPerlで対処を求めることができ、その何のように見えます。 http://www.graphicsmagick.org/perl.html
解決策:http://stackoverflow.com/questions/3681415/perl-imagemagick-getting-color-values-by-pixel – Mark