youtube-dl para descargar videos y mplayer para pasar esos vídeos a imágenes

Si deseamos descargar vídeos de Youtube tenemos youtube-dl pero podemos descargar de otras web y en esta entrada vamos a ver como. Además podemos transformar esas entradas en fotogramas, esto es útil a la hora de analizar imágenes, podríamos estudiar la presencia de una marca en un partido de fútbol, identificar las matrículas que pasan delante de determinada cámara u otros casos de uso. Y en uno de esos casos precisamente J.L. Cañadas del blog hermano Muestrear no es Pecado me ha descubierto la librería youtube-dl y la creación de scripts para transformar videos en imágenes que posteriormente podemos analizar. El caso de mplayer es distinto, lo conocía, Cañadas me ha descubierto el ffmpeg que ofrece más posibilidades. ...

11 de enero de 2021 · rvaquerizo

Computer Vision con R. OpenCV de andar por casa

Trabajando con Computer Vision aprecio que estamos muy limitados por las máquinas que usamos, o tiene mucho sentido montar GPUs en casa del tamaño del aire acondicionado y por supuesto no tiene sentido el consumo energético que implica. Aquí estoy yo montando una GPU para el análisis de imágenes. Este tema implica que la Computer Vision no lo podrá usar el común de los data scientist , a los necesarios conocimientos técnicos y matemáticos se añade el disponer de unos recursos tecnológicos que no están al alance de cualquiera. Sin embargo, los conocimientos técnicos y matemáticos los puedes adquirir o puedes aprovecharte de los entornos colaborativos. Pero, podemos iniciarnos en el reconocimiento de imágenes con R y la librería openCV y si salen algunos temas en los que estoy enredando es posible que la reducción de dimensionalidad y la geometría nos ahorre máquinas y energía. ...

27 de noviembre de 2020 · rvaquerizo

R + Python = reticulate

He sido reticente a usar reticulate con R porque no me gusta R markdown y si he trabajado con Python no he necesitado R y viceversa. Ahora tengo en mente algún juego/proyecto de esos que se quedan siempre en el tintero por falta de tiempo o interés pero me están sirviendo para elaborar unos apuntes sobre R markdow y Python que voy a sintetizaros en esta entrada por si a alguien le fuera de utilidad. ...

26 de noviembre de 2020 · rvaquerizo

Leer una tabla en PDF con Excel (a través de R)

Hay situaciones en las que tenemos datos en pdf y los necesitamos exportar a Excel para graficar o cruzar esos datos. En ocasiones es mejor meter esos datos a mano, otras veces disponemos de un software de pago que nos permite realizar esa tarea y también hay páginas web que nos permiten cambiar el formato del pdf. En nuestro caso simplemente necesitamos una tabla que está en formato pdf para disponer de esos datos en Excel, más sencillo, copiar del pdf y pegar en Excel esa tabla. Si está en texto el pdf se puede complicar y si está en modo imagen más. Si empleas windows en tu esta entrada puede ser de utilidad ya que usando de R podrás hacer está tarea de copiar pdf y pegar Excel de un modo más rápido, te cuento paso por paso en video. ...

14 de septiembre de 2020 · rvaquerizo

Tratamiento y procesado de imágenes con R y `magick`

Estoy preparando la batalla entre geometría e inteligencia artificial, batalla que está perdida porque tengo que dar de comer a mis chavales y si tengo que ir a vender un producto queda más comercial contar lo que se supone que hace la inteligencia artificial y no contar lo que hacen vectores, direcciones, puntos en el espacio,… eso lo cuentan en la educación secundaria y no es «disruptivo». Sin embargo, aprovecho para contar historia del abuelo, el único proyecto serio basado en inteligencia artificial en el que he estado involucrado se resolvió gracias a la geometría y a las mejoras que se propusieron en el reconocimiento óptico, las redes convolucionales nos provocaron un problema. Inicialmente es mejor plantear una solución sencilla. ...

1 de septiembre de 2020 · rvaquerizo

Latent semantic analysis y la importancia de las matemáticas

Vivimos “días extraños”, tan extraños que en España se están planteando prescindir de la asignatura de matemáticas en la enseñanza obligatoria. Es evidente que las personas que gobiernan hoy (25/05/2020) España habrían suspendido matemáticas. Sin embargo, es curioso que haya pocos matemáticos ejerciendo cargos políticos, ¿puede ser que los matemáticos no tengan esa vocación por mejorar la vida de los demás? En fin, esta crítica a la ignorancia numérica y al egoísmo matemático me sirve de “extraña introducción” al Latent semantic analysis (LSA) como siempre los aspectos teóricos los podéis encontrar en otros sitios. Y todo este conjunto de frases inconexas hilan con la entrada en el blog de mi amigo J.L. Cañadas en muestrear no es pecado porque, reducción de dimensionalidad, el lenguaje y la importancia de las matemáticas es en realidad el Latent Semantic Analysis. ...

27 de mayo de 2020 · rvaquerizo

