Imaging images with the Nokia Imaging SDK
Last week we highlighted a series of posts related to manipulating images, Becoming an Image Ninja with help from Dewald Esterhuizen. Today we continue with that theme, but move to the Windows Phone world and to an SDK that makes image tweaking much, much simpler...
Lets imagine a major (to say the least) Windows Phone hardware and software manufacture, who's know for their camera quality, released a SDK that was focused on images. Then lets imagine they released it for free. Finally that you can use it on any Windows Phone 8 device, not just theirs.
Imagine no more! Today post comes via Andrej Tozon where he gets...
A couple of days ago, Nokia announced their new Lumia phone, Lumia 1020, that features a powerful 41 MP camera sensor. letting you shoot photos in incredible details, or as they’ve put it, “shoot first, zoom later” (nods to Lytro, I guess). Of course that kind of beast would require some serious needs for editing photos, taken by those lenses (there’s 6 in Lumia 1020 to be exact), and as it just happens, Nokia yesterday also released their Imaging SDK that allows Windows Phone (8) developers to create apps that manipulate pictures by applying various filters, resizing, etc. An SDK, that, if you will, will let you develop your next best-to Instagram app.
What can the Nokia Imaging SDK do?
The main feature of the SDK are 50+ image filters with adjustable settings, that you can apply to any image. The filters are listed here. Besides filters, there are APIs for manipulating images, like resizing, cropping and rotating.
Here's a peek at all the filters, Nokia Imaging SDK - Filters and effects
Auto Enhance, Auto Levels, Blend, Blur, Brightness, Cartoon, Color Adjust, Color Boost, Colorization, Color Swap, Contrast, Crop, Curves, Despeckle, Emboss, Exposure, Flip, 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, Oily, Paint, Posterize, Sepia, Sharpness, Sketch, Solarize, Split Tone, Spotlight, Stamp, Step Rotation, Temperature and Tint, Vignetting, Warp, Watercolor, White Balance
Andrej continues on;
Where do I find It?
Nokia Imaging SDK is freely downloadable from here. The SDK is free to use, but check the license here. You can skip the publisher entry form by clicking the “No thanks” button, but if you’re already a Windows Phone publisher, you can leave your publisher details to increase the chance Nokia spotting your next great app featuring their imaging SDK
Installing the SDK will get you a local version of Nokia’s libraries, as well as a demo / sample project.
Note that you can also totally skip installing the SDK manually and rather pull the required libraries into existing projects through NuGet (always a good option).
He shows off three of the samples you can download separately
How do I start?
If you installed the SDK through the installer, there’s a simple sample project included in the package (look in Program Files (x86)\Nokia\Nokia Imaging SDK\tutorial\TutorialNokiaImagingSDK\ImagingSDKTutorial folder).
If you want more samples, Nokia has got you covered. There are currently 3 more sample projects you can download from their sample projects page:
You're probably going to want to look at these project pages. They provide some great information, details and help in using this SDK.
For example, for the, Filter Explorer;
Filter Explorer opens up into a mosaic style photo stream of user's Camera Roll photos. Photos in photo stream are filtered, each photo with one random filter, and the photos rotate in a quick pace revealing the same photo rendered with another randomly selected filter again and again.
Selecting a photo directly from the stream or by using the gallery picker or camera capture button takes the user to the main photo editing page. On this page tapping on the plus sign takes the user to a filter selection page. Selecting a filter takes the user back to the main photo editing page with the newly selected filter applied to the photo. Multiple filters can be stacked on top of each other again by tapping on the plus sign, and the "Applied filters" indicator in the top of the screen displays the currently applied filters.
Here's a class diagram showing the overall structure of the application. Notice that only the most relevant attributes, methods and relations are depicted here.
He provides a great hands on to get you started fresh;
I’ve created a new Windows Phone 8 project from scratch, using the installed libraries. There are some manual steps to take when adding references and I trust these will be addressed in the forthcoming releases. You can review these steps for both manual and NuGet install here.
What I wanted to try for this post, was a few simple tasks: take the photo, apply one of the photo filters, crop the image and save it to the library.
And implementing them was quite straightforward.
He closes with a summary that says it all...
Sounds fun, should I use it?
Nokia’s Imaging SDK is mostly valuable for its collection of filters, but it also takes the additional complexity away from working with compressed image files so it’s definitely worth looking at it.
And if you come up with a cool idea for an app that could make use of this SDK, don’t forget to enter the Nokia Future Capture competition (closes July 31st 2013).