• 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.

También te puede interesar ►   OctoCam un kit de 5Mpx y PiZero W

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()

Comparte esto:

  • Haz clic para compartir en Facebook (Se abre en una ventana nueva)
  • Haz clic para compartir en Twitter (Se abre en una ventana nueva)
  • Haz clic para compartir en WhatsApp (Se abre en una ventana nueva)
  • Haz clic para compartir en Telegram (Se abre en una ventana nueva)
  • Más
  • Haz clic para compartir en Pinterest (Se abre en una ventana nueva)
  • Haz clic para compartir en Pocket (Se abre en una ventana nueva)
  • Haz clic para enviar un enlace por correo electrónico a un amigo (Se abre en una ventana nueva)
  • Haz clic para imprimir (Se abre en una ventana nueva)

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
También te puede interesar ►   Optimizar SAMBA : preparando un NAS o servidor casero y 4

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

Primary Sidebar

Entradas y Páginas Populares

  • Mi Raspberry Pi no arranca o no enciende
    Mi Raspberry Pi no arranca o no enciende
  • Ubuntu 20.04 LTS para Raspberry Pi
    Ubuntu 20.04 LTS para Raspberry Pi
  • Raspberry Pi : Sistemas Operativos
    Raspberry Pi : Sistemas Operativos
  • Problemas de alimentación USB en la Raspberry Pi 3
    Problemas de alimentación USB en la Raspberry Pi 3
  • Alimentar la Raspberry Pi por el GPIO
    Alimentar la Raspberry Pi por el GPIO
  • Configurar una pantalla LCD 3.5"
    Configurar una pantalla LCD 3.5"
  • Raspberry Pi 2 model B
    Raspberry Pi 2 model B
  • SD Formatter para formatear bien la SD.
    SD Formatter para formatear bien la SD.
  • Poner la IP fija en OMV
    Poner la IP fija en OMV
  • raspi-config | Configuración inicial de Raspbian
    raspi-config | Configuración inicial de Raspbian

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)
185,00 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)
65,00 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)
195,00 EUR
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
30,00 EUR
Comprar en Amazon
Rebajas Logitech K400 Teclado Táctil Inalámbrico Plus para TV con un Control Multimedia y Panel Táctil, Teclado HTPC para TV conectada a PC, Windows, Android, Chrome OS, Portátil, QWERTY Español - Negro
Logitech K400 Teclado Táctil Inalámbrico Plus para TV con un Control Multimedia y Panel Táctil, Teclado HTPC para TV conectada a PC, Windows, Android, Chrome OS, Portátil, QWERTY Español - Negro
Amazon Prime
35,99 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
165,00 EUR
Comprar en Amazon

Última actualización el 2023-03-27 / Enlaces de afiliados / Imágenes de la API para Afiliados

Suscríbete al blog por correo electrónico

Introduce tu correo electrónico para suscribirte a este blog y recibir notificaciones de nuevas entradas.

Únete a otros 3.610 suscriptores

© 2013–2023

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
 

Cargando comentarios...