[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Message from Mark re: C++




Hi all and thanks for your hints, comments, etc.

Alfredo Luis Mateus wrote:

> p.s. I think that the FFDG can grow to discuss any kind of plugin coding
> techniques, the advantages of each one, code sharing, etc. So, please,
> don't be shy or think that you have to be strictly "on the topic" here.

OK, here is what I have to contribute for the moment:
     1) A FIFO - Filter "by accident", 
means that this was not what I want to do, but it looks not too bad, 
so maybe it's useful to anyone.

     2) Further a links to pages with Image Processing stuff:

http://www.mhri.edu.au/~pdb/colour/imageprocess/

     3) BTW, I find a lot ideas by playing with the 
build in custom filter. (convolver) 

For example a simple edge detection:
Use something like that:  (it's known as "Laplacian kernel", I guess?)

    -1 0 0
     0 0 0
     0 0 1
then invert the image.

Or in FF : cnv( ctl(0),0,0,  0,0,0   0,0,ctl(1),  ctl(2))
Play with the sliders and see what you get.


Here's the filter:
///////////////////////////////////////////////////////////////////////
//  JAF (Just a Filter) by Thomas Bernt 
//  Sliders: [min Range / max Range - default]
//  Slider 1 [0 / 255 -  5]
//  Slider 2 [1 / 255 - 20]
///////////////////////////////////////////////////////////////////////

put( (cnv_r( 1,1,1,1,-8,1,1,1,1  ,1)),0);
put( (cnv_g( 1,1,1,1,-8,1,1,1,1  ,1)),1);
put( (cnv_b( 1,1,1,1,-8,1,1,1,1  ,1)),2);
     
if( get(0)>ctl(0) && get(1)>ctl(0) && get(2)>ctl(0) ) 
  R=G=B=0; 
   else
    {
     R=cnv_r( 100,-100,-100,100,ctl(1),-100,100,100,-100  ,ctl(1));
     G=cnv_g( 100,-100,-100,100,ctl(1),-100,100,100,-100  ,ctl(1));
     B=cnv_b( 100,-100,-100,100,ctl(1),-100,100,100,-100  ,ctl(1));
    }
///////////////////////////////////////////////////////////////////////



regards Thomas