Tipos de uniones (join) de tablas con `Python Pandas`

Recopilación de las uniones más habituales con Python Pandas en una sola entrada. No se realiza equivalencias con sql join, la intención es tener de forma resumida los códigos para realizar left join inner join y concatenación de data frames de Pandas. Hay amplia documentación esto es una síntesis. Los data frames empleados para ilustrar el ejemplo son: import pandas as pd import numpy as np ejemplo = { "variable1": [10, 20, 30, 40], "variable2": [100, 200, 300, 400] } anio=["2011", "2012", "2013", "2014"] df1 = pd.DataFrame(ejemplo,index=anio) df1 ejemplo = { "variable1": [50, 60, 70, 80], "variable3": [5000, 6000, 7000, 8000] } anio=["2013", "2014", "2015", "2016"] df2 = pd.DataFrame(ejemplo,index=anio) df2 Uniones de data frames con índices La estructura de una join con Pandas es: ...

16 de mayo de 2020 · rvaquerizo

Mover parte de un shapefile con R. Mapa con tasa de casos de coronavirus por habitante en España

Si leéis habitualmente el blog ya conocéis la entrada sobre el mapa del COVID por Comunidades Autónomas y estaréis de acuerdo conmigo en que el mapa de España representado con Rstats es feo de solemnidad. Pero el código es «sencillo» por ahí se ve cada representación que requiere ser desarrollador de R cinturón negro. Bueno, los torpes empleamos ggplot con geom_polygon pero podemos empezar a complicar el mapa añadiendo nuevas posibilidades. La que os traigo hoy es muy interesante en el caso de España, se trata de mover las Islas Canarias en el mapa de Comunidades Autónomas pero directamente con R. Ya tenemos hecho un mapa con QGIS en otra entrada, pero ahora vamos a mover esa parte del shapefile directamente con R y la función elide como hemos hecho en otra ocasión. Estaréis pensando «Vaquerizo no tiene imaginación por eso tira de entradas anteriores y las junta», no es el caso. ...

23 de abril de 2020 · rvaquerizo

Mi breve seguimiento del `coronavirus` con R

Ya comentaré con más detenimiento el código, pero es la unión de muchos de los códigos R de días anteriores, es un buen ejemplo de uso de la librería gridExtra para poner múltiples gráficos en una sola salida: library(dplyr) library(ggplot2) library(reshape) library(gridExtra) df <- read.csv("https://raw.githubusercontent.com/datadista/datasets/master/COVID%2019/ccaa_covid19_fallecidos.csv", sep=',', check.names=FALSE, encoding = 'UTF-8') df2 <- melt(df[,-1]) names(df2) = c('CCAA','fecha','fallecidos') mm <- df2 %>% group_by(CCAA) %>% summarise(total_fallecidos = sum(fallecidos)) %>% arrange(desc(total_fallecidos)) %>% mutate(CCAA2 = ifelse(row_number()>=10,'Resto', as.character(CCAA))) %>% select(CCAA,CCAA2) df2 <- left_join(df2,mm) table(mm$CCAA2) df2 <- df2 %>% group_by(CCAA2,fecha) %>% summarise(fallecidos=sum(fallecidos)) %>% mutate(fecha = as.Date(as.character(fecha),origin='1970-01-01')) %>% as_tibble() df3 <- df2 %>% mutate(fecha=fecha+1, fallecidos_anterior=fallecidos) %>% select(-fallecidos) df2 <- left_join(df2, df3) %>% mutate(fallecidos_dia = fallecidos - fallecidos_anterior) #Función para hacer los gráficos grafica <- function(comunidad){ p <- ggplot(filter(df2,CCAA2==comunidad), aes(x=fecha)) + geom_line(aes(y=fallecidos_dia, group = 1), alpha = 0.5, color='red') + geom_smooth(aes(y=fallecidos_dia), method = "loess") + ggtitle(comunidad) + xlab("") + ylab("Fallecidos por día") return(p)} madrid = grafica('Madrid') cat = grafica('Cataluña') mancha = grafica('Castilla-La Mancha') leon = grafica('Castilla y León') pvasco = grafica('País Vasco') valencia = grafica('C. Valenciana') andalucia = grafica('Andalucía') aragon=grafica('Aragón') resto = grafica('Resto') total = grafica('Total') grid.arrange(madrid, cat, mancha, leon, pvasco, valencia, andalucia, aragon, resto, total, nrow=5,ncol=2) ...

20 de abril de 2020 · rvaquerizo

Leer archivos Excel con Python

Entrada sobre la importación de Excel con Python, un aporte que sirve para mi documentación y que es posible que sea de ayuda para muchos que se estén iniciando en el uso de Python y Pandas, aunque en este caso para la lectura del Excel usaremos tanto Pandas como la librería xlrd. Lectura de Excel con Pandas Lo más sencillo para importarnos en Python un Excel y crearnos un data frame de Pandas es: ...

1 de abril de 2020 · rvaquerizo