Instalando OpenCV en Raspberry Pi 4

Al hacer unas pruebas con OpenCV usando una Raspberry Pi 4 y Python, me aparecieron varios errores como:

ImportError: libgtk-3.so.0: cannot open shared object file: No such file or directory

Y luego otro que decía algo sobre liblapack3, así como libcblas.so.3 y muchos más. Después de instalar varias dependencias vengo a mostrar aquí lo que me funcionó.

El sistema operativo que usé es Raspbian, con Python 3 y PIP instalados.

(más…)

Trabajando con cámara en Python - Tomar fotos y grabar vídeos usando Flask y OpenCV

Grabar vídeo de cámara con Python, Flask y OpenCV – Cámara de vigilancia

En este post te mostraré otro avance en cuanto a la lectura de una cámara web usando Python. Con el código que expongo aquí serás capaz de:

Trabajando con cámara en Python - Tomar fotos y grabar vídeos usando Flask y OpenCV

Trabajando con cámara en Python – Tomar fotos y grabar vídeos usando Flask y OpenCV

  1. Ver la cámara en tiempo real, con fecha y hora
  2. Descargar una foto
  3. Guardar la foto en el servidor
  4. Grabar vídeos y guardarlos en el servidor

Básicamente se podrá hacer todo lo que se haría en una cámara de vigilancia, pero ahora usando Python y una cámara conectada al dispositivo. Obviamente se le pueden agregar más cosas, mejorar el proyecto, etcétera.

El punto es que con esto podemos usar Python para acceder a la cámara web, verla, tomar fotos y grabar vídeos.

(más…)

Python: función con argumentos opcionales

Al trabajar con funciones en Python, algunas de ellas definen argumentos opcionales. Es decir, un argumento que puede ser enviado o no, y si no es enviado entonces se toma un valor por defecto.

En este post de programación en Python te enseñaré cómo definir argumentos opcionales para tus métodos en Python, ya sean funciones globales o de una clase (aunque recuerda que para los métodos de clase, el primer argumento siempre debe ser self).

(más…)

Lanzar excepción en Python

En este corto post de programación en Python te enseñaré a lanzar una Excepción. No será algo muy complejo, pues no vamos a ver cómo crear una clase y todo eso.

En su lugar te mostraré cómo lanzar una simple excepción que imprima el mensaje en la terminal y detenga la ejecución del programa, justo como cualquier excepción. Para ello vamos a usar raise y Exception.

(más…)

Foto tomada con Python y Flask

Python: acceder a cámara web con OpenCV y Flask

Hace tiempo te mostré cómo tomar una foto con la webcam usando Python, pero desde la terminal y sin una previsualización. Ahora te mostraré cómo stremear la cámara web en tiempo real a tu navegador web, tomar una foto y descargarla, o tomar una foto y guardarla en el servidor.

Acceder a la cámara web con Flask, OpenCV y Python

Acceder a la cámara web con Flask, OpenCV y Python

Para ver la cámara en tiempo real y exponerla para que un navegador web la consuma vamos a usar Flask. Y para acceder a la cámara usaremos OpenCV.

Al final tendrás la opción de descargar la foto o guardarla en el servidor. De este modo igualmente podrías ver una cámara web a través de la red, pues se va a crear un servidor web en donde la misma estará expuesta.

(más…)

Python – Trabajo con archivos en UTF-8

Hace un momento estaba trabajando en un script de Python 3 en donde se lee y escribe cierto texto, solo que ocurrió un problema cuando dentro del contenido del archivo se encontraba una ñ.

Por lo tanto en este post te enseñaré cómo leer y escribir archivos de texto codificados como UTF-8 para que soporte los caracteres especiales como la ñ, acentos, etcétera; casi todo lo que conforma el idioma español.

Para ello simplemente vamos a indicar el encoding al abrir los archivos.

(más…)

Árbol binario en Python - Estructura de datos

Árbol binario en Python

En este post vamos a implementar la estructura de datos Árbol binario en Python, además de implementar la declaración de un Nodo o rama.

También veremos cómo agregar al nodo sus partes izquierda y derecha, el método para agregar un valor de manera recursiva (y acomodarlo de acuerdo a la raíz) al árbol, recorrido inorden, postorden y preorden, así como la búsqueda de determinado valor en el árbol.

Básicamente implementaremos un árbol en Python con los métodos más comunes. Recuerda que los árboles binarios son una estructura de datos bastante interesante en donde la búsqueda de un elemento se hace de manera rápida por la naturaleza del mismo.

(más…)

Por parzibyte, hace
Python - Obtener elemento menor y mayor de una lista

Python: mayor y menor de arreglo

En este post de programación en Python te enseñaré cómo obtener el elemento mayor de una lista, así como el elemento menor. Ten en cuenta que yo me referiré a lista, array y arreglo como sinónimos.

Al final tendremos dos funciones que van a recibir un arreglo y devolver, respectivamente, el menor y mayor elemento de la lista, sin importar el tipo de dato.

(más…)

Por parzibyte, hace
Python - Conversión entre Celsius y Fahrenheit

Python – Conversión entre grados celsius y Fahrenheit

En este post de programación para principiantes vamos a ver cómo convertir de grados Celsius a grados Fahrenheit y también la operación inversa; todo esto usando el lenguaje de programación Python.

Lo único que vamos a hacer será encerrar las fórmulas de conversión dentro de unas funciones. Recuerda que las fórmulas dicen:

  • C = (F – 32) / 1.8
  • F = (C * 1.8) + 32

(más…)

Por parzibyte, hace
Cálculo de factorial en Python

Factorial en Python

En este post te mostraré cómo obtener el factorial de un número usando Python. Vamos a ver dos métodos: de manera iterativa con un ciclo, y de manera recursiva en donde la función se llama a sí misma.

Recuerda que el factorial de un número es el resultado de multiplicar ese número por todos los números que existen desde él hasta el 1. Por ejemplo, el factorial de 5 es 120 pues 5 * 4 * 3 * 2 * 1 es 120.

Voy a encerrar el comportamiento de este programa en funciones para su fácil reutilización. De hecho el método con recursión no puede estar en otro lugar más que en una función.

(más…)