removing collor without noise - chromakey problem
Hello good people,
I've been experimenting with chromakey but I’m not very satisfied with the result. My aim is to extract one color completely from a movie.
What I did is the following:
I’ve recorded me in front of a green screen.
In Adobe after effects I removed the green, the best I could and replased it with one full color.
(I used hard yellow, so it would be easy for jitter to remove it)
However I get a lot of noisy spills that jitter just doesn’t want to remove. I can only make the image more blurry, or out of focus, but that is not what I want.
My question is, what is the best way to extract a color in jitter ? Is chromakey the best way to go ?
Thank you kind !
Charles
well, i'm sure there's several ways you could clean up your chromakeying from within jitter, but why bother?
you're already making use of after effects to do offline compositing, so why not export your movie with an alpha channel. you will get much better results with background subtraction using after effect's many tools, then with jitter's chromakey.
export the movie as an animation codec with alpha channel and use jitter's alphablend or alpha compositing shaders.
-rob
Yes I did forget to mention this, The subtracting has to happen in real time.
I have two elements,
The first is pre-recorded movie with a person standing in front of a green-key screen. I’ve removed all the green, also the green shades, and replaced it with one ‘hard color’ like yellow.
(so in the movie, it looks now like the person is standing in front of a yellow wall)
Second there is a live camera that is replacing the color yellow.
So the chromakeying has to happen in real-time…
The end result should look like as if a person (the visitor) is standing in front of my pre-recorded movie.
So all tips on getting it as clean as possible are very useful…
Thanx,
Charles
> I have two elements,
> The first is pre-recorded movie with a person standing in front of a green-key screen. I’ve removed all the green, also the green shades, and replaced it with one ‘hard color’ like yellow.
> (so in the movie, it looks now like the person is standing in front of a yellow wall)
don't replace with yellow. replace with an alpha channel.
in jitter, overlay the video in real-time over whatever you want using alpha compositing.
why would it make a difference if you remove the green and replace with yellow?
With the risk of sounding completely oblivious… alpha channel ???
I know I still have to learn a lot, video is a new world for me. I mainly worked in Max/Msp. Jitter and it’s possibilities (or any other video editing tool for that matter) is new to me.
But hey, thanx for the alpha channel tip, I guess I’ll Google it and find me some more info.
jitter matrices with video/image data in them typically have 4
channels: ARGB (alpha red gren blue). You can use alpha as a
transparency/mask channel on the RGB data.
wes
On Fri, Aug 29, 2008 at 12:02 PM, charles wrote:
>
> With the risk of sounding completely oblivious… alpha channel ???
> I know I still have to learn a lot, video is a new world for me. I mainly worked in Max/Msp. Jitter and it’s possibilities (or any other video editing tool for that matter) is new to me.
> But hey, thanx for the alpha channel tip, I guess I’ll Google it and find me some more info.
>
> --
> www.charlessarah.com
>
Quote: robtherich wrote on Fri, 29 August 2008 20:10
----------------------------------------------------
>
> why would it make a difference if you remove the green and replace with yellow?
>
>
----------------------------------------------------
I tried removing the green with chromakey, and it had a hard time with the different sets of ‘green key’.
Because of shadows and whatnut, my green screen wasn’t ‘perfect’. In After EFX, it is very easy, (using the ‘Keylight’ tool) to remove the green, even spills of shadow etc… I replaced it with one color like Yellow so there wouldn’t be different tints of color.
It don’t matter, it didn’t work how I hoped it would anyways. I’m going to try and figure out that alpha thing Thanx a million !
Quote: wesley.hoke@gmail.com wrote on Fri, 29 August 2008 21:11
----------------------------------------------------
> jitter matrices with video/image data in them typically have 4
> channels: ARGB (alpha red gren blue). You can use alpha as a
> transparency/mask channel on the RGB data.
>
> wes
>
----------------------------------------------------
Hello Wes, Thank you for the post.
Although I’m sure your explanation is very correct and probably summons up about all you need to know about alpha channels, it sounds Japanese to me…
I found some stuff on Wiki. I’ll figure it out.
Thank you !
In that case, I would strongly suggest going through the tutorials.
wes
Another thing you could try, especially if you are working with imperfect screens, is to use multiple jit.chromakey objects with @mode 1 and combine the key masks using jit.op. Attached is a simple patch to use as an example. Another useful technique is to blur the mask slightly and then do a threshold to get smoother key edges. FWIW, some of this stuff is easier (and more efficient) to do using jit.gl.slab and some of the compositing and color-correction shaders.
Learning to use alpha channels and masks is really one of the most essential aspects of working with video effects, both in Jitter and in e.g. After Effects. Taking the time to understand masks and how to generate and manipulate them will totally pay off.
The alpha channel is your friend.
Andrew B.
Quote: andrewb@cycling74.com wrote on Fri, 29 August 2008 21:39
----------------------------------------------------
> The alpha channel is your friend.
>
>
>
>
>
----------------------------------------------------
Thank you for the help.
However, for some reason I can't read this patch. I do have max 5.0, but I'm a PC user ? perhaps that's why ? I don't know... Thanx a bunch anyways, I'm reading the tutorials that are in max. I never botherd with them alpfa stuff… seems that I should have.
Cheers !
Hello,
This thread is 2 years old at this point but I thought I'd give it a try...
I am using the same setup that Andrew posted in this thread with multiple key masks linked together through jit.op
I am running a live green screen setup with the camera feeding the two masks and a video playing beneath. Unfortunately my frame rate goes down to almost 10fps when I run it (should be around 30). It seems like you can't really run the uyvy color modes with the jit.chromakey or alphablend objects, which I've been told makes it faster.
I noticed Andrew mentioned something about being able to use gl shaders to do this type of thing. Does anyone have any suggestions on how I might go about figuring that out? I've been looking into the examples, but don't really know where to start.. I noticed the co.chromakey.jxs file, but I don't know how to implement it.
Any help would be appreciated! Thanks!
here is the code ive been working with...
here is a basic example of chromakey with slabs and uyvy conversion:
Is there a better shader like the co.chromakey.jxs for Max with more parameters? I miss a parameter to fade the silhouette which is frayed (pixelated). I use for both videos 1080p.
Any idea?
Here is a jit.pix chromakey that you can easily port to jit.gl.pix. It has a smooth_edges param. Hope is useful.
Totally excellent work, 2K. Many thanks!
Here's a jit.gl.pix version, with a suckah object for easily picking the chromakey color.