The Nokia Imaging SDK 1.1 provides tools for image processing and effects for Windows Phone and Windows 8.1 applications. It includes over 50 filters and effects that can be combined in a processing pipeline. New features in version 1.1 include HDR effects, lens blur, and interactive foreground segmentation. The SDK allows loading images from various sources and outputting processed images as bitmaps or JPEG files. It provides a simple architecture based on image sources, effects, and renderers that can be combined flexibly to create custom image processing workflows.
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
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