• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Blog
  • Sistemas Operativos
    • Todos los sistemas operativos del Raspberry Pi Imager en 2026
  • Tipos de Raspberry Pi
    • Selector interactivo de Raspberry Pi
    • Raspberry Pi: rivales y alternativas SBC en 2026 con Armbian y DietPi
  • Glosario
  • FAQ
  • Contacto
  • Cookies y RGPD
  • Acerca de

Raspberry para torpes

Blog sobre Raspberry Pi en español desde 2013. Guías de configuración, hardware, sistemas operativos y proyectos para todos los niveles.

Proyecto vídeo vigilancia con Raspberry Pi y Python

10 diciembre, 2014 by manuti 2 comentarios

☕
¿El blog te ha sido útil?Puedes invitarme a un café en Ko-fi. Sin suscripciones, sin compromisos.
Invitar a un café

Actualización: Recomiendo que miréis el artículo motionEyeOS vigilando con la Raspberry Pi

Después del anterior Proyecto vídeo vigilancia con Raspberry Pi y Motion os traigo una nueva versión más simple y que hace uso solo de python

Para el hardware necesitaréis:

Para ello se dispuso de:

  • o
    comprar-raspberry-pi-b
    y sus correspondientes complementos: cargador, SD o micro SD y cable de red o adaptador Wi-Fi

  • webcam_logitech_raspberrypi

Para el software:

El tratamiento de imagen que tiene es:

  • Extracción de fondo: la primera imagen obtiene lo que es el fondo para el programa, cada vez que se produce un cambio, al comparar los frames fondo y actual, lo detecta, de forma que guarda las imágenes correspondientes.
  • Filtro gausiano, para suavizar y eliminar al máximo el ruido, es bastante potente. Como solo nos interesan cambios funciona bien, además la imagen que guardamos es la que no tiene ningún tratamiento, en bruto.
  • Esto tiene un solo inconveniente, está puesto en el README del github del autor, y es que cuando se producen cambios de luz los detecta como una intrusión. Podría usarse para colocarla en una habitación donde no haya cambios de luz o tenga que estar siempre a oscuras, si alguien entra lo detectará.

Se podría mejorar con algún sensor de luz de manera que cuando haya cambios de luminosidad elevados actualice el fondo para comparar al nuevo más iluminado, o en caso contrario, menos iluminado. De todas formas, en el uso real que se le está dando lleva asociado un detector de movimiento, de forma que si detecta que la puerta se abre, permite que las imágenes se guarden, esto también se explica más o menos en el README.

Todo el código lo tenéis disponible en el GitHub de su autor: https://github.com/j0sete/motion-sensor

Os pongo aquí la versión inicial, pero recordad que puede haber nuevas versiones en el GitHub:

#!/usr/bin/python

import numpy as np
import cv2
import cv
import time

def comprobarFichero():
  
  existe = False
  archivo = "//path/a/algun/fichero"
  
  try: 
    fichero = open(archivo) 
    fichero.close()
    existe = True 
  except: 
    existe = False
    
  return existe

tamanoMax = 400
movimiento = False

cam = cv2.VideoCapture(0)

for x in xrange(1,100):
  ret, frame = cam.read()
  
fgbg = cv2.BackgroundSubtractorMOG()

while True:
  ret, frame = cam.read()
  
  if ret == True:
    frame = cv2.resize(frame, (tamanoMax,tamanoMax))
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    gray = cv2.bilateralFilter(gray, 11, 17, 17)
    blur = cv2.blur(gray,(10,10))
    
    fgmask = fgbg.apply(blur) # Aplicamos la mascara
    
    columnas = cv2.reduce(fgmask,0,cv.CV_REDUCE_MAX)
    filas = cv2.reduce(fgmask,1,cv.CV_REDUCE_MAX)
    
    for x in xrange(1, len(columnas[0])):
      if columnas[0][x] > 0:
    movimiento = True
    break
    if movimiento == False:
      for x in xrange(1, len(filas)):
    if filas[x,0] > 0:
      movimiento = True
      break
    
    if movimiento == True and comprobarFichero():
      nombre = time.strftime("%y%m%d-%H:%M:%S")+".jpg"
      path="/path/donde/guardar/imagenes/"+nombre
      cv2.imwrite(path,frame)
    
    movimiento = False
      
    if cv2.waitKey(1) & 0xFF == ord('q'):
      break
    
cv2.destroyAllWindows()

Artículos relacionados:

  • raspberry_pi_motion
    Proyecto vídeo vigilancia con Raspberry Pi y Motion
  • webcam raspbery pi
    Como conectar una webcam a la Raspberry
  • Webcam Raspberry Pi Time-lapse
    Timelapse con webcam y Raspberry Pi
  • Imagen_7
    Conectar una Webcam con Motion en Raspberry Pi

Publicado en: Proyectos Etiquetado como: CCTV, opencv, python, video surveillance, video vigilancia, webcam

Barra lateral principal

α Fotografía El lado analógico de manuti

Categorías

  • Cajas (9)
  • comandos (21)
  • Compras (116)
  • dudas (41)
  • Empezando (55)
  • Hardware (109)
  • Instalacion (64)
  • Media Center (56)
  • Negocios (5)
  • Proyectos (45)
  • Rivales (114)
  • Sistemas Operativos (70)
  • sorteo (2)
Raspberry Pi 5 - 4GB RAM
Raspberry Pi 5 - 4GB RAM
Ver precio en Amazon →
Raspberry Pi Zero 2W
Raspberry Pi Zero 2W
Ver precio en Amazon →

