¡Ojo! en la imagen de ejemplo hay 3 figuras, pero podría haber más o menos.
Necesito separar las figuras, cada una en una imagen diferente.
Tengo una idea de cómo podría hacerlo. Quizás leyendo los píxeles según lineas verticales y en la primera aparición de un píxel "no blanco" será el principio de la primera figura.
Mientras estoy sobre la figura (al ir escaneado los píxeles en líneas verticales) siempre habrá algún píxel "no blanco" y sabré que llego al final de la primera figura con la primera línea vertical que tenga en su totalidad píxeles "blancos"... y esto tendría que hacerlo tantas veces como fuese necesario para saber dónde empieza y termina cada figura.
No sé cómo meterle mano a este problema, a ver si alguien se le ocurre una solución.
De momento sólo tengo lo siguiente:
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use strict;
use GD;
my $file = $ARGV[0];
chomp($file);
GD::Image->trueColor(1);
my $image = newFromJpeg GD::Image($file);
(my $width, my $height) = $image->getBounds();
for my $i ( 0 .. $width-1 ) {
for my $j (0 .. $height-1) {
my $index = $image->getPixel($i,$j);
if ($index != 16777215) { #Si el pixel no es blanco
...................... # No se como seguir...
use strict;
use GD;
my $file = $ARGV[0];
chomp($file);
GD::Image->trueColor(1);
my $image = newFromJpeg GD::Image($file);
(my $width, my $height) = $image->getBounds();
for my $i ( 0 .. $width-1 ) {
for my $j (0 .. $height-1) {
my $index = $image->getPixel($i,$j);
if ($index != 16777215) { #Si el pixel no es blanco
...................... # No se como seguir...
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4
Gracias de antemano.