def inference_remote_image(self, id, image_hash, ann=None, meta=None, mode=None): data = { "request_type": "inference", "meta": meta or ProjectMeta().to_json(), "annotation": ann or None, "mode": mode or {}, "image_hash": image_hash } fake_img_data = sly_image.write_bytes(np.zeros([5, 5, 3]), '.jpg') encoder = MultipartEncoder({'id': str(id).encode('utf-8'), 'data': json.dumps(data), 'image': ("img", fake_img_data, "")}) response = self._api.post('models.infer', MultipartEncoderMonitor(encoder)) return response.json()
def inference(self, id, img, ann=None, meta=None, mode=None, ext=None): data = { "request_type": "inference", "meta": meta or ProjectMeta().to_json(), "annotation": ann or None, "mode": mode or {}, } img_data = sly_image.write_bytes(img, ext or '.jpg') encoder = MultipartEncoder({ 'id': str(id).encode('utf-8'), 'data': json.dumps(data), 'image': ("img", img_data, "") }) response = self.api.post('models.infer', MultipartEncoderMonitor(encoder)) return response.json()
def img_to_bytes_stream(item): img, name = item[0], item[1] img_bytes = sly_image.write_bytes(img, get_file_ext(name)) return io.BytesIO(img_bytes)
def upload_np(self, img_np, ext='.png'): data = image.write_bytes(img_np, ext) return self.upload(data)