PANDORE Version 6 |
GREYC-IMAGE |
pgetquadrangle
Sélection du meilleur quadrilatère dans un ensemble de lignes.
Synopsis
pgetquadrangle [-m mask] [im_lines|-] [im_bin|-] [im_out|-]
Description
L'opérateur pgetquadrangle permet de détecter le meilleur quadrilatère
parmi les lignes de l'image im_lines.
Détecter le tableau blanc consiste à repérer
Seul est retenu le quadrilatère qui satisfait le mieux aux contraintes suivantes :
- Les lignes opposées doivent avoir une orientation proche (+/- 30°).
- Les lignes opposées doivent être suffisamment loin l'une de l'autre (distance > 1/5 de la largeur ou de la hauteur).
- L'angle entre deux lignes voisines doit être proche de 90° (+/- 30°).
- Le quadrilatère doit être suffisamment grand (de périmètre > (W + H)/4).
- Le quadrilatère choisi est celui qui a le meilleur rapport entre le périmètre et
la nombre de points de l'image binaire im_bin sous les bords du quadrilatère
d'une épaisseur de 3 pixels.
Entrées
- im_lines: une image binaire contenant les lignes droites (généralement issues de phouglines).
- im_bin: une image binaire contenant les contours (généralement issues d'une binarization d'une image de gradient).
Résultat
FAILURE s'il n'existe aucun quadrilatère possible.
Exemples
Détection des bords du tableau blanc :
pshen 1.3 whiteboard.pan a.pan
pbinarization 2 255 a.pan bin.pan
phoughlines 10 0 360 a.pan lines.pan
pgetquadrangle lines.pan a.pan result.pan
Voir aussi
Reconstruction
Prototype C++
Errc PGetQuadrangle( const Img2duc &im1_in, const Img2duc &im2_in, Img2duc &im_out );
Reference
Z. Zhang, and L. He, "Whiteboard Scanning and Image Enhancement", Digital Signal Processing, Vol.17, No.2, pages 414-432, 2007.
Auteur: Régis Clouard