SlideShare a Scribd company logo
1 of 17
Download to read offline
USING THE NOKIA
IMAGING SDK
LUMIA APP LABS #15
Berthier Lemieux
Technology Wizard
Experts in imaging algorithms
Acquired by Nokia, 24 July 2012
Their technology drives:
Nokia Smart Camera
Nokia Cinemagraph
Nokia Creative studio
SCALADO
Really fast preview of any region of the image
Complete set of base filters and effects (52 filters).
Combine them to generate more complex ones
Highest performance and low memory consumption
through RAJPEG technology (>15 patents)
Cropping and JPEG compression parameter control
NOKIA IMAGING SDK
Filter Effects,
simple illustration
of basics
Example projects
Real-time Filter
Demo, live
viewfinder stream
processing
Filter Explorer,
complex illustration
of various usage
scenarios
 Apps developed with the SDK can be used on
any Windows Phone 8, including non-Nokia,
devices
 The library is a WinPRT library. Routines are
available via a C# interface as well as a
C/C++ interface
 Nokia Imaging SDK License Agreement: Free
to use, attribution
GOOD TO KNOW
List of filters and effects I
List of filters and effects II
List of filters and effects III
• Step 1: Include Nokia Imaging SDK Libraries into your project
• Step 2 : Create EditingSession
• Step 3 : Create and add filters to EditingSession
• Step 4 : Use asynchronous methods RenderToImageAsync or
RenderToJpegAsync to produce the final processed image
General overview of required steps
• Use NuGet to install the SDK libraries.
• Finalise the installation by :
• Making sure thatin the Project’s Configuration Manager, only the X86 and ARM platformsare
listed. The Any CPU platform should be removed
• Save your project in VisualStudio
• With an external editor (notepad, for example), edit the .csproj file to support both X86 and ARM
platforms. In the <HintPath> elements, replace “X86” by “$(Platform)”.
Step 1: Nokia Imaging SDK Libraries
Language Compiled to Runs in a virtual
machine ?
Processor
architecture
dependant?
Managed
code
C#, VB Intermediate
Language (MSIL)
Yes (CLR) No
Native code C++ Machine language No Yes
PROCESSOR ARCHITECTURES
Target Processor
architecture type
Emulator X86
Phone ARM
You don’t need to know/understand
this to use the SDK!
Consider this as FYI.
• Create an Imaging SDK EditingSession using a compressed or uncompressed image:
Step 2: Create EditingSession
EditingSession session = new EditingSession(jpegData);
• From a WriteableBitmap:
EditingSession session = new EditingSession(sourceBitmap);
• From a JPEG in a IBuffer:
EditingSession session = await CreateEditingSessionAsync(stream);
• From a Stream (from PhotoChooserTask):
• Use FilterFactory to create filters and effects
• Use EditingSession methods to add filters and effects:
Step 3: Create and add filters and effects
session.AddFilter(FilterFactory.CreateCartoonFilter(true));
session.AddFilter(FilterFactory.CreateFogFilter());
• You can also use FilterGroup to add several filters and effects in one call
You can render the processed image to:
• A XAML Image control:
await session.RenderToImageAsync(FilteredImage);
• A WriteableBitmap :
await session.RenderToWriteableBitmapAsync(FilteredBitmap);
• An IBuffer :
IBuffer jpegOut = await session.RenderToJpegAsync();
Step 4: Produce final processed image
You found an error in the SDK, have suggestions, need help?
Nokia Imaging discussion board: http://nokia.ly/DiBoImg
You have developped an app with the SDK?
We’d love to hear about it. Tellus by sending a mailat developer-
relations.marketing@nokia.com
Documentation and code samples
• Imaging in the Lumia Developer’s Library: http://nokia.ly/WP_lib_img
• Nokia Imaging SDK: http://www.developer.nokia.com/imaging
RESOURCES
THANK YOU!
NOKIA
IMAGING WIKI
COMPETITION
2013Q3
Write a great tutorial, guide or an article with code which
shows how to use the Nokia Imaging SDK or Camera and any
other Windows Phone APIs related to imaging in useful,
imaginative and innovative ways and/or provide the best
feedback on the Nokia Imaging SDK.
developer.nokia.com/Community/Wiki/

More Related Content

What's hot

