Module camera
[hide private]
[frames] | no frames]

Source Code for Module camera

 1  #!/usr/bin/env python 
 2  # -*- coding: utf-8 -*- 
 3  # 
 4  #    camera.py 
 5  #        
 6  #    Copyright 2010 Victor Ramirez <virako.9@gmail.com> 
 7  #        
 8  #    This program is free software: you can redistribute it and/or modify 
 9  #    it under the terms of the GNU General Public License as published by 
10  #    the Free Software Foundation, either version 3 of the License, or 
11  #    (at your option) any later version. 
12  # 
13  #    This program is distributed in the hope that it will be useful, 
14  #    but WITHOUT ANY WARRANTY; without even the implied warranty of 
15  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
16  #    GNU General Public License for more details. 
17  # 
18  #    You should have received a copy of the GNU General Public License 
19  #    along with this program.  If not, see <http://www.gnu.org/licenses/>. 
20   
21   
22   
23  from opencv.highgui import * 
24  from opencv.cv import * 
25  from opencv import * 
26  import os 
27   
28   
29 -class Camera:
30 """ Clase para trabajar con las cámaras que estén conectadas al ordenador"""
31 - def __init__(self):
32 self.name_cameras = [] 33 self.capture = None
34
35 - def check_name_cameras(self):
36 """Función que devuelve los nombres de las camaras conectadas""" 37 # Linux 38 self.name_cameras = [] 39 if os.name == "posix": # al menos se que es un sistema compatible con UNIX 40 list_dir = os.listdir("/dev") 41 for d in list_dir: 42 if d.__contains__("video"): 43 self.name_cameras.append(d) 44 return self.name_cameras 45 else: 46 print "not found, we are working" 47 return self.name_cameras
48
49 - def open_camera(self, num):
50 """Devuelve la captura de la cámara""" 51 n = int(self.name_cameras[num][5:]) 52 self.capture = cvCreateCameraCapture(n)
53
54 - def get_frame(self):
55 """Devuelve un frame de la captura""" 56 return cvQueryFrame( self.capture )
57
58 - def close_camera(self):
59 """Cierra la cámara abierta""" 60 cvReleaseCapture( self.capture )
61