Opencv
- palichis's blog
- Inicie sesión o regístrese para enviar comentarios
- 181 lecturas
Gracias a las ventajas de la librería Opencv (Open Computer Vision), se pueden tener varias alternativas para el manejo de imágenes digitalizadas ya sea mediante webcam o simplemente el manejo de imágenes estáticas.
El siguiente código maneja el reconocimiento de rostros, lo interesante es que si la persona deja de ver a la cámara web el protector de pantalla se ejecutará, y bloqueará la pantalla de nuestras portátiles, y cuando regresamos o la camara a detectado un rostro el protector de pantallas se desactiva.
#!/usr/bin/python
import sys
import os
import cv
scale = 2
camara = cv.CreateCameraCapture(0)
cascade = sys.argv[1]
storage = cv.CreateMemStorage(0)
cascade = cv.Load(cascade)
paramTime = 10
paramClave = "false"
if len(sys.argv) >= 3: paramTime = int(sys.argv[2])
if len(sys.argv) == 4: paramClave = sys.argv[3]
scale = 2
notPresent = 0
while True:
img = cv.QueryFrame(camara)
faces = cv.HaarDetectObjects(
img,
cascade,
storage,
scale,
2,
cv.CV_HAAR_DO_CANNY_PRUNING)
if faces:
if (notPresent !=0) :
os.system("gnome-screensaver-command --deactivate")
notPresent = 0
for ((x,y,w,h),n) in faces:
cv.Rectangle(img,
( int(x), int(y)),
(int(x + w), int(y + h)),
cv.CV_RGB(255,0,0), 3, 8, 0)
cv.ShowImage("Foto", img)
else:
notPresent += 1
if notPresent >= paramTime:
os.system("gnome-screensaver-command --activate")
if cv.WaitKey(10)> 0:
break
descarga código, y haarcascade
para ejecutar el programa necesitamos descargar los dos archivos anteriores, y en consola damos
"python SSA.py haarcascade_frontalface_alt2.xml"

