• Skip to main content
  • Skip to primary sidebar
  • Inicio
    • Acerca de
    • Cookies y RGPD
  • Sistemas Operativos
  • Tipos de Raspberry Pi
    • Mejores microSD
  • Glosario
  • Blog
    • Alternativas
    • FAQ
  • Contacto

Raspberry para torpes

pero para torpes, torpes

Proyecto vídeo vigilancia con Raspberry Pi y Python

10 diciembre, 2014 by manuti 2 Comments

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:

  • Raspberry Pi 100437 - Tarjeta de Puerto USB (7000 MHz, 512 MB de RAM, 4 x USB) o Raspberry Pi RBCA000 Model B - Placa base (ARM 1176JZF-S, 512 MB de RAM, HDMI, 2 x USB 2.0, 3,5 W)
    comprar-raspberry-pi-b
    y sus correspondientes complementos: cargador, SD o micro SD y cable de red o adaptador Wi-Fi
  • Logitech C170 - Webcam, color negro
    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:

Proyecto vídeo vigilancia con Raspberry Pi y Motion motionEyeOSmotionEyeOS vigilando con la Raspberry Pi Flotilla de Pimoroni un nuevo proyecto para acercar el universo Maker y DIY para todos RabbitMax Flex un proyecto de IoT para Raspberry Pi

Filed Under: proyectos Tagged With: CCTV, opencv, python, video surveillance, video vigilancia, webcam

Primary Sidebar

Categorías

Archivos

RASPBERRY PI | RECOMENDACIONES

Raspberry Pi Spain RAS-4-4G - Placa Base Pi 4 Modelo B / 4 GB SDRAM (1822096)
Raspberry Pi Spain RAS-4-4G - Placa Base Pi 4 Modelo B / 4 GB SDRAM (1822096)
Amazon Prime
78,99 EUR
Comprar en Amazon
Samsung EVO Select - Tarjeta de Memoria microSDXC de 32 GB con Adaptador SD, 95 MB/s, UHS1, Color Verde y Blanco
Samsung EVO Select - Tarjeta de Memoria microSDXC de 32 GB con Adaptador SD, 95 MB/s, UHS1, Color Verde y Blanco
Comprar en Amazon
Raspberry Placa Base PI 3 Modelo A+, Cortex a 1.4GHZ, WiFi 5GHZ (11811853)
Raspberry Placa Base PI 3 Modelo A+, Cortex a 1.4GHZ, WiFi 5GHZ (11811853)
Amazon Prime
34,90 EUR
Comprar en Amazon
Raspberry Pi 4 Computer Official Premium Kit with MicroSD 32GB S.O. preloaded (2GB RAM, Black)
Raspberry Pi 4 Computer Official Premium Kit with MicroSD 32GB S.O. preloaded (2GB RAM, Black)
Comprar en Amazon
Rebajas Logitech MK270 Combo Teclado y Ratón Inalámbrico para Windows, 2,4GHz Inalámbrico, Ratón Compacto, 8 teclas multimedia y de acceso directo, 2 años de batería, PC, PC Portátil, QWERTY Español - Negro
Logitech MK270 Combo Teclado y Ratón Inalámbrico para Windows, 2,4GHz Inalámbrico, Ratón Compacto, 8 teclas multimedia y de acceso directo, 2 años de batería, PC, PC Portátil, QWERTY Español - Negro
Amazon Prime
27,93 EUR
Comprar en Amazon
Rebajas Logitech K400 Plus Teclado Inalámbrico Táctil para TV con Control Multimedia y Touchpad, Teclado QWERTY Español - Negro
Logitech K400 Plus Teclado Inalámbrico Táctil para TV con Control Multimedia y Touchpad, Teclado QWERTY Español - Negro
Amazon Prime
34,90 EUR
Comprar en Amazon
Raspberry Pi 4 Model B 2GB ARM-Cortex-A72 4x 1,50GHz, 2GB RAM, WLAN-ac, Bluetooth 5.0, LAN, 4x USB, 2x Micro-HDMI
Raspberry Pi 4 Model B 2GB ARM-Cortex-A72 4x 1,50GHz, 2GB RAM, WLAN-ac, Bluetooth 5.0, LAN, 4x USB, 2x Micro-HDMI
68,49 EUR
Comprar en Amazon

Última actualización el 2025-05-01 / Enlaces de afiliados / Imágenes de la API para Afiliados

© 2013–2025

Este sitio web usa cookies para mejorar su experiencia como usuario ► Aceptar Rechazar ◘ Si necesita más información
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR