Eu tenho uma câmera calibrada e tenho os parâmetros intrínsecos. Eu também tenho os parâmetros extrínsecos relativos a um ponto (a origem do mundo) em uma superfície plana no mundo real. Este ponto que estabeleci como origem no mundo real coordena [0,0,0] com um normal de [0,0,1].
A partir desses parâmetros extrínsecos, posso determinar a posição e a rotação da câmera nas coordenadas 3d do plano mundial usando isso aqui: http://en.wikipedia.org/wiki/Camera_resectioning
Agora eu tenho um segundo ponto que extraí as coordenadas da imagem para [x, y]. Como obtenho agora a posição 3D deste ponto no sistema de coordenadas do mundo?
Acho que a intuição aqui é que preciso traçar um raio que vai do centro óptico da câmera (para o qual agora tenho a posição 3D conforme descrito acima), através do plano de imagem [x, y] da câmera e depois através do meu plano do mundo real, que defini no topo.
Agora eu posso cruzar um raio 3d de coordenadas mundiais com um avião, como eu sei normal e apontar para esse plano. O que não entendo é como descubro a posição e a direção 3d quando ela sai do plano da imagem através de um pixel. É a transformação através de diferentes sistemas de coordenadas que está me confundindo.