Accueil Nos publications Blog Nokia SDKs : Imaging et Sensorcore

Nokia SDKs : Imaging et Sensorcore

NOKIANokia se démarque des autres constructeurs Windows Phone de par l’étendue de sa gamme mais également par les outils qu’il met à disposition. En effet, en plus de ses téléphones, il met à disposition des API et des SDKs pour permettre le développement d’applications plus riches.

Le premier concerne l’imagerie, il est disponible sur tous les Windows Phone et dans les applications Windows Store.

Le second tourne autour des cartes et de la suite Here, il est également disponible pour tous les Windows Phone.

Le troisième s’articule autour de l’application Mix Radio.

Enfin, le dernier en date, encore en beta privé, est autour du “Contexte”, nous verrons ce que regroupe ce mot dans la deuxième partie.

Imaging SDK

L’Imaging SDK permet de faire du traitement d’image de manière très optimisée. Ca tombe bien, les téléphones n’étant pas forcément des appareils très puissants.

Il comprend une cinquantaine de filtres paramétrables, la possibilité de faire des filtres personnalisés, il est accessible depuis du code managé ou natif, il supporte également plusieurs sources de données (tableaux de pixels, flux, fichier, caméra, etc.) et supporte la nouvelle technologie Nokia RAJPEG pour un traitement optimisé des JPEGs.

La première version 1.0 contenait uniquement la cinquantaine de filtres ainsi que la possibilité de faire des filtres personnalisés.

La version 1.1 annoncée au MWC ajoutait des optimisations de performances, le filtre Lens Blur et le HDR.

La version 1.2 encore en beta privée ajoute la possibilité de créer des GIFs animés, la possibilité de paramétrer la fusion d’images et un algorithme d’alignement d’images.

Quelques fonctions importantes

Le chromakey : plus connu sous le nom de “fond vert” ou incrustation de fond. C’est utile lorsque l’on veut présenter la météo ou faire croire à ses amis qu’on se la coule douce à Hawaii alors qu’en fait on est en vacances chez tante Micheline dans la Creuse.

Fusion d’images : il est possible de fusionner des images d’une manière simple (l’image 2 se superpose à l’image 1) ou d’une manière plus complexe en choisissant la méthode de fusion (produit, éclaircissement, etc.)

Interactive Foreground Segmenter : Cette fonction est très utile dans les cas où il faut séparer le premier plan de l’arrière-plan (pour un filtre Bokeh par exemple). Pour cela il faut permettre à l’utilisateur de dessiner une zone qui sera considéré comme arrière-plan, une zone avant-plan et l’algorithme essaiera de faire un détourage pour obtenir les deux zones.

Fonctionnement

L’architecture de fonctionnement est très simple et se découpe en trois étapes : la source, l’effet et le rendu.

La source peut être de plusieurs types (tableau de pixels, flux, fichier, caméra, etc.). L’effet prend une source en entrée et quelques paramètres (dépendant de la nature de celui-ci). Il est à noter qu’il est possible de chainer les effets : l’effet E2 peut prendre en entrée la sortie de l’effet E1. C’est ce qu’on appelle un pipeline d’effets. Enfin le rendu est la destination de rendu qui peut être un fichier (JPEG, GIF, etc.) ou un flux.

Sensorcore SDK

C’est le fameux SDK de “Contexte” encore en beta privé. Celui-ci permet de connaître le contexte et les habitudes de l’utilisateur. Il est à noter que contrairement aux autres SDKs, celui-ci impose une dépendance sur le matériel (uniquement les Nokia 930, 630 et 635)

Il est découpé en quatre grand thèmes :

Podomètre : il compte de manière efficace les pas de l’utilisateur. Il est possible d’accéder à 10 jours d’historique avec une fréquence d’actualisation de 5 minutes.

Activité : il permet de connaitre l’activité de l’utilisateur (en mouvement, statique, etc.) et sa répartition

Endroits : il permet de voir les endroits souvent fréquentés et de les classer par thème (maison, travail, etc.)

Routes : il permet de voir les différents déplacements de l’utilisateur

Pour les trois derniers thèmes, il est à noter que l’information n’est pas forcément très précise : afin de ne pas drainer la batterie de manière dramatique, le GPS est utilisé avec parcimonie. Ces APIs ne sont donc pas adaptées à des applications “trackers sportifs”. Ils sont plutôt pour les usages de statistiques et d’analyse de tendances et d’habitude comme dans les exemples suivants :

  • Tiens, ça fait longtemps que t’es assis à ton bureau, tu devrais faire une pause.
  • Tiens, j’ai remarqué que tu passais tous les soirs dans ce quartier aux alentours de 20h, tu ne veux pas tester ce restaurant tendance ?
  • Tiens, tu passes par là le matin mais ça bouchonne toujours, tu devrais plutôt essayer telle autre route.

Pour les applications où la précision est nécessaire et où le déclenchement doit être immédiat, les API systèmes comme le GeoLocator ou le GeoFencing sont nécessaires.