Pergunta

Eu levei 2 imagens com um ponto de cruz e agora estou tentando comparar estas 2 imagens e descobrir o que é a distância eo ângulo movido. Como posso usar o MATLAB para fazer isso? Muito obrigado!

Pic3 Pic2

Foi útil?

Solução

Alinhar duas imagens da mesma cena é chamado registro da imagem. Se você tiver acesso ao Imagem Processing Toolbox , você pode encontrar lá um número de funções para ajuda você .

Dê uma olhada nestes demos de registro de imagem .

Outras dicas

Se essas linhas pretas são sempre nas imagens, e eles estão perto perfeitamente reto (sem ser distorcida em curvas), um método melhor seria usar o Hough transformar ou Radon transformar (tipo de maneiras diferentes de pensar em fazer a mesma coisa) para encontrar apenas as duas linhas pretas, e então comparar suas posições.

Você iria inverter as imagens primeiro, então as linhas são brancos (grandes valores) brilhantes, e então não transformar o Hough. A saída para cada imagem será de dois pontos brancos brilhantes, a partir do qual você pode fazer detecção de pico. A coordenada de cada pico diz-lhe o ângulo e deslocamento da linha.

Eu não tenho feito isso no MATLAB, mas eu vejo uma série de exemplos e documentação:

Cross-correlação (Wikipedia chama- Fase correlação ) não vai funcionar se as imagens são rodados. No entanto, há um método relacionado com base em coordenadas log-polar que irá funcionar independentemente da rotação, escala, cisalhamento e tradução.

Este método seria melhor se você tem que combinar todas as imagens arbitrárias. Condizer formas conhecidas ou linhas escuras é melhor realizado com outros métodos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top