LUMIA APP LABSNOKIA IMAGING SDK 1.1.
• Native library, available for 3rd party developers and supports all Windows Phone 8, Windows 8.1/RT devices
• Includes more than 50 ready to use image processing filters and effects, with various adjustment parameters
• Supports creation of the totally custom filters• Accessible from C#, VB and C++ Projects• Library doesn’t require special knowledge of image processing
algorithms or techniques
What is Nokia Imaging SDK
• Filters and effects can be combined sequentially• Parameters of the filters can be changed without rebuilding
rendering pipeline• Supports compressed (Jpeg) and uncompressed images as
input and output• Directly supports various source types: bitmaps, streams, files
and camera viewfinder• Partial JPEG decoding - using RAJPEG technology, access
image data without decoding a whole JPEG image for a fast previews, application of effects, rotation, and cropping of high resolution images.
What is Nokia Imaging SDK
• Support for Windows 8.1/RT Devices• HDR Effect• Lens Blur Effect (Bokeh)• Interactive Foreground Segmenter• Alpha to Grayscale Filter
What’s new in the 1.1 version
Apps using Nokia Imaging SDK
spaceselfie Picura Gigapixel image browser(wiki article)
http://developer.nokia.com/community/wiki/Apps_that_use_the_Nokia_Imaging_SDK
• Supported architectures• ARM and x86
• Single Codebase• API and architecture of Imaging SDK is
identical between Windows Phone and Windows 8.1 /RT
• Difference• Working with live camera preview is slightly
different
Windows 8.1 / RT Devices
• Simulates results of HDR Photography• Adjustable parameters: Gamma, Strength, Saturation and Noise Level
HDR Effects
• Defining (“Segmenting”) areas on the image and applying different effects• Lens Blur with various pre-defines and customizable kernel shapes
Segmenter / Lens Blur
List of Filters and Effects IAntique
Auto Enhance
Auto Levels
Blend
Blur
Brightness
Cartoon
Color Adjust
Color Boost
Colorization
Color Swap
Contrast
Crop
Curves
Despeckle
Emboss
Exposure
Flip
List of Filters and Effects IIFog
Foundation
Frame
Free Rotation
Grayscale
Grayscale Negative
Hue Saturation
Image Fusion
Levels
Local Boost
Lomo
Magic Pen
Milky
Mirror
Mono Color
Moonlight
Negative
Noise
List of Filters and Effects IIIOily
Paint
Posterize
Sepia
Sharpness
Sketch
Solarize
Split Tone
Spotlight
Stamp
Step Rotation
Temperature and Tint
Vignetting
Warp
Watercolor
White Balance
ChromaKey
• Library contains three architectural building blocks:• Image sources (such as bitmaps, streams,
files)• Effects (such as 50+ various filters, including
custom)• Renderers (outputs bitmaps or files)
• Combining these building blocks, developer creates rendering pipeline
• Once pipeline is created, it is possible to change filter parameters, or their sequence.
General Architecture OverviewImage Source
Filter Effects
Cartoon FilterFog FilterContrast Filter
Renderer
• Often placed at the beginning of the processing pipeline.• Originates an image in some way, e.g. by generating or
loading it from storage, and sets it up to be used further in the processing pipeline.
• In order to provide this conceptual “image” to the processing pipeline, all image sources implement the interface IImageProvider.
Image SourceImage Source
Filter Effects
Cartoon FilterFog FilterContrast Filter
Renderer
• Effects process the image in some way, and are the large-scale building blocks of the processing pipeline.
• There are several implementations of effects:
• FilterEffect• DelegatingFilterEffect• HDREffect• LensBlurEffect
EffectsImage Source
Filter Effects
Cartoon FilterFog FilterContrast Filter
Renderer
• In the rendering stage, the processing set up by the pipeline is actually performed, and a resulting image is created.
• Depending on the required output, SDK can render resulting image as bitmap or compressed Jpeg.
• There are three renderers, provided by SDK• BitmapRenderer: outputs
Nokia.Graphics.Imaging.Bitmap• JpegRenderer: outputs
Windows.Storage.Streams.IBuffer• WriteableBitmapRenderer: outputs
WriteableBitmap
RenderersImage Source
Filter Effects
Cartoon FilterFog FilterContrast Filter
Renderer
• SDK can be installed with the NuGet for individual projects• It is important to reference correct architecture in your project:
X86 for the Emulator and ARM for Device deployment• Make sure that in the Project’s Configuration Manager, there will
remain only X86 and ARM platforms. “Any CPU” platform should be removed
• Remember: Nokia Imaging SDK library is going to be included into your final XAP file
Nokia Imaging SDK Libraries
• Step 1: Include Nokia Imaging SDK Libraries into your project• Step 2: Prepare source image: uncompressed image as WriteableBitmap,
AudioVideoCaptureDevice or compressed image as IBuffer, StorageFile• Step 3: Create image source as instance of IImageSource• Step 4: Create enumeration (such as IList) of filters instances IFilter in required sequence• Step 5: Create FilterEffect with associated IImageSource instance• Step 6: Attach enumeration of IFilter the FilterEffect• Step 7: Create renderer with associated FilterEffect and target output• Step 8: Use asynchronous methods RenderAsync in order to generate output• Remember: official documentation is part of the Lumia Developer Library• http://developer.nokia.com/imaging
General Overview of Required Steps
DEMO AND HANDS-ONNOKIA IMAGING SDK 1.1.
Create an outstanding imaging app and win a trip to experience zero gravityNokia.ly/Imagin8
LUMIA APP LABSTHANKS!
Michael SamarinDirector, Developer Training and EvangelismFuturice