ON SQUATTE
L’OCR
D’HAWAII !
SQUATTEUR : SAMUEL BLANCHARD
Samuel BLANCHARD
Communautaire
Rédacteur/Modérateur chez Développez
Rédacteur pour Programmez!
Fondateur Club SP et .NET O...
Samuel BLANCHARD
3
Projet HAWAII (1)
4
Projet Microsoft Research :
Gratuit mais…
Seulement pour les écoles
Apps non commerciales
Projet HAWAII (2)
5
Services dans les nuages !
OCR (reconnaissance de caractères)
Relais de message
Sauvegarde de settings...
Projet HAWAII (3)
6
Services accessibles facilement !
SDK Windows Phone (mais pas tous les services)
Architecture REST pou...
Téléchargement & ID
7
SDK Windows Phone
http://research.microsoft.com/en-us/um/redmond/projects/hawaii
L’id à partir de Wi...
Intégration du SDK
8
Répertoire de base
C:UsersVotreNomUtilisateurDocumentsMicrosoft ResearchCloud
Services SDK for WP71.0...
Appel de l’OCR
9
string hawaiiAppId = HAWAII_ID; //identifiant Hawaii
byte[] bufferImage; //image JPEG à envoyer
OcrServic...
L’image à envoyer
10
Format JPEG
70-80% compression
640x480 (meilleur résolution)
Taille max 1.5Mo
Taille font : 30px (idé...
Source de l’image (1) :
11
CameraCaptureTask + PhotoChooserTask
retaille de l’image en 640x480
un seul essai
Format JPEG (...
Source de l’image (2) :
12
PhotoCamera
taille de l’image en 640x480
Flux vidéo
Format Brut (pixels)
cam = new Microsoft.De...
Améliorons l’image :
13
bmp = bmp.Contrast(0, 0.25f);
Contraste
Article de René Schulte
http://channel9.msdn.com/coding4fu...
Workflow d’acquisition
14
Lancement de la caméra
PhotoCamera
AutoFocus
Récupération des données caméra
GetPreviewBufferArg...
Démo Carte de visite
MA SUPER DÉMONSTRATION
15La communauté Windows Phone Squatte Microsoft
Résultats de l’OCR
16
Des blocs de texte
Des mots
Une position et taille par mot
Une orientation
Optimisation des résultats
17
Phrase : assembler les mots sur
la même ligne (position Y)
Détecter le type de la phrase
(We...
Code GetOcrLines
MA SUPER DÉMONSTRATION
18La communauté Windows Phone Squatte Microsoft
Sauver les contacts
19
Création de contact
SaveContactTask
SaveContactTask task = new SaveContactTask();
foreach (var line...
Conclusion
20
Résultat satisfaisant si image de
qualité.
Aide à la saisie
Intégration facile
Manque un OCR Offline
Licence...
Programmez ! n°153
21
Remerciements
22
23
Des questions ?
24
Merci à tous !
Prochain SlideShare
Chargement dans…5
×

On squatte l'ocr d'hawaii !

475 vues

Publié le

How to implement a small OCR on Windows Phone with Hawaii services ! This is the slides of my session in the event "La communauté Windows Phone squatte Microsoft".

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
475
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

On squatte l'ocr d'hawaii !

  1. 1. ON SQUATTE L’OCR D’HAWAII ! SQUATTEUR : SAMUEL BLANCHARD
  2. 2. Samuel BLANCHARD Communautaire Rédacteur/Modérateur chez Développez Rédacteur pour Programmez! Fondateur Club SP et .NET Ouest Professionnel Responsable Développement & Innovation chez Naviso (blog.naviso.fr) 2
  3. 3. Samuel BLANCHARD 3
  4. 4. Projet HAWAII (1) 4 Projet Microsoft Research : Gratuit mais… Seulement pour les écoles Apps non commerciales
  5. 5. Projet HAWAII (2) 5 Services dans les nuages ! OCR (reconnaissance de caractères) Relais de message Sauvegarde de settings Voix vers texte …
  6. 6. Projet HAWAII (3) 6 Services accessibles facilement ! SDK Windows Phone (mais pas tous les services) Architecture REST pour le reste
  7. 7. Téléchargement & ID 7 SDK Windows Phone http://research.microsoft.com/en-us/um/redmond/projects/hawaii L’id à partir de Windows Live ID http://hawaiiguidgen.cloudapp.net
  8. 8. Intégration du SDK 8 Répertoire de base C:UsersVotreNomUtilisateurDocumentsMicrosoft ResearchCloud Services SDK for WP71.0.8 Projets du SDK : code + bin ClientLibraryBase : accès à Hawaii (indispensable) OcrClientLibrary : accès à l’OCR d’Hawaii (selon services)
  9. 9. Appel de l’OCR 9 string hawaiiAppId = HAWAII_ID; //identifiant Hawaii byte[] bufferImage; //image JPEG à envoyer OcrService.RecognizeImageAsync( hawaiiAppId, bufferImage, (result) => { // récupération du résultat } );
  10. 10. L’image à envoyer 10 Format JPEG 70-80% compression 640x480 (meilleur résolution) Taille max 1.5Mo Taille font : 30px (idéal) à 100px (max) Image contrastée
  11. 11. Source de l’image (1) : 11 CameraCaptureTask + PhotoChooserTask retaille de l’image en 640x480 un seul essai Format JPEG (attention aux formats dans PhotoChooserTask) camera = new CameraCaptureTask(); camera.Completed += new EventHandler<PhotoResult>(completed); camera.Show();
  12. 12. Source de l’image (2) : 12 PhotoCamera taille de l’image en 640x480 Flux vidéo Format Brut (pixels) cam = new Microsoft.Devices.PhotoCamera(CameraType.Primary); camBrush.SetSource(cam); //fixe la source du VideoBrush pixels = new int[(int)cam.PreviewResolution.Width * (int)cam.PreviewResolution.Height]; cam.GetPreviewBufferArgb32(pixels);
  13. 13. Améliorons l’image : 13 bmp = bmp.Contrast(0, 0.25f); Contraste Article de René Schulte http://channel9.msdn.com/coding4fun/articles/PicFx--Windows- Phone-Picture-Effects-Application--Part-1
  14. 14. Workflow d’acquisition 14 Lancement de la caméra PhotoCamera AutoFocus Récupération des données caméra GetPreviewBufferArgb32 Envoi vers l’OCR OcrService.RecognizeImageAsync Traitement des résultats
  15. 15. Démo Carte de visite MA SUPER DÉMONSTRATION 15La communauté Windows Phone Squatte Microsoft
  16. 16. Résultats de l’OCR 16 Des blocs de texte Des mots Une position et taille par mot Une orientation
  17. 17. Optimisation des résultats 17 Phrase : assembler les mots sur la même ligne (position Y) Détecter le type de la phrase (Web, Adresse mail,…)
  18. 18. Code GetOcrLines MA SUPER DÉMONSTRATION 18La communauté Windows Phone Squatte Microsoft
  19. 19. Sauver les contacts 19 Création de contact SaveContactTask SaveContactTask task = new SaveContactTask(); foreach (var line in this.OcrLines) { line.SetToContactTask(task); } task.Show();
  20. 20. Conclusion 20 Résultat satisfaisant si image de qualité. Aide à la saisie Intégration facile Manque un OCR Offline Licence trop restreinte !
  21. 21. Programmez ! n°153 21
  22. 22. Remerciements 22
  23. 23. 23 Des questions ?
  24. 24. 24 Merci à tous !

×