20
LUMIA APP LABS NOKIA IMAGING SDK 1.1.

Lumia App Labs: Nokia Imaging SDK 1.1

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Lumia App Labs: Nokia Imaging SDK 1.1

LUMIA APP LABSNOKIA IMAGING SDK 1.1.

Page 2: Lumia App Labs: Nokia 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

Page 3: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 4: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 5: Lumia App Labs: Nokia Imaging SDK 1.1

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

Page 6: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 7: Lumia App Labs: Nokia Imaging SDK 1.1

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

HDR Effects

Page 8: Lumia App Labs: Nokia Imaging SDK 1.1

• Defining (“Segmenting”) areas on the image and applying different effects• Lens Blur with various pre-defines and customizable kernel shapes

Segmenter / Lens Blur

Page 9: Lumia App Labs: Nokia Imaging SDK 1.1

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

Page 10: Lumia App Labs: Nokia Imaging SDK 1.1

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

Page 11: Lumia App Labs: Nokia Imaging SDK 1.1

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

Page 12: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 13: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 14: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 15: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 16: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 17: Lumia App Labs: Nokia Imaging SDK 1.1

• 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

Page 18: Lumia App Labs: Nokia Imaging SDK 1.1

DEMO AND HANDS-ONNOKIA IMAGING SDK 1.1.

Page 19: Lumia App Labs: Nokia Imaging SDK 1.1

Create an outstanding imaging app and win a trip to experience zero gravityNokia.ly/Imagin8

Page 20: Lumia App Labs: Nokia Imaging SDK 1.1

LUMIA APP LABSTHANKS!

Michael SamarinDirector, Developer Training and EvangelismFuturice