File: camera.py

package info (click to toggle)
pygame 1.9.6%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 12,060 kB
  • sloc: ansic: 59,765; python: 31,220; objc: 334; makefile: 57; cpp: 25
file content (146 lines) | stat: -rw-r--r-- 2,871 bytes parent folder | download
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

_is_init = 0



def init():
    global list_cameras, Camera, colorspace, _is_init


    import os,sys

    use_opencv = False
    use_vidcapture = False
    use__camera = True


    if sys.platform == 'win32':
        use_vidcapture = True
        use__camera = False

    elif "linux" in sys.platform:
        use__camera = True
    elif "darwin" in sys.platform:
        use__camera = True
    else:
        use_opencv = True



    # see if we have any user specified defaults in environments.
    camera_env = os.environ.get("PYGAME_CAMERA", "")
    if camera_env == "opencv":
        use_opencv = True
    if camera_env == "vidcapture":
        use_vidcapture = True



    # select the camera module to import here.

    # the _camera module has some code which can be reused by other modules.
    #  it will also be the default one.
    if use__camera:
        from pygame import _camera
        colorspace = _camera.colorspace

        list_cameras = _camera.list_cameras
        Camera = _camera.Camera

    if use_opencv:
        try:
            from pygame import _camera_opencv_highgui
        except:
            _camera_opencv_highgui = None

        if _camera_opencv_highgui:
            _camera_opencv_highgui.init()

            list_cameras = _camera_opencv_highgui.list_cameras
            Camera = _camera_opencv_highgui.Camera

    if use_vidcapture:
        try:
            from pygame import _camera_vidcapture
        except:
            _camera_vidcapture = None

        if _camera_vidcapture:
            _camera_vidcapture.init()
            list_cameras = _camera_vidcapture.list_cameras
            Camera = _camera_vidcapture.Camera



    _is_init = 1
    pass


def quit():
    global _is_init
    _is_init = 0
    pass
 

def _check_init():
    global _is_init
    if not _is_init:
        raise ValueError("Need to call camera.init() before using.")

def list_cameras():
    """
    """
    _check_init()
    raise NotImplementedError()


class Camera:

    def __init__(self, device =0, size = (320, 200), mode = "RGB"):
        """
        """
        _check_init()
        raise NotImplementedError()

    def set_resolution(self, width, height):
        """Sets the capture resolution. (without dialog)
        """
        pass

    def start(self):
        """
        """

    def stop(self):
        """
        """

    def get_buffer(self):
        """
        """

    def set_controls(self, **kwargs):
        """
        """

    def get_image(self, dest_surf = None):
        """
        """

    def get_surface(self, dest_surf = None):
        """
        """



if __name__ == "__main__":

    # try and use this camera stuff with the pygame camera example.
    import pygame.examples.camera

    #pygame.camera.Camera = Camera
    #pygame.camera.list_cameras = list_cameras
    pygame.examples.camera.main()