Otto: Perl und ImageMagick; Bild in Sub-Bilder schneiden

Beitrag lesen

Hallo,

ich beschäftige mich mal wieder etwas mit Perl und ImageMagick.

Ich möchte gern ein Bild in mehre gleich große quadratische oder rechteckige einzelne Bilder zerschneiden. Anschließend hätte ich diese gern als Sequenz, also in einem Array, so das diese weiter verarbeitet werden können.

Prinzipiell habe ich einen Ansatz, jedoch gefällt mir dieser nicht.

  
for(0..1){  
    my $y = 100 * $_;  
         for(0..1){  
		my $subImage = $image->Clone();  
		my $x   = 100 * $_;  
		my $geo = '100x100+' . $x . '+' . $y;  
		$subImage->Crop(geometry=>$geo);  
		$subImage->Write("subImage/test_".$x."_".$y."_.jpg");  
	}  
}  

Was mich an dieser Lösung stört, ist das für jedes Teilbild das Original geklont werden muss. Denke das dieses bei großen Bildern eher suboptimal ist.

In der Shell ist mein vorhaben wie folgt möglich:

  
convert test.jpg -crop 100x100 teil_%d.jpg  

Diese funktioniert jedoch nur teilweise mit Perl. Wenn ich den Startwert für x und y nicht angebe, wird das Bild in mehrere aufgeteilt, allerdings kann ich dann nur noch auf das letzte zugreifen.

Habe in Perl folgendes probiert:

  
$subImage = $image->Clone();  
$subImage->Chop(geometry=>"100x100");  
  
my $i = $#$subImage+1;  
print $i; #Gibt 1 aus  

Jemand eine Idee, wie es möglich ist auf alle Teilbilder zuzugreifen?

MfG
Otto