SlideShare a Scribd company logo
LUMIA APP LABS
NOKIA IMAGING SDK 1.1.
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
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’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

•
•
•
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
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
HDR Effects
•
•

Simulates results of HDR Photography
Adjustable parameters: Gamma, Strength, Saturation and Noise Level
Segmenter / Lens Blur
•
•

Defining (“Segmenting”) areas on the image and applying different effects
Lens Blur with various pre-defines and customizable kernel shapes
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
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
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
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
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
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
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
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
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
http://developer.nokia.com/imaging
DEMO AND HANDS-ON
NOKIA IMAGING SDK 1.1.
Create an outstanding imaging app
and win a trip to experience zero gravity
Nokia.ly/Imagin8
LUMIA APP LABS
THANKS!

Michael Samarin
Director,
Developer Training and Evangelism
Futurice

More Related Content

Lumia App Labs: Nokia Imaging SDK 1.1

  • 1. LUMIA APP LABS NOKIA IMAGING SDK 1.1.
  • 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. 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. 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. 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
  • 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. HDR Effects • • Simulates results of HDR Photography Adjustable parameters: Gamma, Strength, Saturation and Noise Level
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 http://developer.nokia.com/imaging
  • 18. DEMO AND HANDS-ON NOKIA IMAGING SDK 1.1.
  • 19. Create an outstanding imaging app and win a trip to experience zero gravity Nokia.ly/Imagin8
  • 20. LUMIA APP LABS THANKS! Michael Samarin Director, Developer Training and Evangelism Futurice