def run(self):
# Clear events
self._exit.clear()
# While exit event is not set...
while not self._exit.is_set() or not self._pause_event.is_set():
# ...clear new frame event
self.newframe_event.clear()
# ... read a frame from the camera
frame = self._cam.read()[1]
# ...convert camera image to grayscale
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# ...remap image into shared memory
self._currentframe[:] = cv2.remap(frame, self._mapx, self._mapy, cv2.INTER_LINEAR).copy()
if self._visualize:
cv2.imshow('Unwarped image', self._currentframe)
cv2.waitKey(1)
if self._debug:
print str(1 / (time.time() - self._oldtime)) + " frames/sec"
self._oldtime = time.time()
# Set new frame event
self.newframe_event.set()
# If exit event set...
if self._exit_event.is_set():
# ...release camera
self._cam.release()
# ...close windows
cv2.destroyAllWindows()
评论列表
文章目录