|
2010-07-21
, 23:20
|
Posts: 71 |
Thanked: 5 times |
Joined on May 2010
|
#2
|
|
2010-07-21
, 23:24
|
Posts: 3,401 |
Thanked: 1,255 times |
Joined on Nov 2005
@ London, UK
|
#3
|
|
2010-07-22
, 00:06
|
Posts: 650 |
Thanked: 619 times |
Joined on Nov 2009
|
#4
|
|
2010-07-22
, 08:00
|
Posts: 46 |
Thanked: 392 times |
Joined on Apr 2010
@ Stanford University
|
#5
|
|
2010-07-22
, 09:14
|
Posts: 134 |
Thanked: 41 times |
Joined on Mar 2010
|
#6
|
|
2010-07-22
, 12:21
|
|
Posts: 381 |
Thanked: 847 times |
Joined on Jan 2007
@ Helsinki
|
#7
|
The Following 10 Users Say Thank You to bergie For This Useful Post: | ||
|
2010-07-22
, 12:41
|
Posts: 1,751 |
Thanked: 844 times |
Joined on Feb 2010
@ Sweden
|
#8
|
|
2010-07-22
, 12:45
|
|
Posts: 3,159 |
Thanked: 2,023 times |
Joined on Feb 2008
@ Finland
|
#9
|
The Following User Says Thank You to ossipena For This Useful Post: | ||
|
2010-07-22
, 14:41
|
Posts: 38 |
Thanked: 18 times |
Joined on Mar 2010
@ Guildford, UK
|
#10
|
Okay, well, everyone is talking about how stupid this news is. Lemme see if I can break it down to make this pill a little easier to swallow.
What is it?
It is some developer tools to make things much easier to talk to, and process stuff taken from, the nokia N900 camera.
How does that help?
When I was a young C# programmer in college, My programming teacher used to give us homework. One classic piece of homework, was how to write to a file. here is how in C#
//make file stream object
FileStream fs = new FileStream("c:\\WriteFileStuff.txt", FileMode.OpenOrCreate, FileAccess.Write);
//make stream writer
StreamWriter sw = new StreamWriter(fs);
//write lines
sw.WriteLine("Howdy World.");
//close object
sw.Close();
not being expert programmers yet, our first tries were a disaster at best. We'd leave out a semi colon and get compiler errors, we didnt put the lines in the right order (causing things to be undefined when they really were, just further down), we would forget to close() the object at the end, making the file "currently in use" to the operating system forever, untill we restarted the machine.
eventually, a couple weeks later, the teacher taught us this:
System.IO.File.WriteAllText("C:\\WriteFileStuff.tx t","Howdy world");
... that did everything those 4 lines above did. but this one line could do all: the setup and tear down, for us! this meant syntax errors (like forgotten semicolons) and logic errors (like forgetting to close the stream at the end) would never happen again!
This is what API's do. they let you talk to stuff, in a way where either it wasn't possible before, or it was possible, it just took a sh*tload of code to do. and of course, with more code means more room for bugs.
Okay, well what does this "magical" API do then?
Well, it does 2 things. first it does some extra stuff with the camera that would normally take much more code to do and second it sets up the ability to talk to a gyroscope. I personally believe the gyroscope stuff isn't gonna happen, but the camera stuff is still pretty impressive. Here is the list of what exactly the new API allows. (gyroscope or not)
Rephotography
You take a picture in one place, and it can figure out the exact spot you took it in, and you can return days later and it will still know based off of key points in the image.
IMU based Lucky Imaging
The gyroscope can detect what is your shaky hand, and what is actually moving objects in the photo, and makes proper adjustments for that to prevent blurry images.
Foveal Imaging
The ability to downsample the rest of a video, and make a certain center point in the video sharpest. Bring the quality of everything down except for a certain spot, in that spot, bring the quality up. here's an exerpt:
Downsampling and cropping on the sensor is a capability of the
Aptina sensor in the F2 not exposed by the base API.
As you can see, "cropping" the image sensor is not expose by the normal programming APIs, so this API adds this functionality.
it also allows tracking motion in just one particular area of the camera.
HDR Imaging
This takes 3 pictures, of varying brightness, and merges the 3, to make an image that looks acceptable while leading lots of play for the lighting and movement problems that most cameras suffer from.
Low Light Imagine
for low light images, you can increase the gain (but that makes it grainy), or take a longer exposure (but that makes it blurry from movement). the Fcam API takes 2 pictures: one at high gain, and one at longer exposure. It then merges the two together to make a pretty nice shot
Panorama capture
Panorama. but this is processed as the picture is being taken, and does not require a wait time for the image to process. secondly, with each "shot" it takes a regular exposure, and longer exposure shot, then merges the two, then after it is all finished they are "stiched" together.
as you can see, there is some potential for some kool stuff if people put their minds to it. hope this helps some people figure out how kool this thing can really be.