Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Obtener Párametros Intrínsecos de Una Cámara
Obtener Párametros Intrínsecos de Una Cámara
ANÁLISIS DE IMÁGENES
PRÁCTICA # 1
OBTENER LOS PÁRAMETROS INTRÍNSECOS DE UNA CÁMARA
Distancia
establecida
La cámara
está fija
Se toman varias imágenes del patrón para hacer la calibración, y después (sin
mover la cámara) se coloca el objeto u objetos que se utilizarán para medir. Las
imágenes que se utilizaron se pueden observar abajo (ver imágenes).
El segundo paso es utilizar el detector de Harris para obtener las esquinas del
patrón, de esta forma vamos a obtener seis puntos, tres en la dirección de las X, y
tres en dirección de las Y. Los puntos obtenidos son los siguientes:
u1=143; v1=367;
u2=158; v2=368;
u3=174; v3=368;
u4=144; v4=382;
u5=144; v5=401;
u6=144; v6=415;
Ahora establecemos la medida del patrón, en el cual cada cuadro tiene una
dimensión de 2 mm y vamos a considerar que Z=0;
x1=0; y1=0; %MEDIDA DEL PATRÓN EN X, Y, Z
x2=0; y2=2;
x3=0; y3=4;
x4=2; y4=0;
x5=4; y5=0;
x6=6; y6=0;
z=0;
b= [u1; v1; u2; v2; u3; v3; u4; v4; u5; v5; u6; v6]; % VECTOR b
sabemos que:
𝐀𝐦 = 𝐛
m=pinv(A)*b
%m=inv(A'*A)*A'*b
El resultado es el siguiente:
m =
0.5246
4.1406
0.0000
143.3000
9.1970
-7.1373
0.0000
366.8744
0.0026
-0.0203
0
m11 = 0.5246
m12 = 4.1406
m13 = 1.3480e-12
m14 = 143.3000
m21 = 9.1970
m22 = -7.1373
m23 = 4.1448e-14
m24 = 366.8744
m31 = 0.0026
m32 = -0.0203
m33 = 0
Ahora vamos a crear el programa para medir el objeto, primero vamos a obtener
puntos para posteriormente tomar distancias, entonces pasamos de pixeles a mm
usando una lógica como se muestra en la figura:
El primer paso es nuevamente usar el detector de Harris para obtener los puntos de
interés del objeto que necesitamos medir, vamos a obtener nuevamente
coordenadas en pixeles que después transformaremos en milímetros, el programa
nos detecta las siguientes esquinas (ver imagen):
Los puntos de interés son los siguientes:
%x columna, y fila
%Puntos de interés del objeto
u1=358; v1=180;
u2=400; v2=218;
u3=360; v3=201;
u4=420; v4=179;
u5=429; v5=202;
u6=439; v6=219;
u1, v1 9 mm u4, v4
Usando la matriz m calculada anteriormente, vamos a escribirla de la siguiente
forma:
m = [m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 1];
Resolviendo el sistema de ecuaciones anterior, obtenemos lo siguiente para los puntos u1,v1 y
u4,v4:
g1=((m(1,7)*z+m(1,8)-(m(1,11)*z+1)*v1)*(m(1,1)-m(1,9)*u1))/((m(1,9)*v1-
m(1,5))*(m(1,10)*u1-m(1,2)));
f1=(m(1,3)*z+m(1,4)-(m(1,11)*z+1)*u1)/(m(1,10)*u1-m(1,2));
b1=((m(1,6)-m(1,10))*(m(1,1)-m(1,9)*u1))/((m(1,9)*v1-
m(1,5))*((m(1,10)*u1-m(1,2))));
y1=(g1+f1)/(1-b1)
x1=(y1*(m(1,6)-m(1,10))+m(1,7)*z+m(1,8)-(m(1,11)*z+1)*v1)/(m(1,9)*v1-
m(1,5))
g4=((m(1,7)*z+m(1,8)-(m(1,11)*z+1)*v4)*(m(1,1)-m(1,9)*u4))/((m(1,9)*v4-
m(1,5))*(m(1,10)*u4-m(1,2)));
f4=(m(1,3)*z+m(1,4)-(m(1,11)*z+1)*u4)/(m(1,10)*u4-m(1,2));
b4=((m(1,6)-m(1,10))*(m(1,1)-m(1,9)*u4))/((m(1,9)*v4-
m(1,5))*((m(1,10)*u4-m(1,2))));
y4=(g4+f4)/(1-b4)
x4=(y4*(m(1,6)-m(1,10))+m(1,7)*z+m(1,8)-(m(1,11)*z+1)*v4)/(m(1,9)*v4-
m(1,5))
𝑑 = √(𝑥1 − 𝑥4 )2 + (𝑦1 − 𝑦4 )2
El resultado es:
d =7.5039
Con lo cual podemos decir que nuestra calibración tiene un error de aproximadamente 1.5mm, ya
que la distancia (como se aprecia en la figura anterior) es de 9 mm.