projekty
/
imago.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
grid lines in debugging mode
[imago.git]
/
camera.py
diff --git
a/camera.py
b/camera.py
index
1a7e3b5
..
d5dac75
100644
(file)
--- a/
camera.py
+++ b/
camera.py
@@
-6,16
+6,25
@@
if os.name == 'posix':
import cv
class Camera:
import cv
class Camera:
- def __init__(self):
- self._cam = cv.CreateCameraCapture(0)
+ def __init__(self, vid=0, res=None):
+ self._cam = cv.CreateCameraCapture(vid)
+ if res:
+ cv.SetCaptureProperty(self._cam, cv.CV_CAP_PROP_FRAME_WIDTH, res[0])
+ cv.SetCaptureProperty(self._cam, cv.CV_CAP_PROP_FRAME_HEIGHT,
+ res[1])
def get_image(self):
def get_image(self):
- im = cv.QueryFrame(self._cam)
+ for _ in range(5): #HACK
+ im = cv.QueryFrame(self._cam)
# Add the line below if you need it (Ubuntu 8.04+)
# Add the line below if you need it (Ubuntu 8.04+)
- im = cv.GetMat(im)
+
#
im = cv.GetMat(im)
#convert Ipl image to PIL image
#convert Ipl image to PIL image
- return Image.fromstring("RGB", cv.GetSize(im), im.tostring())
+ return Image.fromstring("RGB", cv.GetSize(im), im.tostring(), "raw",
+ "BGR", 0, 1)
+ def __del__(self):
+ del self._cam
+
elif os.name in ('ce', 'nt', 'dos'):
elif os.name in ('ce', 'nt', 'dos'):