Building Visual Studio LightSwitch Application
Building Visual Studio LightSwitch ApplicationBuilding Visual Studio LightSwitch Application
Building Visual Studio LightSwitch Application
Kunal Chowdhury
 

What's hot (20)

Basic android-ppt
Basic android-pptBasic android-ppt
Basic android-ppt
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
 
Custom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaCustom Android App Development – Web Animation India
Custom Android App Development – Web Animation India
 
Android Web app
Android Web app Android Web app
Android Web app
 
Android studio ppt
Android studio pptAndroid studio ppt
Android studio ppt
 
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
Multi-platform Compatibility of HTML5 by developing simple HTML5 based game(M...
 
Best Tools for Business
Best Tools for BusinessBest Tools for Business
Best Tools for Business
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Project presentation (Loginradius SDK for Android)
Project presentation (Loginradius SDK for Android)Project presentation (Loginradius SDK for Android)
Project presentation (Loginradius SDK for Android)
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming
 
Android Project Presentation
Android Project PresentationAndroid Project Presentation
Android Project Presentation
 
Android Training
Android TrainingAndroid Training
Android Training
 
Intel XDK in Brief
Intel XDK in BriefIntel XDK in Brief
Intel XDK in Brief
 
Android development
Android developmentAndroid development
Android development
 
Android 6.0 Marshmallow - Everything you need to know !
Android 6.0 Marshmallow - Everything you need to know !Android 6.0 Marshmallow - Everything you need to know !
Android 6.0 Marshmallow - Everything you need to know !
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
Building Visual Studio LightSwitch Application
Building Visual Studio LightSwitch ApplicationBuilding Visual Studio LightSwitch Application
Building Visual Studio LightSwitch Application
 

Similar to LUMIA APP LAB #15: USING THE NOKIA IMAGING SDK

7.imaging on windows phone
7.imaging on windows phone7.imaging on windows phone
7.imaging on windows phone
Nguyên Phạm
 
A Tutorial On Ip 2
A Tutorial On Ip 2A Tutorial On Ip 2
A Tutorial On Ip 2
ankuredkie
 
Advanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch UpAdvanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch Up
GoogleTecTalks
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 

Similar to LUMIA APP LAB #15: USING THE NOKIA IMAGING SDK (20)

LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthy
 
DSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and NoteworthyDSDP Mobile Tools for Java New and Noteworthy
DSDP Mobile Tools for Java New and Noteworthy
 
A new way to inspire and stimulate learning
A new way to inspire and stimulate learningA new way to inspire and stimulate learning
A new way to inspire and stimulate learning
 
SWT - Technical Deep Dive
SWT - Technical Deep DiveSWT - Technical Deep Dive
SWT - Technical Deep Dive
 
Selfie booth ppt
Selfie booth pptSelfie booth ppt
Selfie booth ppt
 
7.imaging on windows phone
7.imaging on windows phone7.imaging on windows phone
7.imaging on windows phone
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
 
Introduction to DL-BUILDER
Introduction to DL-BUILDERIntroduction to DL-BUILDER
Introduction to DL-BUILDER
 
A Tutorial On Ip 2
A Tutorial On Ip 2A Tutorial On Ip 2
A Tutorial On Ip 2
 
10 gui 14
10 gui 1410 gui 14
10 gui 14
 
License Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCVLicense Plate Recognition System using Python and OpenCV
License Plate Recognition System using Python and OpenCV
 
Advanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch UpAdvanced Ruby Scripting For Sketch Up
Advanced Ruby Scripting For Sketch Up
 
Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...
Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...
Workshop: Arduino for makers - Strumenti SW per la prototipazione elettronica...
 
Climberreport
ClimberreportClimberreport
Climberreport
 
Building Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDKBuilding Applications with the Microsoft Kinect SDK
Building Applications with the Microsoft Kinect SDK
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 

More from Microsoft Mobile Developer

More from Microsoft Mobile Developer (20)

Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and tools
 
Lumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK betaLumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK beta
 
Nokia Asha from idea to app - Imaging
Nokia Asha from idea to app - ImagingNokia Asha from idea to app - Imaging
Nokia Asha from idea to app - Imaging
 
Healthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia AshaHealthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia Asha
 
Push notifications on Nokia X
Push notifications on Nokia XPush notifications on Nokia X
Push notifications on Nokia X
 
DIY Nokia Asha app usability studies
DIY Nokia Asha app usability studiesDIY Nokia Asha app usability studies
DIY Nokia Asha app usability studies
 
Lessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviewsLessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviews
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocamera
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

LUMIA APP LAB #15: USING THE NOKIA IMAGING SDK

  • 1. USING THE NOKIA IMAGING SDK LUMIA APP LABS #15 Berthier Lemieux Technology Wizard
  • 2. Experts in imaging algorithms Acquired by Nokia, 24 July 2012 Their technology drives: Nokia Smart Camera Nokia Cinemagraph Nokia Creative studio SCALADO
  • 3. Really fast preview of any region of the image Complete set of base filters and effects (52 filters). Combine them to generate more complex ones Highest performance and low memory consumption through RAJPEG technology (>15 patents) Cropping and JPEG compression parameter control NOKIA IMAGING SDK
  • 4. Filter Effects, simple illustration of basics Example projects Real-time Filter Demo, live viewfinder stream processing Filter Explorer, complex illustration of various usage scenarios
  • 5.  Apps developed with the SDK can be used on any Windows Phone 8, including non-Nokia, devices  The library is a WinPRT library. Routines are available via a C# interface as well as a C/C++ interface  Nokia Imaging SDK License Agreement: Free to use, attribution GOOD TO KNOW
  • 6. List of filters and effects I
  • 7. List of filters and effects II
  • 8. List of filters and effects III
  • 9. • Step 1: Include Nokia Imaging SDK Libraries into your project • Step 2 : Create EditingSession • Step 3 : Create and add filters to EditingSession • Step 4 : Use asynchronous methods RenderToImageAsync or RenderToJpegAsync to produce the final processed image General overview of required steps
  • 10. • Use NuGet to install the SDK libraries. • Finalise the installation by : • Making sure thatin the Project’s Configuration Manager, only the X86 and ARM platformsare listed. The Any CPU platform should be removed • Save your project in VisualStudio • With an external editor (notepad, for example), edit the .csproj file to support both X86 and ARM platforms. In the <HintPath> elements, replace “X86” by “$(Platform)”. Step 1: Nokia Imaging SDK Libraries
  • 11. Language Compiled to Runs in a virtual machine ? Processor architecture dependant? Managed code C#, VB Intermediate Language (MSIL) Yes (CLR) No Native code C++ Machine language No Yes PROCESSOR ARCHITECTURES Target Processor architecture type Emulator X86 Phone ARM You don’t need to know/understand this to use the SDK! Consider this as FYI.
  • 12. • Create an Imaging SDK EditingSession using a compressed or uncompressed image: Step 2: Create EditingSession EditingSession session = new EditingSession(jpegData); • From a WriteableBitmap: EditingSession session = new EditingSession(sourceBitmap); • From a JPEG in a IBuffer: EditingSession session = await CreateEditingSessionAsync(stream); • From a Stream (from PhotoChooserTask):
  • 13. • Use FilterFactory to create filters and effects • Use EditingSession methods to add filters and effects: Step 3: Create and add filters and effects session.AddFilter(FilterFactory.CreateCartoonFilter(true)); session.AddFilter(FilterFactory.CreateFogFilter()); • You can also use FilterGroup to add several filters and effects in one call
  • 14. You can render the processed image to: • A XAML Image control: await session.RenderToImageAsync(FilteredImage); • A WriteableBitmap : await session.RenderToWriteableBitmapAsync(FilteredBitmap); • An IBuffer : IBuffer jpegOut = await session.RenderToJpegAsync(); Step 4: Produce final processed image
  • 15. You found an error in the SDK, have suggestions, need help? Nokia Imaging discussion board: http://nokia.ly/DiBoImg You have developped an app with the SDK? We’d love to hear about it. Tellus by sending a mailat developer- relations.marketing@nokia.com Documentation and code samples • Imaging in the Lumia Developer’s Library: http://nokia.ly/WP_lib_img • Nokia Imaging SDK: http://www.developer.nokia.com/imaging RESOURCES
  • 17. NOKIA IMAGING WIKI COMPETITION 2013Q3 Write a great tutorial, guide or an article with code which shows how to use the Nokia Imaging SDK or Camera and any other Windows Phone APIs related to imaging in useful, imaginative and innovative ways and/or provide the best feedback on the Nokia Imaging SDK. developer.nokia.com/Community/Wiki/