J'essaie, pour mes propres besoins d'apprentissage, de développer une implémentation d'un algorithme qui répertorierait les livres, étant donné une image d'une étagère comme celle-ci:
La première étape consiste à découper l'image en livres individuels.
Mon algorithme, dans Mathematica , est:
img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"]
- faire une détection de bord de base et
supprimez le texte et essayez de garder les longues lignes
edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5]
puis supprimez les lignes horizontales indésirables
lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]] Show[img, Graphics[{Thick, Orange, Line /@ lines}]]
Cependant, les résultats sont loin d’être excellents:
Mes questions sont:
- Comment puis-je améliorer cela pour obtenir de meilleurs résultats?
- Existe-t-il un moyen plus intelligent de le faire?
- dans quelle mesure dois-je traiter les images pour augmenter la précision lors de la phase OCR (ultérieure)?
- Comment utiliser les informations de couleur pour améliorer la segmentation?