Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pilas/video/webcam.py
blob: b463aee0a341019da8a51f3430c1025d954a1645 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'''
import pilas
try:
    import Image
    import opencv
    from opencv import highgui 

    GLOBALCAM=highgui.cvCreateCameraCapture(0)

    for algo in range(30):
        ULTIMO_CUADRO_BASURA = highgui.cvQueryFrame(GLOBALCAM)

    ULTIMO_CUADRO_BASURA = opencv.adaptors.Ipl2PIL(opencv.cvGetMat(ULTIMO_CUADRO_BASURA)).convert('RGBA')
except ImportError:
    print "Falta la biblioteca opencv o PIL"
    pass


class __camara_buffer(object):
    def __init__(self):
        self._ultimo_numero_de_cuadro = 0
        self._camera = GLOBALCAM
        self._ultimo_cuadro = ULTIMO_CUADRO_BASURA.tostring() 
        
    def _obtener_imagen_de_camara(self):
        imagen_ipl = highgui.cvQueryFrame(self._camera)
        imagen_ipl = opencv.cvGetMat(imagen_ipl)
        self._ultimo_cuadro = opencv.adaptors.Ipl2PIL(imagen_ipl).convert('RGBA').tostring() 

    def obtener_imagen(self, numero_de_cuadro=0):
        if numero_de_cuadro == self._ultimo_numero_de_cuadro:
           self._obtener_imagen_de_camara()
           self._ultimo_numero_de_cuadro += 1
        return self._ultimo_cuadro, self._ultimo_numero_de_cuadro

CamaraWeb = __camara_buffer()
'''