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)
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)