# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Calibration d'une camra :quid de la distance ?

## horu

Bonjour,

Je me pose une question concernant la calibration d'une camra pour faire du redressement d'image.
J'utilise un programme qui me permet , grce  une grille de calibration, d'obtenir la matrice de calibration de la camra  appliquer ensuite aux images  redresser.

Mais un truc me chiffonne  ::koi::  :nul part je ne semble tenir compte de la distance entre la camra et la grille de calibration ou entre la camra et l'objet dont je redresse l'image. 
Est-ce normal ou y-a-t-il une erreur quelque part? Et si oui, comment dois-je faire intervenir ces donnes?

En gros ma question revient  : avec une matrice de calibration, je peux redresser l'image de n'importe quel objet o qu'il se trouve par rapport  ma camra ?

Merci d'avance pour votre aide.  :;):

----------


## speedy_g

Bonjour, 

non, tu n as pas besoin d avoir cette information de distance si tu veux enlever la distorsion de l'image.
L appareil photo projete toute tes informations sur le plan image qui est le plan situe a la distance focale du point modelisant la camera (  modele le plus simple pr une camera ), la distorsion est enlevee sur ce plan. 

Si tu fais deux photos du meme objet avec ton appareil photo situe a differentes distances, les plans images des deux photos seront differents et ainsi un point fix de ton objet ds les deux images aura un coefficient de distorsion different...Donc tu tiendras implicitement compte de la distance.

----------


## horu

Merci pour la rponse. 

Cependant quelque chose m'ennuie toujours. J'ai t un peu trop avare en information dans mon premier post  ::mrgreen::  et je dbute dans le domaine.

Lorsqu'on ma donn le logiciel de calibration, on m'a dis que pour calibrer la camra il fallait faire plusieurs prise vues avec la grille de calibration  des distances et avec des orientations diffrentes afin d'obtenir une matrice de calibration correcte. Est-ce exact?

J'obtiens ainsi la matrice intrinsque (qui est toujours valable car lie  l'objectif) et la matrice extrinsque : qui me pose plus de problme.
Est-ce qu'une correction d'un objet es toujours valable avec ces 2 matrices quelque soit la distance et position de l'objet par rapport  l'objectif (dont on ne change pas l'ouvertiure, ...)

Merci

----------


## yan

> Merci pour la rponse. 
> 
> Cependant quelque chose m'ennuie toujours. J'ai t un peu trop avare en information dans mon premier post  et je dbute dans le domaine.
> 
> Lorsqu'on ma donn le logiciel de calibration, on m'a dis que pour calibrer la camra il fallait faire plusieurs prise vues avec la grille de calibration  des distances et avec des orientations diffrentes afin d'obtenir une matrice de calibration correcte. Est-ce exact?
> 
> J'obtiens ainsi la matrice intrinsque (qui est toujours valable car lie  l'objectif) et la matrice extrinsque : qui me pose plus de problme.
> Est-ce qu'une correction d'un objet es toujours valable avec ces 2 matrices quelque soit la distance et position de l'objet par rapport  l'objectif (dont on ne change pas l'ouvertiure, ...)
> 
> Merci


Bonjour,
la matrice intrinsque est valide pour un tat prcis de t'as camera. 
I.e. pour un zoom prcis et donc pour une position des lentilles prcise.
Si les lentilles bougent un peut cela devrai aller. Mais si elle bouge trop, le matrice sera diffrente.

Tu utilise quoi comme logiciel? et tu applique quel formule pour compenser la distortion?
Pour un projet, j'ai utilis celle de OpenCV et j'ai rcupr les valeurs par ce logiciel
http://research.graphicon.ru/calibra...toolbox-6.html

----------


## horu

Bonjour,

Le programme tait un projet ralis par des tudiants  partir d'OpenCV. Ce sont les fonctions d'OpenCV qui sont utilise pour raliser la calibration.

----------


## speedy_g

Comme reponse je vais te donner d excellents liens : 


```

```


La matrice extrinseque ne fait que te donner des informations sur la relation qu il y a entre le referentiel attache a ton plan objet et le referentiel attach a la camera.

En particulier tu peux ainsi connaitre avec precision la position de ta camera par rapport a ton plan objet, ou inversement. Mais pr ce faire tu dois preciser une notion de distance dans le plan objet( par l intermediaire de l echiquier), il peut ainsi prendre ( connaissant les parametres intrinseques de la camera) en compte la notion de distance entre la camera et le le plan objet. 

Voila, j espere t avoir eclaire sur le probleme.

 ::D:

----------


## PadawanDuDelphi

Salut,

  En fait il existe deux faons principales,  ma connaissance, de calibrer une camra :

* La premire consiste  dfinir uniquement les paramtres de la matrice du systme projective (ce doit tre ton cas  priori) sans s'occupper des paramtres intrasques et extrasques de ta camra.

* La seconde consiste  calculer ces paramtres, c'est--dire :
- la focale de ta camra.
- les facteurs d'echelle sur les axes (c'est--dire la taille des pixels).
- les paramtres de la matrice de rotation pour passer de ton repre objet  ton repre camra (ou les trois angles de rotation).
- les trois grandeurs de translation pour aller de ton centre de repre camra  celui de ton objet.

