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)
示例#3
0
    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. : 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
示例#6
0
    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
示例#7
0
    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_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
示例#10
0
 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
示例#12
0
 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)
示例#14
0
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)
 def save_snapshot(self, filename, image_type='PNG'):
     qimage = QImage(self.image)
     qimage.save(filename, image_type)
示例#16
0
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)