Как сделать снимок с помощью веб-камеры и отправить его через поток октетов на API-интерфейс лица Microsoft - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь сделать снимок с помощью веб-камеры устройства и отправить его через API-интерфейс лица Microsoft для получения эмоций человека и т. Д. Я записываю и делаю снимок и преобразовываю его в формат jpeg, а затем в двоичный файл, которыйAPI требует. но когда я отправляю запрос, он выдаёт мне ошибку.

captureButton.addEventListener('click', () => {   
context.drawImage(player, 0, 0, canvas.width, canvas.height);
x=context.getImageData(0,0,canvas.width,canvas.height);
x=convertCanvasToImage(canvas);
y=tobinary(x);

});






function processImage(stream) {

var subscriptionKey = "{MY_SUBSCRIPTION_KEY}";

var uriBase =
    "https://westcentralus.api.cognitive.microsoft.com/face/v1.0/detect";
var params = {
    "returnFaceId": "true",
    "returnFaceLandmarks": "false",
    "returnFaceAttributes":
        "age,gender,headPose,smile,emotion," +
        "occlusion,accessories,blur,exposure,noise"
}

// Perform the REST API call.
$.ajax({
    url: uriBase + "?" + $.param(params),

    // Request headers.
    beforeSend: function(xhrObj){
        xhrObj.setRequestHeader("Content-Type","application/octet-stream");
        xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key", subscriptionKey);
    },

    type: "POST",

    // Request body.
    body:[y],

})

Я ожидал, что это сработает, но API выдает ошибку: 400 изображений слишком мало, я должен отправить этозавтра помогите пожалуйста

1 Ответ

0 голосов
/ 15 октября 2019

Если это сообщение об ошибке, значит ваше изображение недействительно. Согласно официальному документу:

Поддерживаются форматы JPEG, PNG, GIF (первый кадр) и BMP. Допустимый размер файла изображения составляет от 1 КБ до 6 МБ. Минимальный определяемый размер лица составляет 36x36 пикселей на изображении размером не более 1920x1080 пикселей.

Для изображений с размерами, превышающими 1920x1080 пикселей, потребуется пропорционально больший минимальный размер лица. Для изображения можно вернуть до 100 лиц. Лица ранжируются по размеру прямоугольника от большого до маленького. Для получения оптимальных результатов при запросе Face - Identify, Face - Verify и Face - Find Similar (returnFaceId - true) используйте лица: фронтальные, четкие, с минимальным размером 200x200 пикселей (100 пикселей между глазами).

Источник: https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236

Я рекомендую вам передать действующее существующее изображение, прежде чем пытаться использовать веб-камеру. Как только вы исправите это, проверьте изображение, снятое веб-камерой.

...