A Algebra Lineart
Por: Salezio.Francisco • 15/10/2018 • 844 Palavras (4 Páginas) • 437 Visualizações
...
while (1) {
cap >> image; //copy webcam stream to image
line(image, pt1, pt2, Scalar(255, 0, 0));
line(image, pt3, pt4, Scalar(0, 255, 0));
line(image, pt5, pt6, Scalar(0, 0, 255));
//line(image, pt7, pt8, Scalar(255, 0, 255));
imshow("window", image); //print image to screen
if (waitKey(30) >= 0) break;
}
imwrite("e:/ache.jpg", image);
return 0;
}
Em 3 eixos
Foi desenhado em um papel um plano de duas dimensões x e z sendo a terceira dimensão a altura y,formando assim um espaço vetorial de 3 dimensões que chamarei aqui de espaço 1
Sobre ele foi colocado uma caixa, de modo que um canto da caixa estava sobre a origem do espaço
O segundo espaço é a imagem de uma webcam que possui duas dimensões x e y e é medido em pixels, chamaremos ele de espaço 2
Com a camera foi tirada uma foto, da caixa
Procura-se a correspondência do espaço 1 com o espaço 2
Foi tomado como referência 3 pontos, que são os 3 cantos superiores visiveis da caixa
No espaço 1 o primeiro ponto corresponde a (0, 26.5, 8) pois a altura da caixa é de 26,5 cm então o y sera o mesmo para qualquer um desses três pontos. O segundo e o terceiro ponto correspondem respectivamente a (0, 26.5, 0) (7, 26.5, 0)
Já no espaço 2 esses pontos correspndem a (290, 65), (330, 50) e (450, 50)
Como vimos
T*(x, y) = (x', y')
Para isso ser verdadeiro T teria de ser to tipo [pic 13]
Como estamos trabalhado com um espaço de três dimensões teriamos
T*(x, y, z) = (x', y')
Logo:
T = [pic 14]
Então:
* (x, y, z) = (x', y')[pic 15]
Para (0, 26.5, 8) e (260, 65) temos:
* (0, 26.5, 8) = (260, 65)[pic 16]
26,5*d + 8*c = 290
26.5*e + 8*f = 65
Para (0, 26.5, 0) e (330, 50) temos:
26,5*b = 330
26,5e = 50
Para (7, 26.5, 0) e (450, 50) temos:
7*a + 26,5*b = 450
7*d + 26,5e = 50
Resolvendo as equações chegamos a
a = [pic 17]
b = [pic 18]
c = -5
d = 0
e = [pic 19]
f = [pic 20]
Temos:
T = [pic 21]
A caixa foi deslocada, agora o primeiro canto da imagem corresponde a (300, 70) no espaço 2, quantos centimetros a caixa foi movida no espaço 1?
A resposta é dada por:
T*(x, y, z) = (300, 70)
Como é um objeto solido a altura da caixa é invariavel logo y mantém igual a 26,5
* (x, 26.5, z) = (300, 70)[pic 22]
Temos duas equações a 1ª:
++ (-5)*z = 300[pic 23][pic 24]
+ 330 – 300 + (-5)*z = 0[pic 25]
+ 30 + (-5)*z = 0[pic 26]
a 2ª:
+ = 70[pic 27][pic 28]
50 – 70 + = 0[pic 29]
-20 + = 0[pic 30]
= 20[pic 31]
x = 1.361111111111111...
z = 10.6666666666666...
...