Thread *.BMP auslesen (24 answers)
Opened by willi at 2010-02-13 20:33

topeg
 2010-02-14 13:37
#132955 #132955
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Das sind "normalisierte" Daten also eine Fließkommazahl zwischen 0 und 1.
um einen 255 Wert zu bekommen einfach schreiben: int($r*255)


Wenn du das gesamte Bild auslesen willst ist das über "GetPixel" ineffizient.
So ginge es schneller:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
use strict;
use warnings;
se FindBin qw/$Bin/;
use Image::Magick;

my $img = Image::Magick->new();
$img->Read($Bin.'/red.bmp');
my ($blob)=$img->ImageToBlob(magick=>'RGB', colorspace=>'RGB', depth=>'8');
my @data=unpack("C*",$blob);
my $width=$img->Get('columns');
my $height=$img->Get('rows');

for(1..$height)
{
  for(1..$width)
  {
    my ($r,$g,$b)=splice(@data,0,3);
    print "($r,$g,$b) ";
  }
  print "\n";
}

View full thread *.BMP auslesen