Fotogrametria Terrestre Código: GA 143 - UFPR

Um painel

geral

O exercício consiste em fotografar o mural da térreo do prédio da administração do Centro Politécnico e produzir um mosaico. Pesquise qual a escala de trabalho para este caso. Verifique a resolução espacial necessária.

Obtenha informações a respeito de sua câmera digital.

  1. qual o tamanho do pixel?
  2. Qual a distância focal nominal?
geral

por se tratar de um mural muito longo, devem ser tomadas várias imagens com superposição. quantas?

Tome cuidado com deixar superposição entre imagens.

geral

Escolha criteriosamente pontos de apoio e verificação. Quantos? onde devem estar localizados?

geral

Elabore um esquema da obra, com a localização e nome dos pontos selecionados. Cuidado, porque depois deverá poder encontrar os pontos nas imagens no laboratório.

geral

Obtenha as coordenadas dos pontos selecionados. Para isto use um equipamento que saiba usar e tenha a devida acurácia.

Disponibilize as imagens

Se não tem fotos, pode usar estas... fotos de teste

Para disponibilizar suas imagens, carregue as mesmas no Google Drive. Crie uma pasta "fotos" para armazenar suas imagens.

Agora, entre no COLAB e crie um novo Notebook. Vamos ver se conseguimos listar suas imagens com um programa simples...

  • # listar um diretorio "fotos" contendo varias imagens
  • # iniciar com as devidas importacoes import numpy as np
    import cv2
    from glob import glob
    import matplotlib.pyplot as plt

    Montar o google DRIVE como sua pasta de trabalho from google.colab import drive
    drive.mount('/content/drive')

    ler imagens do DRIVE, neste caso estamos com as imagens coloridas na pasta FOTOS do drive Verificar se tem as fotos listando todo o diretorio listar aqueles arquivos com o final JPEG, CUIDADO, pode ser jpg. !ls "/content/drive/My Drive/fotos"
    img_mask = "/content/drive/My Drive/fotos/*.JPEG" # seleciona a mascara especificando arquivos *.JPEG
    img_names = glob(img_mask) # le os nomes
    num_images = len(img_names) # conta quantasa imagens tem com esse final
    print( "achamos:", num_images, "Imagens em", img_mask)
    for i,fn in enumerate(img_names):
    . . . print("imagem: %d) %s " %(i,fn) )
    h, w = cv2.imread(img_names[0]).shape[:2]
    print("tamanho das fotos",h,w)

    calibrar sua camera

    Vamos criar um programa em Python para calibrar a câmera utilizada com o método de Zhang (https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr98-71.pdf). Este algoritmo está disponível na biblioteca openCV, também em Colab, como cv2. https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html

    se suas imagens estão disponíveis, use o programa compartilhado pelo professor para realizar a seguinte etapa do exercício...

    referenciar as imagens

    OK. agora use seu programa de correção geométrica, com o modelo da transformação projetiva, para referenciar as imagens com e sem correção geométrica.


    Copyright © 2023
    Jorge Centeno: centeno@ufpr.br