Bonjour à vous tous,
Pour mon stage, je dois concevoir un programme qui détecte, sur des disques, des défauts, dont des bulles ( de taille, de forme [ parfois un peu elliptique ], d'intensité différentes ). Voilà quelques détails supplémentaires:
Je travaille sur Visual Studio 2008 C++ avec OpenCV 2.4. Mes images sont en .tif.
Les photos sont en niveau de gris.
Les photos sont prises par des caméras différentes: donc l'éclairage, l'inclinaison et l'usure différent.
J'ai déjà procédé à un découpage de l'image pour ne travailler que sur la région d'intérêt, le disque.
[ Avant tout, je ne vous demande pas des pavés, mais un lien ou une piste de travail peut me suffire dans un premier temps ]
Arrive maintenant la détection de ces bulles. On pourrait penser à une détection de contour et les compter grâce à findContours et à son deuxième argument ( qui est un vecteur dont on peut savoir la taille ). Cependant, le réglage du seuil des filtres à utiliser ( Sobel, Canny,... ) est associé à une caméra, qui, de plus, peut être changé.
Solution 1: Le seuil doit donc dépendre des caractéristiques de l'image. Mais comment le choisir?
Solution 2: utiliser le haartraining. J'ai déjà regardé beaucoup de sites ( j'applaudis celui qui m'en indique un que je ne connais pas ) et c'est alors que je me pose pleins de questions.
1) Je pense pouvoir recueillir 100 photos cadrées serrées de mes défauts. Pourrais-je obtenir un temps de détection raisonnable ( <5min par photo )?
2) Pourquoi un fichier XML est-il nécessaire? ( j'ai essayé de regarder ce qu'est le XML, mais je n'en vois pas l'intérêt dans mon cas )
3) Comment est lu ce fichier XML par la fonction LoadCascadeClassifier?
4) Avez-vous un site qui présente simplement un moyen pour obtenir un tel fichier? Je suis sur Windows et Visual Studio 2008 C++ ( Là, je suis à genoux devant vous ).
Solution 3: utiliser la corrélation de phase. Et là, c'est fftw que je ne parviens pas à compiler la librairie sur VS2008: le compilateur cherche des .c dans un dossier codelets, qui n'existe pas.
A ce propos, j'ai téléchargé ces trois fichiers:
- fftw-3.2.2-vs2008.zip
- fftw-3.3.2.tar.gz
- fftw-3.3.2-dll32.zip
et j'ai créé un dossier FFTW où j'ai mis tout ça.
D'une manière générale, je suis perdu: je ne sais pas quelle piste je dois privilégier.
Merci d'avance,
N'hésitez pas pour les critiques!
Partager