def generate_image(self): self.vapory_sene = vapory.Scene( self.vapory_camera, objects=[self.vapory_light, self.simulated_loop.loop_object]) image_array = self.vapory_sene.render("/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1]) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit("imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update)
def _do_imagePolling(self, sleep_time): """ Descript. : """ while True: image_array = self.vapory_sene.render( "/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1]) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit("imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update) time.sleep(sleep_time)
def get_new_image(self): """ Descript. : """ raw_buffer, width, height = self.get_image() if raw_buffer is not None and raw_buffer.any(): if self.cam_type == "basler": raw_buffer = self.decoder(raw_buffer) qimage = QImage(raw_buffer, width, height, width * 3, QImage.Format_RGB888) else: qimage = QImage(raw_buffer, width, height, QImage.Format_RGB888) if self.cam_mirror is not None: qimage = qimage.mirrored(self.cam_mirror[0], self.cam_mirror[1]) if self.scale != 1: dims = self.get_image_dimensions() # should be already scaled qimage = qimage.scaled(QSize(dims[0], dims[1])) qpixmap = QPixmap(qimage) self.emit("imageReceived", qpixmap) return qimage.copy()
def get_new_image(self): """ Descript. : reads new image, flips it if necessary and returns the result or None on error """ image = self.http_get("?action=snapshot") if image is not None: return QImage.fromData(image).mirrored(self.flip["h"], self.flip["v"]) return None
def get_new_image(self): """ Descript. : """ raw_buffer, width, height = self.get_image() if raw_buffer is not None: qimage = QImage(raw_buffer, width, height, QImage.Format_RGB888) qpixmap = QPixmap(qimage) self.emit("imageReceived", qpixmap) return qimage
def get_new_image(self): """ Descript. : """ raw_buffer, width, height = self.get_image() if raw_buffer is not None: if self.cam_type == "basler": raw_buffer = self.decoder(raw_buffer) qimage = QImage(raw_buffer, width, height, width * 3, QImage.Format_RGB888) else: qimage = QImage(raw_buffer, width, height, QImage.Format_RGB888) if self.cam_mirror is not None: qimage = qimage.mirrored(self.cam_mirror[0], self.cam_mirror[1]) qpixmap = QPixmap(qimage) self.emit("imageReceived", qpixmap) return qimage
def get_snapshot(self, bw=None, return_as_array=None): qimage = QImage(self.image) if return_as_array: qimage = qimage.convertToFormat(4) ptr = qimage.bits() ptr.setsize(qimage.byteCount()) image_array = np.array(ptr).reshape(qimage.height(), qimage.width(), 4) if bw: return np.dot(image_array[..., :3], [0.299, 0.587, 0.144]) else: return image_array else: if bw: return qimage.convertToFormat(QImage.Format_Mono) else: return qimage
def generate_image(self): self.vapory_sene = vapory.Scene( self.vapory_camera, objects=[self.vapory_light, self.simulated_loop.loop_object], ) image_array = self.vapory_sene.render( "/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1], ) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit( "imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update, )
def get_snapshot(self, bw=None, return_as_array=None): qimage = QImage(self.image) if return_as_array: qimage = qimage.convertToFormat(4) ptr = qimage.bits() ptr.setsize(qimage.byteCount()) image_array = np.array(ptr).reshape(qimage.height(), qimage.width(), 4) if bw: return np.dot(image_array[...,:3], [0.299, 0.587, 0.144]) else: return image_array else: if bw: return qimage.convertToFormat(QImage.Format_Mono) else: return qimage
def _do_imagePolling(self, sleep_time): """ Descript. : """ while True: image_array = self.vapory_sene.render( "/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1], ) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit( "imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update, ) time.sleep(sleep_time)
def save_snapshot(self, filename, image_type='PNG'): qimage = QImage(self.image) qimage.save(filename, image_type)
class VaporyVideo(BaseHardwareObjects.Device): """ Descript. : """ def __init__(self, name): """ Descript. : """ BaseHardwareObjects.Device.__init__(self, name) self.force_update = None self.image_dimensions = None self.image_polling = None self.image_type = None self.qimage = None def init(self): """ Descript. : """ self.vapory_camera = vapory.Camera("location", [0, 2, -3], "look_at", [0, 1, 2]) self.vapory_light = vapory.LightSource([2, 4, -3], "color", [1, 1, 1]) self.simulated_loop = SimulatedLoop() self.simulated_loop.set_position(0, 0, 0) self.force_update = False self.image_dimensions = [600, 400] self.image_type = JpegType() self.setIsReady(True) self.generate_image() self.image_polling = gevent.spawn(self._do_imagePolling, 1) def rotate_scene_absolute(self, angle): self.simulated_loop.set_position(angle, 0, 0) self.generate_image() def rotate_scene_relative(self, angle): return def generate_image(self): self.vapory_sene = vapory.Scene( self.vapory_camera, objects=[self.vapory_light, self.simulated_loop.loop_object], ) image_array = self.vapory_sene.render( "/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1], ) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit( "imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update, ) def imageType(self): """ Descript. : """ return self.image_type def contrastExists(self): """ Descript. : """ return def setContrast(self, contrast): """ Descript. : """ return def getContrast(self): """ Descript. : """ return def getContrastMinMax(self): """ Descript. : """ return def brightnessExists(self): """ Descript. : """ return def setBrightness(self, brightness): """ Descript. : """ return def getBrightness(self): """ Descript. : """ return def getBrightnessMinMax(self): """ Descript. : """ return def gainExists(self): """ Descript. : """ return def setGain(self, gain): """ Descript. : """ return def getGain(self): """ Descript. : """ return def getGainMinMax(self): """ Descript. : """ return def gammaExists(self): """ Descript. : """ return def setGamma(self, gamma): """ Descript. : """ return def getGamma(self): """ Descript. : """ return def getGammaMinMax(self): """ Descript. : """ return (0, 1) def setLive(self, mode): """ Descript. : """ return def getWidth(self): """ Descript. : """ return self.image_dimensions[0] def getHeight(self): """ Descript. : """ return self.image_dimensions[1] def _do_imagePolling(self, sleep_time): """ Descript. : """ while True: image_array = self.vapory_sene.render( "/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1], ) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit( "imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update, ) time.sleep(sleep_time)
class VaporyVideo(BaseHardwareObjects.Device): """ Descript. : """ def __init__(self, name): """ Descript. : """ BaseHardwareObjects.Device.__init__(self, name) self.force_update = None self.image_dimensions = None self.image_polling = None self.image_type = None self.qimage = None def init(self): """ Descript. : """ self.vapory_camera = vapory.Camera('location', [0, 2, -3], 'look_at', [0, 1, 2]) self.vapory_light = vapory.LightSource([2, 4, -3], 'color', [1, 1, 1]) self.simulated_loop = SimulatedLoop() self.simulated_loop.set_position(0, 0, 0) self.force_update = False self.image_dimensions = [600, 400] self.image_type = JpegType() self.setIsReady(True) self.generate_image() self.image_polling = gevent.spawn(self._do_imagePolling, 1) def rotate_scene_absolute(self, angle): self.simulated_loop.set_position(angle, 0, 0) self.generate_image() def rotate_scene_relative(self, angle): return def generate_image(self): self.vapory_sene = vapory.Scene( self.vapory_camera, objects=[self.vapory_light, self.simulated_loop.loop_object]) image_array = self.vapory_sene.render("/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1]) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit("imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update) def imageType(self): """ Descript. : """ return self.image_type def contrastExists(self): """ Descript. : """ return def setContrast(self, contrast): """ Descript. : """ return def getContrast(self): """ Descript. : """ return def getContrastMinMax(self): """ Descript. : """ return def brightnessExists(self): """ Descript. : """ return def setBrightness(self, brightness): """ Descript. : """ return def getBrightness(self): """ Descript. : """ return def getBrightnessMinMax(self): """ Descript. : """ return def gainExists(self): """ Descript. : """ return def setGain(self, gain): """ Descript. : """ return def getGain(self): """ Descript. : """ return def getGainMinMax(self): """ Descript. : """ return def gammaExists(self): """ Descript. : """ return def setGamma(self, gamma): """ Descript. : """ return def getGamma(self): """ Descript. : """ return def getGammaMinMax(self): """ Descript. : """ return (0, 1) def setLive(self, mode): """ Descript. : """ return def getWidth(self): """ Descript. : """ return self.image_dimensions[0] def getHeight(self): """ Descript. : """ return self.image_dimensions[1] def _do_imagePolling(self, sleep_time): """ Descript. : """ while True: image_array = self.vapory_sene.render( "/tmp/vapory_tmp_image.png", width=self.image_dimensions[0], height=self.image_dimensions[1]) self.qimage = QImage("/tmp/vapory_tmp_image.png") self.emit("imageReceived", self.qimage, self.qimage.width(), self.qimage.height(), self.force_update) time.sleep(sleep_time)