A good place to start is to follow Chris's advice: play with the data in the interactive shell to see how the language behaves.

To make a new image you can write any expression that has the right dimensions. You can even copy your input:
        $im2 = $im->copy;

If you want to produce a modified image, try:

        $im2 = $im->copy;
        $im2->mv(0,2)->indexND($wh_sloppy) .= pdl(255,0,0); # paint it red

        wpic($im2,"out.png");

        


On May 11, 2011, at 4:33 AM, Luca Cappelletti wrote:

On Tue, May 10, 2011 at 17:42, Craig DeForest <[email protected] > wrote: Two errors. David caught the "package -> use" error. I wrote another error -- I used "all" when I should have used "andover". "all" collapses all the way to a Perl scalar; "andover" collapses in one dimension.

@ Craig and David first thank you very much to let me understand better how does PDL works.

I made all the modifications and I have an output that does no produce any error but I have to understand better how to fit the code to solve my needs.

First i put here the cleaned code that works:


#!/usr/bin/env perl

    use PDL;
    use PDL::IO::Pic;
    use PDL::Primitive;
    use strict;

    my $im = PDL->rpic('sem.jpg');

    my $color = pdl(128,200,128); # light green for 8-bit RGB


   #####
# Generate a list of all pixels within a 3-D "slop distance" in RGB space
   # of a certain color
   my $slop = 7;
my $dist_sq = (($im-$color)*($im-$color))->sumover; # (X,Y) distance image -- collapsed over RGB my $mask = ($dist_sq <= $slop*$slop); # mask of matching pixels my $wh_sloppy = $mask->whichND; # (2 x M) -- coordinates of all matching points


       $im->wpic("sem.png");


This code just take sem.jpg and write sem.png I made it just to understand if I can have control on writing output images that it's a part of my test.

Now I do not understand how can I transform the $wh_sloppy raw information into an image composed by sem.jpg plus modification of the color $color at the matching point at $wh_sloppy to produce a new image mapped into sem.png

I mean I understand more and less that I have tyo build a new matrix containing someting like a X,Y,RGB dimension but I don't know where to start and I find the documentation fragmented for my very little knowledge...


Thanks,

Luca













--
---
Luca Cappelletti
http://developerinfodomestic.blogspot.com

"...Together we stand, divided we fall."

.O.
..O
OOO

Zeitgeist Activist

GTalk,MSN: luca <dot> cappelletti <at> gmail <dot> com
FSF Member: #9269
Linux Registered User: #223411
Ubuntu Registered User: #7221

"l'intelligenza è utile per la sopravvivenza se ci permette di estinguere una cattiva idea prima che la cattiva idea estingua noi"

"La chiave di ogni uomo è il suo pensiero. Benché egli possa apparire saldo e autonomo, ha un criterio cui obbedisce, che è l'idea in base alla quale classifica tutte le cose. Può essere cambiato solo mostrandogli una nuova idea che sovrasti la sua"

"Uno studioso è soltanto un modo in cui una biblioteca crea un’altra biblioteca "

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to