Por si te lo perdiste

ubuntu ama a arm

Ubuntu apuesta fuerte por ARM: ya es arquitectura principal

NasberryPi

NasberryPi: NAS fácil con Raspberry Pi

github junio 2026

GitHub Raspberry Pi junio 2026: rpi-sb-provisioner

Raspberry Pi 5 - 8GB RAM
Raspberry Pi 5 - 8GB RAM
Ver precio en Amazon →

Visita la tienda Raspberry Pi en Amazon - enlace afiliado
© 2013–2026

Cookie y RGPD | Aviso Legal
Este sitio web usa cookies para mejorar su experiencia como usuario ► «Aceptar todo» Rechazar Elegir cookies ◘ Si necesita Política de cookies
Política de Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. De estas cookies, las clasificadas como necesarias se almacenan en tu navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y entender cómo usas este sitio web. Estas cookies se almacenarán en tu navegador únicamente con tu consentimiento. También tienes la opción de rechazarlas. Sin embargo, rechazar algunas de estas cookies puede afectar a tu experiencia de navegación.
Necessary
Siempre activado
Las cookies necesarias son imprescindibles para el funcionamiento correcto del sitio web. Esta categoría solo incluye cookies que garantizan las funcionalidades básicas y las características de seguridad del sitio. Estas cookies no almacenan ninguna información personal.
CookieDuraciónDescripción
cookielawinfo-checkbox-advertisement1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Advertisement".
cookielawinfo-checkbox-analytics1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Analytics".
cookielawinfo-checkbox-comentarios1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Comentarios (Disqus)".
cookielawinfo-checkbox-functional1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Functional".
cookielawinfo-checkbox-necessary1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie registra el consentimiento del usuario para las cookies de la categoría "Necessary".
cookielawinfo-checkbox-others1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie almacena el consentimiento del usuario para las cookies de la categoría "Others".
cookielawinfo-checkbox-performance1 añoEstablecida por el plugin GDPR Cookie Consent, esta cookie almacena el consentimiento del usuario para las cookies de la categoría "Performance".
CookieLawInfoConsent1 añoCookieYes establece esta cookie para registrar el estado por defecto de los botones de cada categoría y el estado de la CCPA. Funciona únicamente en coordinación con la cookie principal.
wpEmojiSettingsSupportssesiónWordPress establece esta cookie cuando un usuario interactúa con emojis en un sitio WordPress. Ayuda a determinar si el navegador del usuario puede mostrar los emojis correctamente.
__cf_bm1 horaEsta cookie, establecida por Cloudflare, se utiliza para dar soporte a la gestión de bots de Cloudflare.
Functional
Las cookies funcionales ayudan a realizar ciertas funciones como compartir el contenido del sitio web en redes sociales, recoger comentarios y otras características de terceros.
CookieDuraciónDescripción
VISITOR_INFO1_LIVE6 mesesCookie establecida por YouTube para medir el ancho de banda y determinar si el usuario recibe la interfaz de reproductor nueva o antigua.
ytidb::LAST_RESULT_ENTRY_KEYnuncaYouTube utiliza esta cookie para almacenar la última entrada de resultados de búsqueda en la que hizo clic el usuario. Esta información se usa para mejorar la experiencia ofreciendo resultados más relevantes en el futuro.
Performance
Las cookies de rendimiento se utilizan para entender y analizar los índices clave de rendimiento del sitio web, lo que ayuda a ofrecer una mejor experiencia de usuario a los visitantes.
Analytics
Las cookies analíticas se utilizan para entender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a ofrecer información sobre métricas como el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
CookieDuraciónDescripción
YSCsesiónCookie establecida por YouTube que se usa para hacer seguimiento de las visualizaciones de vídeos embebidos en páginas de YouTube.
Advertisement
Las cookies de publicidad se utilizan para ofrecer a los visitantes anuncios y campañas de marketing relevantes. Estas cookies rastrean a los visitantes a través de distintos sitios web y recopilan información para mostrar anuncios personalizados.
CookieDuraciónDescripción
VISITOR_PRIVACY_METADATA6 mesesYouTube establece esta cookie para almacenar el estado de consentimiento de cookies del usuario para el dominio actual.
__Secure-ROLLOUT_TOKEN6 mesesYouTube utiliza esta cookie para gestionar el despliegue de funciones y la experimentación. Ayuda a Google a controlar qué funciones nuevas o cambios de interfaz se muestran a los usuarios como parte de pruebas y despliegues escalonados, garantizando una experiencia coherente durante un experimento.
__Secure-YECsesiónCookie de YouTube. Se encarga de almacenar tus preferencias de reproducción de video (como el volumen, la calidad de video predeterminada o la configuración de subtítulos) cuando ves videos de YouTube incrustados en otras páginas web.
__Secure-YNID6 mesesCookie de YouTube utilizada para proteger la seguridad del usuario y prevenir el fraude, especialmente durante el proceso de inicio de sesión.
Others
Otras cookies sin clasificar son aquellas que están siendo analizadas y que todavía no se han asignado a ninguna categoría.
Comentarios (Disqus)
Las cookies de comentarios permiten mostrar y gestionar el sistema de comentarios de terceros (Disqus), incluyendo el registro de usuarios y el control de spam. Estas cookies solo se cargan si aceptas esta categoría.
CookieDuraciónDescripción
disqus_unique1 añoCookie de Disqus usada para el registro de usuarios y control de spam en los comentarios.
GUARDAR Y ACEPTAR
Funciona con CookieYes Logo