Here is my presentation at Silicon Valley Code Conference which gave me the idea of this article.
Build Amazing Camera Apps for Superphones - Silicon Valley Code Camp, 6 Oct, 2013, Foothill College, Los Altos @iRajLal from Raj Lal
Build an Advanced Camera App for Nokia Lumia PhonesRajesh Lal
Excerpt from the article... http://msdn.microsoft.com/en-us/magazine/dn630649.aspx
In this article, I’m going to teach you how to develop an app for the 41-megapixel (MP) Nokia Lumia 1020 and 20MP Nokia Lumia 1520 smartphones. I’ll focus primarily on the Nokia Lumia 1020, but the information applies to all Lumia Windows Phone 8 devices with PureView technology. First, I’ll discuss PureView, the technology behind the powerful camera included in the phones, and then I’ll explain the advanced features available to access and enhance your photographs. I’ll provide an overview of the Nokia Imaging SDK (it has tons of ready-to-use graphic filters) and a walk-through of how to use it. I’ll also cover the typical workflow needed to build a camera app and show you how to create a tilt-shift photo filter to simulate shallow depth of field. Let’s get started.
Understanding the PureView Technology in a 41MP Camera Phone
PureView technology consists of advanced camera hardware and related software. Together, they allow the capturing and saving of high-quality, high-resolution images. The three main aspects of PureView technology are a high-resolution camera lens, oversampling and lossless zoom. I’ll briefly explain each one.
The core of PureView technology is a high-resolution sensor, 7,728 pixels wide and 5,368 pixels high, totaling more than 41MP. This enables the camera phone to capture big photographs, six times larger than a normal 5MP photograph.
Figure 1 compares a 41MP resolution picture with a 5MP resolution picture. Because of this 41MP resolution, you can take high-quality 34MP 16:9 photographs (7,728 x 4,354) as well as 38MP 4:3 photographs (7,152 x 5,368), as shown in the lens view of the camera in Figure 2.
A 41MP Picture Compared with a 5MP Picture
Figure 1 A 41MP Picture Compared with a 5MP Picture
Lossless Zoom Is Still Part of the Photograph Figure 2 Lossless Zoom Is Still Part of the Photograph
Pixel oversampling is when the camera takes a 41MP photograph and creates a high-quality 5MP image. This is the picture you see on the phone’s screen. Furthermore, the oversampling process keeps all the rich detail in the image but filters away any visual noise.
The third aspect of PureView technology is lossless zoom, which simply means you don’t lose image quality when you zoom. This is possible because—at any point in time—you have available the original 41MP picture, which is oversampled to show a 5MP photo. When you zoom, you’re really zooming into a part of the original 41MP photo. At up to a 3x zoom, you’re still dealing with parts of the original 41MP photo. And even at maximum zoom, your photo quality is still the quality of a regular 5MP photo. Due to oversampling, the picture quality only gets better as you zoom. Figure 2 shows how the lossless zoom is still part of the original photograph.
The Nokia Imaging SDK When building a camera app, a high-resolution photograph is the raw material, but you’ll need an advanced software stack that can use the huge images and let you access and manipulate them. This is where the Nokia Imaging SDK comes into the picture (bit.ly/1hJkmpl). It provides a set of advanced features to access a high-resolution photograph taken by the camera.
The Nokia Imaging SDK includes partial JPEG decoding, called Random Access JPEG (RAJPEG) technology. RAJPEG allows for random access of JPEG data, fast downscaling of images and instant partial decoding. These aspects of RAJPEG enable real-time image manipulation. The Nokia Imaging SDK contains more than 50 filters, effects and enhancements. It even contains a set of the most common image operations, such as crop, resize, rotate and undo, just to name a few. These out-of-the-box features help you create advanced camera/photo-centric applications without worrying about the most common functionalities. To use the Nokia Imaging SDK in your project, follow the instructions on the Nokia Lumia Developer Library page (bit.ly/KzDPNG).
Checkout the complete article here http://msdn.microsoft.com/en-us/magazine/dn630649.aspx