Fórmula para converter eixo X e Y.

Delphi

25/07/2011

Bom dia, 

Estou desenvolvendo um sistema controlador de mouse com 2 webcam.
Já consigo capturar o X e Y das webcam e passar estas cordenadas ao mouse,
porém preciso calibrar as extremidades e deixar mais preciso seu movimento.
Exemplo ( no canto direito inferior da tela (Camera 1 = X 45, Y 26,Camera 2 = X 20, Y 03) ao
chegar neste valor de xy o mouse saberá qual é a sua localização do ponto extremo.
Para resolver isso preciso de uma fórmula matemática que converta os valores de X e Y das 2 webcam.


Exemplo para visualização.


Lucas Prestes

Lucas Prestes

Curtidas 0

Respostas

Ricardo Resende

Ricardo Resende

25/07/2011

Caro amigo, muito legal esse projeto seu gostaria depois de saber o a finalidade dele. Para seria interessante vc postar outro ponto da tela informando o XY delas, para comparar com o ja passado e tentar chegar a formular desejada.
GOSTEI 0
Lucas Prestes

Lucas Prestes

25/07/2011

Caro amigo, muito legal esse projeto seu ,gostaria depois de saber a finalidade dele. Para seria interessante vc postar outro ponto da tela informando o XY delas, para comparar com o ja passado e tentar chegar a formular desejada.






Resolução da tela = 1440 x 900.

Valores reias:

Bola Branda Camera 1: X = 4
Bola Branda Camera 1: Y = 3
Bola Branda Camera 2: X = 7
Bola Branda Camera 2: Y = 0 

Bola Amarela Camera 1: X = 8
Bola Amarela Camera 1: Y = 1
Bola Amarela Camera 2: X = 5
Bola Amarela Camera 2: Y = 4 

Bola Verde Camera 1: X = 1
Bola Verde Camera 1: Y = 4
Bola Verde Camera 2: X = 2
Bola Verde Camera 2: Y = 4


Bola Rosa Camera 1: X = 1
Bola Rosa Camera 1: Y = 1
Bola Rosa Camera 2: X = 8
Bola Rosa Camera 2: Y = 1


A idéia é a seguinte: Dizer para o mouse que estes pontos são os pontos extemos, se o dedo da pessoa estiver fora da dimensão da tela o mouse não irá reconhecer como um valor de x y a ser passado para ele se mover.


Este sistema será semelhante ao Touchscreen que será usado em telas gigantes - VideoWall.
GOSTEI 0
Ricardo Resende

Ricardo Resende

25/07/2011

Teria como você posicionar as câmeras simetricamente, levando em consideração um ponto imaginário no meio do monitor. fazendo isso, provavelmente vai ter uma formula muito mais fácil. Como estou no meu trabalho, não vai ter como fazer um desenho, quando chegar em casa faço um desenho para esclarecer.
GOSTEI 0
Lucas Prestes

Lucas Prestes

25/07/2011

Teria como você posicionar as câmeras simetricamente, levando em consideração um ponto imaginário no meio do monitor. fazendo isso, provavelmente vai ter uma formula muito mais fácil. Como estou no meu trabalho, não vai ter como fazer um desenho, quando chegar em casa faço um desenho para esclarecer.



OK, Toda idéa é muito bem vinda ! Fico no aguardo de seu desenho para poder entender melhor sua idéia.
GOSTEI 0
Ricardo Resende

Ricardo Resende

25/07/2011



Fiz o desenho, repare que as distancias C=D , R=E e W=Q. Sendo assim o ponto central do monitor que foi usado para posicionar as câmeras 1 e 2 vai ter o mesmo X e Y.
Se você conseguir posicionar as câmeras dessa forma o problema está resolvido. Se no ponto central X e Y são iguais quando por exemplo você mexer o ponto um pouquinho para a direita (X +1), a câmera 1 vai receber X+1 e a câmera 2 vai receber X-1, já o Y deve ser sempre o mesmo para as duas câmeras.
Qualquer duvida sobre a ideia posta ai.
Espero ter ajudado.
GOSTEI 0
Lucas Prestes

Lucas Prestes

25/07/2011



Fiz o desenho, repare que as distancias C=D , R=E e W=Q. Sendo assim o ponto central do monitor que foi usado para posicionar as câmeras 1 e 2 vai ter o mesmo X e Y.
Se você conseguir posicionar as câmeras dessa forma o problema está resolvido. Se no ponto central X e Y são iguais quando por exemplo você mexer o ponto um pouquinho para a direita (X +1), a câmera 1 vai receber X+1 e a câmera 2 vai receber X-1, já o Y deve ser sempre o mesmo para as duas câmeras.
Qualquer duvida sobre a ideia posta ai.
Espero ter ajudado.




Qual é a direção que a cam está visualizando, para baixo, ou para a diagonal da tela?


GOSTEI 0
Lucas Prestes

Lucas Prestes

25/07/2011

Colega, a sua idéia é legal, mas no meu caso tenho que fazer a cam capturar os quatro pontos da tela, o que ela ja faz, e calcular para pegar apenas os 2 resultados X Y.

Meu chefe me deu uma dica, mas não sei se é a correta a fazer, é uma formula:

X1 = aC1 + bC2

y1= nC2 - zC1

Esta questão gera em torno de Geometria bi-dimensional.
GOSTEI 0
Ricardo Resende

Ricardo Resende

25/07/2011

Opa, desculpa a demora, tava meio sem tempo. A princípio a ideia era as câmeras ficarem viradas para baixo mesmo, porém dessa forma existira alguns pontos cegos. Pensando  nesse problema pode-se girar 45° da posição sugerida inicialmente, mudando assim a formula. Por exemplo, utilizando a câmera 1, movimentando o ponto do centro da tela para direita (x + 3 por exemplo), na câmera 1 esse movimento resultaria em x +2 y +1. Acho que daria certo, a ideia do seu chefe também parece ser boa. Da uma pesquisada na Geometria bi-dimensional.  
GOSTEI 0
Lucas Prestes

Lucas Prestes

25/07/2011

Se alguem souber como posso fazer para o mouse reconhecer o dedo em relação a tela.
GOSTEI 0
Lucas Prestes

Lucas Prestes

25/07/2011

Se alguem souber como posso fazer para o mouse sincronizar o dedo em relação a tela. A principio

 
GOSTEI 0
POSTAR