Beispiel #1
0
    def run(self):
        #cap = cv2.VideoCapture(0)
        detector = Detector()
        fever = Fever()
        image = Image.new('P', (WIDTH, HEIGHT))
        image.putpalette(get_thermal_image_color_palette())
        image = image.resize((WIDTH, HEIGHT))
        ti = BrickletThermalImaging(UID, ipconIMG)

        while True:
            try:
                ti.set_image_transfer_config(
                    ti.IMAGE_TRANSFER_MANUAL_HIGH_CONTRAST_IMAGE)
                constrast_image = ti.get_high_contrast_image()
                image.resize((80, 60))
                image.putdata(constrast_image)
                img = np.asarray(image.convert())
                img, boxes = detector.detect_face(img)

                ti.set_image_transfer_config(
                    ti.IMAGE_TRANSFER_MANUAL_TEMPERATURE_IMAGE)
                temperatures = ti.get_temperature_image()

                img = fever.draw_temperatures(temperatures, boxes, img)

                #cv2.imshow("thermal", img)
                #cv2.waitKey(1)

                h, w, ch = img.shape
                bytesPerLine = ch * w
                convertToQtFormat = QImage(img, w, h, bytesPerLine,
                                           QImage.Format_BGR888)
                p = convertToQtFormat.scaled(640, 480, Qt.IgnoreAspectRatio)
                self.changePixmap.emit(p)
                time.sleep(.25)
            except Exception as ex:
                print(ex)
Beispiel #2
0
            palette.append(0)

    return palette


fps = 0
count = 0

ti.set_image_transfer_config(ti.IMAGE_TRANSFER_MANUAL_HIGH_CONTRAST_IMAGE)
time.sleep(0.5)

start = time.time()
while True:

    #request termalimage
    image_data = ti.get_high_contrast_image()

    # Display Thermal Image
    image = Image.new('P', (80, 60))
    image.putdata(image_data)
    image.putpalette(get_thermal_image_color_palette())
    #print(numpy.array(image))
    image = image.resize((80 * 8, 60 * 8), Image.ANTIALIAS)
    image = ImageOps.flip(image)
    img = numpy.array(image.convert('RGB'))
    img = img[:, :, ::-1].copy()

    ### FPS
    end = time.time()
    if (end - start > 2):
        fps = int(count / 2)