#Poco "Separate Tool"
7 messages in this thread
HI,
I can only find a subset of Animator "Tools" supported in POCO. Is this true ?
I am trying to implement a mega sep tool where one would drect a rectangle and
change all colors within to the key color. I see that I might accomplish the
same
"look" by pallette fiddling, but I'd rather preserve the pallette and change
the
pixel colors. I have this running with a home grown sep, but before I get too
far, I wanted to make sure that I couldnt just set up the args and call sep…
/* HI,I can only find a subset of Animator "Tools" supported in POCO. Is this
true? */
There are several POCO routines supplied in the RESOURCE subdirectory, Charles.
Is this what you're refering to?
/* I am trying to implement a mega sep tool where one would drect a rectangle
and change all colors within to the key color. I see that I might accomplish
the same "look" by pallette fiddling, but I'd rather preserve the pallette and
change the pixel colors. */
I don't understand you goal. Are you asking if there's a way to use SEP
(separate) in a local area rather than in the entire frame? If so, there is a
toggle BOXED which allows you to define a rectangle and separate inside it's
boundaries only. Using the T (time) toggle, you can apply separation to an
entire flic, a region of a flic, an entire frame or a region of a frame. -dave
I think you are right in your presumption – everything that you can do in
AniPro cannot be done in POCO. I don't remember a SEP tool available in POCO,
but the books are at home so I can't check right now. I think you mean that
you want to write a megasep that will perform the SEP function on every color
found within a user-drawn box – is that right? If so there is no "simple" way
to do this that I know of, so your routine is probably the right way to go. I
presume you will be implementing the Mega-SEP as a screenwide app (area of
application), without the "BOXED" option that regular SEP tool uses? That is
what Dave is referring to in his message (I think). We're always glad to see
someone playing with POCO!!
Thanks, That is indeed what I'm after. I seem to have dropped some words in my
initial note. Maybe I can do better with the note editor in WinCIM.
Anyhow, my goal is to remove a "blue" background from a foreground object.
Blue, however as
seen by my video camera -> frame grabber -> Animator Pro is really many shades
of blue. Sep w/ time
works well, but I'm wearing out my mouse, index finger, and eyes doing the
cleanup. My thought was to
initially draw a user defined box and scan it storing unique pixel colors in an
array. Then for each color
in the array, I would call sep and save my fingers.
I am doing this primarily to try out POCO. After a little success, I forsee
some routines that will automatically isolate foreground elements from a blue
background.
I have also been trying to write a POCO that will pull a difference matte
(shoot the scene with the character and without) and "subtract" the background
away from the character. However, the pixel colors drift so much that I will
need a very "forgiving" difference routine. Hmmm???
Any news on 24 bit color from Ani Pro ?
I must say that I am very pleased to see "C" (seesee) as the Ani Pro macro
language. My day job is to
write windows and OS/2 programs so having a "C"-terp feels good as I plod along
at home late into the
evenings…
To whoever is listening, It would seem to be a good thing is all of the
functions in Ani Pro could be
invoked via POCO. In most 4GLs the language is crippled, thereby limiting what
can be done. In
Ani Pro, the language is robust, but some core product functionality is
blocked. It would seem that
it is much easier to add function on a firm foundation, however, so I'm not
going to whine…
Perhaps someday, the Ani Pro user interface would be a POCO (easily extensible)
and every thing
that could be done in the product would be "C" callable. The 4GL yardstick.
Can you build your
entire product user interface from your 4GL ?
Great Stuff, I can't wait to see what's next…
Oh Say Can You "C" ?
For your "tired fingers" (that particular app) have you thought of using sep
on everything BUT the blue sky with MASK/CREATE turned on, then invert the mask
and USE it to apply OPAQue ink in the key color.
As far as the diff between POCO tools and AniPro tools, basically, POCO has a
bunch of "extra stuff" like for every pointer POCO tracks the valid range for
that ptr and quits if it tries to reference outside the valid range. This
seems to be an attempt by Adesk to protect us POCO users from the infamous
"loose ptr" problem. They have taken great efforts to try to keep POCO from
nuking AniPro. However, there is some effort involved in taking the code used
in AniPro and adding this "extra stuff" like pointer handling. the bottom line
for this is that some code gets added to AniPro, but it never gets added to
POCO because the "extra checking" hasn't been written. Until we POCO users can
be trusted to avoid loose ptrs, and other errors, there will always be a
discrepancy between AniPro tools and POCO tools (on the other hand, it's hard
to complain TOO much – I didn't buy source code to AniPro, after all!).
Charles,
Have you found the NEAR choice and NEAR threshold in the controls for the
separate control? That would let you pickup an assortment of "blues" on one
pass with the SEP tool.
Consider the mask idea too, because there may be some blue flecks in your
foreground object that you don't want to pick up. Even a gross mask can speed
up your clean up.
Chuck Jameson
Silver Tongue Software
Regarding a difference "matte" (scene shot with and without character – goal
is to extract the character).
First – doing these video conversions is hard work. I've done some down to 16
colors. It just takes work in my opinion. One idea to elimiate jitter in a
background is to pick a background you like, put it on the swap buffer, use a
gross mask around the foreground object, and use the scrape ink.
(There's a way to make a mask move overtime, but it escapes me at the moment.
Oh, I think it has to do with compositing flics [time to brew some coffee
<grin>].)
Now, back on track. A difference matte. If there wasn't pixel drift, you
could apply the MINUS ink – pixels in the same color would go to zero (color
slot number) and you could use the non-zero pixels (inverted?) as a mask to
pull out the character. How would this work if the colors don't match? It
would work better if you could sort the palette so that the colors of the
background are clustered and the colors of the character are clustered. Then
the MINUS ink would give you colors near zero. Not perfect, but perhaps a step
in the right direction. You could use the "logical" AND/OR/XOR inks in the
same way, think about it.
Other inks you should look into working with are SWEEP (to clean up single
pixels), and HOLLOW (to give you outlines).
Chuck Jameson
Silver Tongue Software