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