Пример #1
0
    def post(self):

        ref_number, image, images = parse_image_contained_body(self)

        if image is not None:
            frame = util.base64string2array(image[22:])
            classes, raw, flip_or_not = runner.process(frame)
            if classes is None:
                self.write("The network has yet been setup.")
            else:
                msg = ("{\"reference\":\"" + str(ref_number) + "\","
                       "\"classes\":" + util.np2json(classes) + ","
                       "\"raw\":" + util.np2json(raw) + ","
                       "\"flip\":[true]}")
                self.write(msg)

        elif images is not None:
            frames = []
            for img_str in images:
                frames.append(util.base64string2array(img_str[22:]))

            classes, raw, flip_or_not = runner.process(frames)
            if classes is None:
                self.write("The network has yet been setup.")
            else:
                msg = ("{\"reference\":\"" + str(ref_number) + "\","
                       "\"classes\":" + util.np2json(classes) + ","
                       "\"raw\":" + util.np2json(raw) + ","
                       "\"flip\":" + util.np2json(flip_or_not < 0) + "}")
                self.write(msg)
Пример #2
0
    def post(self):

        if "json" in self.request.headers.get('Content-Type'):
            try:
                json_data = json.loads(self.request.body)
                if 'reference' in json_data:
                    ref_number = json_data["reference"]
                if 'image' in json_data:
                    image = json_data["image"]
                if 'templates' in json_data:
                    template_list = json_data["templates"]
            except ValueError:
                message = 'Unable to parse JSON.'
                self.send_error(400, message=message)  # Bad Request
        else:
            message = 'Unable to parse JSON.'
            self.send_error(400, message=message)  # Bad Request

        # set templates
        runner.use_temporary_template(template_list)

        if image is not None:
            frame = util.base64string2array(image[22:])
            classes, raw, flip_or_not = runner.process(frame)
            if classes is None:
                self.write("The network has yet been setup.")
            else:
                if runner.label_dict is not None:
                    classes = runner.label_dict[classes[0]]
                msg = ("{\"reference\":\"" + str(ref_number) + "\","
                       "\"classes\":" + str(classes) + ","
                       "\"raw\":" + util.np2json(raw) + ","
                       "\"flip\":[true]}")
                gc.collect()
                self.write(msg)
Пример #3
0
    def post(self):

        if "json" in self.request.headers.get('Content-Type'):
            try:
                json_data = json.loads(self.request.body)
                if 'image' in json_data:
                    image = json_data["image"]
                if 'setname' in json_data:
                    setname = json_data["setname"]
                if 'label' in json_data:
                    label = json_data["label"]
                if 'x1' in json_data:
                    x1 = json_data["x1"]
                if 'y1' in json_data:
                    y1 = json_data["y1"]
                if 'x2' in json_data:
                    x2 = json_data["x2"]
                if 'y2' in json_data:
                    y2 = json_data["y2"]
            except ValueError:
                message = 'Unable to parse JSON.'
                self.send_error(400, message=message)  # Bad Request
        else:
            image_ = self.get_body_arguments("image")
            if len(image_) > 0:
                image = image_[0]
            setname_ = self.get_body_argument("setname")
            if len(setname_) > 0:
                setname = setname_
            label_ = self.get_body_arguments("label")
            if len(label_) > 0:
                label = label_[0]
            x1_ = self.get_body_arguments("x1")
            if len(x1_) > 0:
                x1 = x1_[0]
            y1_ = self.get_body_arguments("y1")
            if len(y1_) > 0:
                y1 = y1_[0]
            x2_ = self.get_body_arguments("x2")
            if len(x2_) > 0:
                x2 = x2_[0]
            y2_ = self.get_body_arguments("y2")
            if len(y2_) > 0:
                y2 = y2_[0]

        if image is not None:
            frame = util.base64string2array(image[22:])
            dataformat.save_training_data(setname, frame, int(label),
                                          int(float(x1)), int(float(y1)),
                                          int(float(x2)), int(float(y2)))
            self.write("Done!")