Coder Social home page Coder Social logo

tsai-python's Introduction

Tsai-Python

Autores: @dbuitrago24 @kevin-ortega2724 @DnelZpt

Calibración de Cámara

Descripción

Este proyecto aborda la calibración de una cámara utilizando el método de Tsai, seguido de la corrección de distorsión radial con OpenCV, y finaliza con el desarrollo de una aplicación de demostración para validar la calibración.

Proceso de Calibración

Calibración con el Método de Tsai

  1. Preparación del Aparato de Tsai: Configuración del patrón de calibración.

  2. Captura de Imágenes: Las imágenes que se muestran a continuación, presentan los ejemplos en la captura de las imágenes antes de la calibración de la cámara.

Imagen1 Imagen2 Imagen3

Imágenes capturadas desde diferentes ángulos.

Proceso de Etiquetado de Imágenes con Patrón de Ajedrez

El proceso de etiquetado de las imágenes que contienen el patrón de ajedrez es un paso crucial para la calibración precisa de la cámara. A continuación se detallan los pasos seguidos:

  1. Selección de Imágenes:

    • Estas imágenes contienen el patrón de ajedrez visible desde diferentes ángulos como se evidencia previamente.
  2. Identificación de Esquinas:

    • Para el procesamiento de imágenes en este proyecto, la necesidad de software avanzado como OpenCV es fundamental para identificar automáticamente las esquinas del patrón de ajedrez en cada imagen.

Se observan algunas imágenes a continuación:

Imagen1 Imagen2 Imagen3

Imagenes etiquetadas

Funciones Principales del Proyecto

  1. load_image(file_path):

    • Carga una imagen en escala de grises desde la ruta de archivo especificada.
    • Utiliza cv2.imread con el flag cv2.IMREAD_GRAYSCALE.
  2. get_corner_points(image):

    • Obtiene los puntos de esquina de una imagen utilizando cv2.goodFeaturesToTrack.
    • Retorna los puntos de esquina como un array de NumPy.
  3. show_corners(image, corners):

    • Visualiza los puntos de esquina en una imagen.
    • Marca cada punto de esquina con cv2.circle y cv2.putText.
  4. corners_report(corners):

    • Imprime un reporte de los puntos de esquina encontrados.
    • Muestra el número de esquinas y sus coordenadas x, y.
  5. Verificación Manual:

    • La verificación manual asegura que todas las esquinas hayan sido identificadas correctamente.
    • Además corrige cualquier error en la detección automática para garantizar la precisión en el proceso de calibración.
  6. Almacenamiento de Coordenadas:

    • Es importante mantener una estructura de datos consistente para facilitar el procesamiento posterior.
  7. Repetición para Todas las Imágenes:

    • Este proceso se repite para todas las imágenes seleccionadas en la carpeta shoots.

Este proceso asegura que se tenga la información necesaria sobre la posición de las esquinas del patrón en cada imagen.

Desarrollo de una Aplicación de Demostración

  1. Visualización de los parámetros Extrínsecos:

Imagen1 Imagen2

  1. Selección de una Aplicación: Verificación de parámetros extrínsecos con una imaen del mundo real.

Imagen1

Este procedimiento facilita la confirmación de la precisión en la calibración realizada. Se emplea una imagen de control que no se incluyó en el conjunto de datos de calibración. De manera análoga al método previamente empleado, es imprescindible la etiqueta de los puntos característicos en la imagen para permitir una comparación efectiva entre las proyecciones calculadas y las posiciones reales de estos puntos. Esto es necesario para validar la precisión de la calibración, ya que permite identificar y cuantificar cualquier desviación o error en la proyección. Al correlacionar los puntos anotados en la imagen de prueba con sus respectivas coordenadas 3D en el espacio, se pueden calcular los errores de reproyección y evaluar la calidad del modelo de calibración. Si los errores son mínimos y dentro de los márgenes aceptables, se confirma que la calibración es precisa y fiable para aplicaciones posteriores. En caso contrario, se requerirá una revisión y ajuste de los parámetros de calibración para mejorar la precisión.

  1. Implementación del proyecto:

    Se muestran imágenes demos.

Imagen1

tsai-python's People

Contributors

dnelzpt avatar kevin-ortega2724 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.