Why Difference Matters

If you don't know, solid white splotches on a black background might not get you to excited. That's because you haven't spent nearly as much time attempting to pull an image like that from a single video clip. ... Or perhaps maybe it's just that you never anticipated the need for such a seemingly boring thing.
Well there is a need.
And it has a lot to do with walking in front of CG objects. And we all know how important it is to walk in front of CG cubes now don't we?
Ah, but perhaps your a little lost. Perhaps, I need to explain a couple of things here.
Well then, let's start at the beginning. The computer knows only numbers and as such it paints with only numbers. Long story short, the computer will assign numbers to all the colors you ever see on your monitor. For example, black would be 0 and white would be 1 in which case to make gray the computer would get a number between 0 and 1. Thus, the computer can paint beautiful images across your monitor by simply reading off a series of values that become either black, white or something in between.
Now why does that matter?
It's simple. Since, they are numbers we can perform mathematical operations on video footage. Any number multiplied by 0 is 0, therefore if I multiply an image that is all white with some other image I will leave that image unaffected.
Or in my symbolic form.
white * image = image
just like...
1 * x = x
And
black * image = black
just as...
0 * x = 0
But why would I want to do that?
Well, there happens to be a common trick in the movies. Do you ever recall seeing a person walk in front of some sort of digital cartoon? How do you think they might have done that? Keep in mind that the digital element is actually 'over' the footage of the person who is suppose to be walking in front of it.
It's sort of like...
Audience looks at... person_in_front digital_thing_behind
But here's the problem... that digital element, that computer generated character or whatever else you might want to stand in front of in a movie is actually 'on top' of the footage of the person.
The situation is more like this...
Audience looks at... digital_thing_behind person_in_front
See? The digital thing behind is actually in front of the person
that is suppose to be in the front. So how do we tell the digital object to go behind the person?
We punch a hole in it with information from where the person is!
Suppose, that person just happened to be completely black on a completely white frame. Then when we 'multiply' that white and black image with our CG image we will obtain just the parts of the image that show behind the person without covering anything up. Or in other words...
person_in_black_on_white * CG_element = CG_element_with_hole_for_person
And once that CG_element_with_hole_for_person is placed on top of the
original footage we obtain...
(digital_thing_behind - hole_for_person) over person_in_front
is the same as
Audience sees person_in_front over digital_thing_behind
because we can 'see' through the hole we made.
Well, that information to make the hole IS the white stuff in that
frame. Since white is 1 and black is 0 a simple multiply will keep
the parts of the image under the white and throw away the parts of the image under the black! Thus, we have a virtual cookie cutter for which to use to cover up objects we want in the background.
That's why obtaining a nice white mask is so important. It allows us to walk in front of objects by giving us the information for what is in front of such objects.
I was able to pull such a mask by taking the difference between the background frame and me. Difference is really a mathematical term here. I mean I literally am subtracting pixels from pixels and showing off the difference. And since I'm the only thing different in the frame I am able to pull myself off.. sort of.
It's not perfect because in some places my black trench coat was too similar to the dark background and so I wound up with big holes in my shoulders.
Though it isn't perfect, I've been dying for such a thing for a long time. It gives me the power to go to a location and still be able to walk around in front of virtual objects that will be added in later.
... on one final note you might recall having seen such mathy terms in various graphics manipulation programs such as Photoshop or GiMP. Those programs are telling you what operations you can perform on the numbers that make up the images. Quite literally, once you understand your image data is a bunch of numbers you will be better equipped to use such commands.
Consequently, using the node editor in blender is a lot like writing your own mini program. But instead of writing lines of mathematical code you just connect little boxes. So next time your using it, just imagine pixels flowing over those little lines and start contemplating what you really want to do to the image. Suddenly, all the filters, and math nodes will make a whole lot more sense.
If you understood this post at all... let me know.
I tried to use text where I needed images.
I should write a node system optimizer
converts the node system into code that is compiled and
run as though it was a sequence plug in.
I don't see businesses like I do money.
I see shaping the way people interact, the way things are made.
Help scientist with custom made sensing equipment.
Is their a niche? Where they need specially designed sensors and
remote data loggers?
That ocean person.. I should e mail them.
New Inkscape?
luxrender.net is possibly the next blender raytracer
Graphicall makes automatted builds now!
I'm outta the job!
Graphicall Auto
LuxRender needs a Mac OS X maintainer
version control systems
svn,cvs,git,bzr,mercurial
pasteboard any site syntax highling I can parse it.
http://blog.dixo.net/downloads/
"StampVer - a tool for writing an incremented build number into the version resource of a Win32 executable (note that will only make sense if you need this tool!)"
That's funny. I guess I don't need this tool but I have an idea of its value.
for syntax highlighting code?
http://scite.darwinports.com/
http://scintilla.sourceforge.net/SciTE.html
Pixars Super Computer
What does pixar do with its super cluster when they are
not animating? Weather foredcasts?? I guess they are always animating.
Pixar IS the new Disney. Or what it once was back then.
Ah.. photorealistic image synthesis... *swoon.
Older specs
renderman.pixar.com
The CrayFish...
mm renderfarm business... I like it. Good place for a comp Sci guy
and an artistic fellow to habituate with. If all the stock holders ran a program.. I wonder. We'll pay for your processing time. Lend us your CPU's!
And earn a little for successfuly delivered output. The logisticas could
be horrendous... but it might in fact all be worth it.
There's a lot of wasted CPU cycles out there... giving people the option
to make money off them sounds like a good idea.
What would it take.. to have photo realism in real time?
How fast a machine? How large a cluster?
That would be some awesome VR.
But then you would need to calculate the physics on top of that.
It would be cool to be the ILM for the small movie folks.
I think we forget that stuff is being computed all the time..
all over the world.. how many calculations are going on ?
Boggling.
http://en.wikipedia.org/wiki/Grand_Challenge
"Do you trust me?"
The Anatomy of a Node
I like Cornell. I want to goto Cornell.
Cornell Projects