OpenCV: Como implemento a “Correção de distorção”?

Quero tirar uma imagem que esteja olhando para um retângulo de baixo (criando um trapézio) e alterá-lo para o retângulo original. Por exemplo, imagine que você estava no chão tirando uma foto de um arranha-céu. Eu quero usar esses dados para encontrar a aparência do lado do arranha-céu. Como eu posso fazer isso?

A Correção Keystone normalmente se refere a um projetor offset, mas não é exatamente isso que está acontecendo. Minha imagem de origem já está bagunçada da mesma maneira que um projetor de offset faria. Eu preciso entender direito.

Obrigado por qualquer ajuda. Se importa, estou usando a versão Java do OpenCV, mas estou feliz com as respostas; Tenho certeza de que é fácil transformá-lo em java a partir de qualquer outro idioma.

Editar: quero fazer o que é mostrado para Notre Dame nesta página: https://en.wikipedia.org/wiki/Perspective_control

Resposta 1

Eu tenho uma pergunta com a qual estou lutando. O problema é que eu nem sei exatamente o que devo procurar no google, por isso estou pedindo uma breve explicação aqui no SO. Vamos ...

Eu tropecei recentemente em um problema de subarray de soma máxima modificado, aqui sabemos a soma (digamos que seja S = 2), mas precisamos encontrar uma fatia mais longa da matriz que produza essa soma exata (as médias mais longas devem ...

Eu tenho um aplicativo da web com a seguinte estrutura: src + main + - + java + recursos + webapp + - + WEB-INF + static O diretório estático é o servidor por org.apache.catalina.servlets ....

Eu tenho uma classe, Estudante com este construtor. public Student (nome da string, int idade, notas de Map <String, Inteiro>) {this.setName (name); this.setAge (idade); this.setGrades (notas); } ...