Mais dans les deux cas la distance objet-camra est prise en compte, puisque les deux mthodes donnent des rsultats identiques.
Personnellement, j'aime bien avoir des rsultats physiques, donc j'utilise la seconde mthode (et plus particulirement la mthode de Tsai, facile  implmenter).

A+.

----------


## lesafir

j'ai compri que pour faire du calibrage, il faut absolument connaitre avec une tres grande prcision la position des points de l'image dans le repere de l'objet, alors ma question, comment je peux avoir des coordonnes prcises de l'objet que je vais prendre en photo avec ma camra !
merci

----------


## PadawanDuDelphi

C'est toi qui fixe le repre de l'objet...Alors choisit le bien et le touor est jou.
Et puis normalement ta mire possde les informations ncessaires (distances entre les points remarquables, angles...).

A+.

----------


## vaio59

Bonjour,

Je cherche une documentation sur la methode de TSAI pour mon projet, pouriez vous me donnez un liens ou un fichier pour bien comprendre la methode?

Cordialement,
VAIO

----------


## yan

> Bonjour,
> 
> Je cherche une documentation sur la methode de TSAI pour mon projet, pouriez vous me donnez un liens ou un fichier pour bien comprendre la methode?
> 
> Cordialement,
> VAIO


 ::google2:: 
http://www.google.fr/url?sa=t&ct=res...5HUgzuoJPmn5Ug

----------


## speedy_g

hello vaio59, 

J ai le document : 

A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses
Tsai, R.
http://ieeexplore.ieee.org/Xplore/de...109.pdf?code=4
Si ca peut t interesser. Je ne sais pas si c est tres legal de le mettre a disposition sur le forum donc peut-etre faudrait il demander a un admin d abord

Cordialement

----------


## pseudocode

> Je ne sais pas si c est tres legal de le mettre a disposition sur le forum donc peut-etre faudrait il demander a un admin d abord


Non, effectivement ce n'est pas trs lgal:




> Personal use of this material is permitted. However, *permission to reprint/republish this material for* advertising or promotional purposes or for creating new collective works for resale or *redistribution to servers or lists*, or to reuse any copyrighted component of this work in other works *must be obtained from the IEEE*


source:http://www.ieee.org/web/publications.../policies.html

----------


## vaio59

Merci, j'ai trouv mon bonheur.

Cordialement,
VAIO59

----------


## lesafir

bonjour, 
j'arrive  calculer les paramtres extrinsques de la camra : matrice de rotation et de translation, par contre je voudrai comprendre exactement la dfinition des valeurs de la matrice :

Taille image : 640*480 =>

rotation matrice : 
-0.26    -0.18    -2.71
-0.38    -0.91     0.16
0.21      0.09      0.97

translation matrice :
-92.23
178.58
877.26


??

----------


## lesafir

bon apprement personne n'a une idee

----------


## yan

> bon apprement personne n'a une idee


euh si dsl
alors :
translation matrice :
-92.23 => x
178.58 => y
877.26 =>z

et 

rotation matrice :
-0.26 -0.18 -2.71
-0.38 -0.91 0.16
0.21 0.09 0.97
regarde
http://cs.gmu.edu/~vislab/opencvdocs...l_cvRodrigues2

----------


## lesafir

les paramtres de la matrice de translation sont exprims en quelle unit?

----------


## yan

> les paramtres de la matrice de translation sont exprims en quelle unit?


C'est pas dans la doc?
il me semble que a dpend de toi en faite. En particulier de ce que tu as utilis pour calculer ces matrices

----------

