Использование файлов блобов изображений из веб-приложения в качестве входных данных для программы Python - PullRequest
0 голосов
/ 24 августа 2018

Я создал реагирующее веб-приложение, в котором изображения холста хранятся в виде файловых объектов в формате jpeg. Как использовать эти BLOB-объекты в качестве входных данных для программы Python, которая классифицирует изображения?

Функция создания BLOB-объектов выглядит следующим образом:

clearCanvas({nativeEvent}) {

  this.canvas.toBlob(
   function(canvasDataBlob) { // anonymous callback with a handle to Blob
    var url=window.URL.createObjectURL(canvasDataBlob, {autoRevoke: true});
    var image=new Image();
    image.src=url;
    image.download="my-image.jpeg";
    document.body.appendChild(image);
   },
   "image/jpeg", 1.0 // optional arguments: MIME type and quality level
  );
  this.ctx = this.canvas.getContext('2d');
  this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
  }

1 Ответ

0 голосов
/ 24 августа 2018

Самый простой способ - создать ссылку для скачивания из этого большого двоичного объекта и вручную запустить скрипт Python для загруженного образа.

Я предполагаю, что вместо этого вы хотите отобразить результат классификации на той же веб-странице. Для этого вы должны сделать запрос XMLHttpRequest на веб-сервер Python, который затем обработает изображение и отправит классификацию обратно в браузер. См. Отправка и получение двоичных данных (MDN), чтобы узнать, как создать такой запрос.

Если у вас еще нет веб-сервера, я предлагаю вам взглянуть на Настой или Торнадо . Но это не место, чтобы объяснить все это, и хорошие уроки существуют.

Если этот ответ не помогает, я предлагаю задать более конкретный вопрос. Скажите нам, какую проблему вы пытаетесь решить (а не просто решение, которое, по вашему мнению, вам нужно), и скажите нам, где, по вашему мнению, должна работать эта программа Python, или, если она у вас уже запущена, и знаете, как она может получать / декодировать изображение, что вы уже пробовали или читали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...