Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Procesamiento de Imágenes: Conservación de Energía en Movimiento Parabólico de una Bola, Ejercicios de Procesamiento de Imágenes Digitales

En este informe, se presenta el procesamiento de un video por medio de sus frames, para demostrar la conservación de energía en el movimiento parabólico de una bola. El objetivo principal es detectar la posición de la bola en cada frame y almacenar sus coordenadas para calcular la energía cinética y potencial en cada instante, verificando así la conservación de la energía total.

Tipo: Ejercicios

2020/2021

Subido el 15/04/2022

luis-miguel-montes-zuluaga
luis-miguel-montes-zuluaga 🇨🇴

2 documentos

1 / 8

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
FACU LTAD DE INGENIERÍA, PROG RAMA DE INGENIERÍA EL ECT RÓN ICA
Trabajo Final: Procesamiento Digital de Imágenes
Juan Diego Cardona - Luis Miguel Montes
15 de abril de 2022
1
pf3
pf4
pf5
pf8

Vista previa parcial del texto

¡Descarga Procesamiento de Imágenes: Conservación de Energía en Movimiento Parabólico de una Bola y más Ejercicios en PDF de Procesamiento de Imágenes Digitales solo en Docsity!

FACULTAD DE INGENIERÍA, PROGRAMA DE INGENIERÍA ELECTRÓNICA

Trabajo Final: Procesamiento Digital de Imágenes

Juan Diego Cardona - Luis Miguel Montes

15 de abril de 2022

  1. DEMOSTRACIÓN DE LA CONSERVACIÓN DE LA ENERGÍA POR MEDIO DEL

PROCESAMIENTO DE UN VIDEO QUE MUESTRA EL MOVIMIENTO PARABÓLICO

DE UNA BOLA

1.1. PROCEDIMIENTO

En este informe, se presenta el procesamiento de un video por medio de sus frames, para demostrar la

conservación de energía en el movimiento parabólico de una bola. El video a procesar se puede descar-

gar del siguiente enlace: https://github.com/luismiguel010/final_lab_pdi/tree/master/video.

El video consta de un segundo en donde se grabó a 30 fps, pero los frames que se procesaron fueron del

10 al 29, que son los frames en donde la bola tiene el movimiento parabólico.

El objetivo principal es detectar la posición de la bola en cada frame y almacenar en un vector sus coor-

denadas para de esta forma calcular el resto de las variables que hacen falta para demostrar la conserva-

ción de la energía.

El código para esto se presenta a continuación:

1 video = VideoReader ( ’ ./ video / BallTossOut. mp4 ’) ; 2 startReadFrames = 10; 3 finishReadFrames = 29; 4 positionX = []; 5 positionY = []; 6 time = []; 7 velocity = []; 8 velocitySquad = []; 9 energyK = []; 10 energyP = []; 11 energy = []; 12 j = 0; 13 velocityInitX = 0; 14 velocityInitY = 0; 15 originX = 108.7795; 16 originY = 240.0608; 17 originTime = 0.466; 18 metro = 428; 19 gravity = 9.8; 20 mass = 1; 21 22 for i = startReadFrames : finishReadFrames 23 frameEspecific = read ( video , i ) ; 24 framGray = rgb2gray ( frameEspecific ) ; 25 Rmin = 1; Rmax = 4; 26 [ centersBright , radiiBright ] = imfindcircles ( framGray ,[ Rmin Rmax ] , ’ ObjectPolarity ’ , ’ bright ’) ; 27 valueMax450 = find ( centersBright >450) ; 28 [m , n ] = size ( centersBright ) ; 29 j = j + 1; 30 time ( j ) = video. CurrentTime - originTime ; 31 if ( m ~=0) 32 if ( valueMax450 ==3) 33 positionX ( j ) =( centersBright (2 ,1) - originX ) / metro ; 34 positionY ( j ) =( originY - centersBright (2 ,2) ) / metro ; 35 else 36 positionX ( j ) =( centersBright (1 ,1) - originX ) / metro ;

positionX[]: vector para almacenar las posiciones en el eje horizontal de la bola.

positionY[]: vector para almacenar las posiciones en el eje vertical de la bola.

time[]: vector para almacenar el tiempo en segundos de cada frame.

velocitySquad[]: vector para almacenar la velocidad al cuadrado de la bola en cada frame.

energyK[]: vector para almacenar la energía cinética de la bola en cada frame.

energyP[]: vector para almacenar la energía potencial de la bola en cada frame.

energy[]: vector para almacenar la energía total.

En cuanto a las constantes se encuentran:

velocityInitX: Para almacenar la velocidad inicial de la bola en el eje horizontal, ya que esta es una

variable de la ecuación que nos dará la velocidad total de la bola en cualquier punto.

velocityInitY: Para almacenar la velocidad inicial de la bola en el eje vertical.

originX, originY: son las coordenadas del origen de coordenadas del video, en este caso la posición

inicial de la bola.

originTime: Desfase de tiempo.

metro: constante que almacena a cuantos pixeles de el video equivale un metro, esta constante es

de vital importancia para pasar las coordenadas a unidades de metro.

gravity: constante gravitación.

mass: masa de la bola que en este caso es de 1 kilogramo.

La función para detectar la posición de la bola en cada frame es imfindcircles , esta función tiene como

entrada el radio mínimo y máximo de la bola que se quiere detectar y retorna las coordenadas en donde

detecto la bola y el radio de la bola detectada. Estas posiciones se almacenan en los vectores positionX y

positionY en metros.

Para el cálculo de la velocidad al cuadrado de la bola en cada frame se toma en cuenta la siguiente ecua-

ción:

v^2 = v 02 x + v 02 y − 2 g y (1.1)

Siendo v 0 x la velocidad inicial en el eje horizontal, v 0 y velocidad inicial en el eje horizontal, g la gravedad

y y la altura respecto a nuestro eje de coordenadas declarado inicialmente.

Ya con un vector de posición en el eje horizontal y en el eje vertical, un vector de tiempo y un vector

de velocidad al cuadrado es posible calcular las energías del movimiento, que son la energía cinética y

la energía potencial en cada frame con las siguiente ecuaciones, siendo EK la energía cinética y EP la

energía potencial.

EK =

mv^2 (1.2)

EP = mg y (1.3)

La energía total E , es la suma de las dos energía, en donde debería ser una constante por la ley de con-

servación de energías.

E = EK + EP (1.4)

  1. RESULTADOS

A continuación se presentan unas gráficas que describen las diferentes variables que se presentan en el

movimiento parabólico de la bola.

En la gráfica 2.1 se puede ver el movimiento constante que tiene la bola en el eje horizontal.

0 0.1 0.2 0.3 0.4 0.5 0.6 0. Time (s)

-0.

0

1

Position X (m)

Figura 2.1: Posición horizontal respecto al tiempo

En la figura 2.2 el movimiento describe una parábola por ser en el eje vertical.

0 0.1 0.2 0.3 0.4 0.5 0.6 0. Time (s)

0

1

2

3

4

5

6

7

Energy (J)

Total Energy Energy Kinetic Power Energy

Figura 2.4: Energías respecto al tiempo

  1. NOTAS

El repositorio del proyecto, con el código y el video, se puede encontrar aquí.