Bonjour à tous,
Je suis actuellement en train de coder une application ayant pour but d'anonymiser des données médicales.
Une partie du travail que je cherche à effectuer est de supprimer le texte incrusté dans l'images dicom (pas dans les tags).
Pour cela j'ai cherché différentes solutions et la meilleure m'a semblé l'utilisation d'une librairie d'OCR après l'export de l'image dans un autre format.
Mon but est de trouver les zones de textes (sans nécessairement savoir ce qui est écrit) puis de les effacer.
Voici mes différentes questions :
Y a-t-il une meilleure solution à mon problème que celle que j'ai trouvé ?
Si non, comment corriger mon problème :
J'ai repris les codes trouvés en exemple sur internet (sachant que mes include et librairies sont bien trouvées) :
La fonction Init me retourne systématiquement -1 (l'initialisation échoue).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // Initialize tesseract-ocr with English, without specifying tessdata path if(api->Init(NULL, NULL, tesseract::OEM_TESSERACT_ONLY, NULL, 0, NULL, NULL, false)) { exit(1); } // Open input image with leptonica library Pix *image = pixRead("p13a.tiff"); api->SetImage(image); // Get OCR result char *outText = api->GetUTF8Text(); // Destroy used object and release memory api->End(); delete [] outText; pixDestroy(&image);
J'ai essayé toutes sortes d'Init telles que : api->Init("C:\temp\tessdata", "eng")
mais aucune ne semble marcher et je n'arrive pas a comprendre pourquoi.
Je n'ai jamais posté aucun topic en 5 ans de programmation, mais la j'avoue ne pas avoir trouvé de solution seul.
Merci de votre aide
Partager