Example #1
0
    def cbDetectFaceLocations(self, params):
        # print(params)
        start = time.time()
        # res = self.get_frame(GetFrameRequest())
        # print("get_frame time: {} s".format(round((time.time() - start)*1000, 4)))
        # image_msg = res.image

        image_msg = self.image_msg
        if image_msg == None:
            return GetFaceDetectionsResponse()

        rect_image = toImage(self.image_msg)
        print("decode time: {} s".format(round((time.time() - start) * 1000,
                                               4)))
        boxes, labels, probs = self.detector.detect(rect_image)
        print("detect time: {} s".format(round((time.time() - start) * 1000,
                                               4)))
        print(boxes, labels, probs)
        if self.visualization:
            faces = self.detector.drawBoxes(rect_image, boxes)
            print("drawBoxes time: {} s".format(
                round((time.time() - start) * 1000, 4)))
            msg = toImageMsg(faces)
            print("encode time: {} s".format(
                round((time.time() - start) * 1000, 4)))
            self.pub_detections.publish(msg)
            # self.pub_detections.publish(self.bridge.cv2_to_imgmsg(faces,"bgr8"))
        return self.toFaceDetectionMsg()
Example #2
0
 def pubImage(self, image):
     msg = toImageMsg(image)
     self.pub_detections.publish(msg)