Beispiel #1
0
 def step(self):
     self.dev.Read()
     if (self.yuv):
         y=numpy.ndarray(shape=(self.h,self.w),
                     buffer=self.dev.buffer,dtype=numpy.uint8).copy()
         off=self.h*self.w
         len=(self.h//2)*(self.w//2)
         u=numpy.ndarray(shape=(self.h//2,self.w//2),
                     buffer=self.dev.buffer[off:off+len],dtype=numpy.uint8)
         v=numpy.ndarray(shape=(self.h//2,self.w//2),
                     buffer=self.dev.buffer[off+len:],dtype=numpy.uint8)
         for yy in range(self.h):
             for xx in range(self.w):
                 vv=y[yy,xx]
                 self.img[yy,xx,0]=vv
                 self.img[yy,xx,1]=vv
                 self.img[yy,xx,2]=vv
     else:
         self.img=numpy.ndarray(shape=(self.h,self.w,self.nc),
                     buffer=self.dev.buffer,dtype=numpy.uint8)
     if (self.bgr):
         rgb2bgr(self.img)
     if (self.observer):
         self.observer(self.img.copy())
     return True
Beispiel #2
0
 def step(self):
     frame = highgui.cvQueryFrame(self.capture)
     img = Ipl2NumPyFast(frame)
     if self.bgr:
         # zs=img.shape
         # img=numpy.array(zip(img[:,:,2].flat,img[:,:,1].flat,img[:,:,0].flat)) ## slow !!!
         rgb2bgr(img)  # let use cython
         # img.shape=zs
     if self.obs:
         self.obs(img)
     return True
Beispiel #3
0
 def __getitem__(self, x):
     frame = highgui.cvQueryFrame(self.capture)
     img = Ipl2NumPyFast(frame)
     if self.bgr:
         rgb2bgr(img)
     return img