wu_xinjun
2022-06-21 ee0fccfdd6efc0cdc1cc81dbc67a2bfaae8c7ff1
src/engine/devices.py
@@ -204,63 +204,3 @@
                        logs_queue=self.logs_queue,
                        source = self.device_id,
                        routing_key=self.routing_key+".logs.test0")
# class CaptureThread(threading.Thread):
#     """
#     camera capture thread
#     """
#     def __init__(self, cameras, msg_queue, interval, device_id,image_quality = 95):
#         """init the thread"""
#         threading.Thread.__init__(self)
#         self.cameras = cameras
#         self.msg_queue = msg_queue
#         self.interval = interval
#         self.image_quality = image_quality
#         self.is_stop = False
#         self.device_id = device_id
#     def stop(self):
#         """stop the thread"""
#         self.is_stop = True
# # TODO根据新的数据结构修改队消息队列。
#     def run(self):
#         print("CaptureThread started")
#         encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), self.image_quality]
#         self.next_time = time.time() + self.interval
#         while not self.is_stop:
#             this_time = time.time()
#             if this_time > self.next_time:
#                 for i in range(len(self.cameras)):
#                     _, frame = self.cameras[i].read()
#                     capture_time = time.time()
#                     _, encimg = cv2.imencode('.jpg', frame, encode_param)
#                     if frame is not None:
#                         np_array = np.asarray(encimg)  # frame 转换为numpy数组
#                         byte_array = np_array.tobytes()  # numpy数组转换为byte数组
#                         # convert the image to pb.DataField
#                         imagedata = pb.DataField()
#                         imagedata.data = byte_array
#                         imagedata.length = len(byte_array)
#                         data_str = imagedata.SerializeToString()
#                         # create protobuf message
#                         data_msg = pb.CapturedData()
#                         data_msg.generate_time = capture_time
#                         data_msg.generate_device = self.device_id
#                         data_msg.camera_port = i
#                         data_msg.image_data = data_str
#                         # add message to queue
#                         self.msg_queue.put(data_msg)
#                 self.next_time += self.interval
#             time.sleep(0.1)
#         for camera in self.cameras:
#             camera.release()
#         print("CaptureThread stopped")