Lumia App Labs: Nokia Imaging SDK 1.1


Published on

The Nokia Imaging SDK 1.1 makes it quicker and easier to create imaging apps for Windows Phone 8, and now also Windows 8.1 – desktop and RT. It helps you efficiently work with images captured and stored by both Windows Phone 8 and Windows 8.1 devices from Nokia. Michael Samarin, MVP from Futurice will open this training webinar with a quick overview of Nokia Imaging SDK 1.1 new features. Then he’ll jump into live coding demonstrations to show you how to use the SDK in applications that make the most of the imaging capabilities of Nokia Lumia products. Throughout the code demos, he’ll highlight new functionality in this SDK release, such as HDREffect, LenseBlurEffects, InteractiveForegroundSegmenter and of course using SDK with Windows Phone 8 and Windows 8.1.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Lumia App Labs: Nokia Imaging SDK 1.1

  2. 2. What is Nokia Imaging SDK • • • • • 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
  3. 3. 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.
  4. 4. What’s new in the 1.1 version • Support for Windows 8.1/RT Devices HDR Effect Lens Blur Effect (Bokeh) Interactive Foreground Segmenter • Alpha to Grayscale Filter • • •
  5. 5. Apps using Nokia Imaging SDK spaceselfie Picura Gigapixel image browser (wiki article) Nokia_Imaging_SDK
  6. 6. Windows 8.1 / RT Devices • Supported architectures • • Single Codebase • • ARM and x86 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
  7. 7. HDR Effects • • Simulates results of HDR Photography Adjustable parameters: Gamma, Strength, Saturation and Noise Level
  8. 8. Segmenter / Lens Blur • • Defining (“Segmenting”) areas on the image and applying different effects Lens Blur with various pre-defines and customizable kernel shapes
  9. 9. List of Filters and Effects I Antique Auto Enhance Auto Levels Blend Blur Brightness Cartoon Color Adjust Color Boost Colorization Color Swap Contrast Crop Curves Despeckle Emboss Exposure Flip
  10. 10. List of Filters and Effects II Fog Foundation Frame Free Rotation Grayscale Grayscale Negative Hue Saturation Image Fusion Levels Local Boost Lomo Magic Pen Milky Mirror Mono Color Moonlight Negative Noise
  11. 11. List of Filters and Effects III Oily Paint Posterize Sepia Sharpness Sketch Solarize Split Tone Spotlight Stamp Step Rotation Temperature and Tint Vignetting Warp Watercolor White Balance ChromaKey
  12. 12. General Architecture Overview • 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. Image Source Filter Effects Cartoon Filter Fog Filter Contrast Filter Renderer
  13. 13. Image Source • • • 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 Source Filter Effects Cartoon Filter Fog Filter Contrast Filter Renderer
  14. 14. Effects • • Effects process the image in some way, and are the largescale building blocks of the processing pipeline. There are several implementations of effects: Image Source Filter Effects • • • • FilterEffect DelegatingFilterEffect HDREffect LensBlurEffect Cartoon Filter Fog Filter Contrast Filter Renderer
  15. 15. Renderers • • • 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 Image Source Filter Effects Cartoon Filter Fog Filter Contrast Filter Renderer
  16. 16. Nokia Imaging SDK Libraries • • • • 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
  17. 17. General Overview of Required Steps • • • • • • • • • • 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
  19. 19. Create an outstanding imaging app and win a trip to experience zero gravity
  20. 20. LUMIA APP LABS THANKS! Michael Samarin Director, Developer Training and Evangelism Futurice