我已经被这个问题困扰了一段时间了。我正在尝试使用微软的计算机视觉服务来获取图像的主色。我的代码摘录如下:
import {VisualFeatureTypes} from "@azure/cognitiveservices-computervision/esm/models";
...
let visualFeatures: VisualFeatureTypes[] = ['Color'];
const caption = (await computerVisionClient.analyzeImageInStream(describeURL, visualFeatures));执行console.log(caption)将返回以下JSON对象:
{
"categories": [
{
"name": "others_",
"score": 0.15625
}
],
"requestId": "5a24115f-8095-4a77-8aa9-2d719dce99e6",
"metadata": {
"width": 500,
"height": 500,
"format": "Jpeg"
}
}计算机视觉服务肯定可以工作,因为如果我将方法从analyzeImageInStream更改为describeImageInStream和remove,那么我会得到适当的响应。
为了测试,我一直在使用这个图像here,并使用计算机视觉的Demo。演示程序返回颜色信息,但我的API调用不返回。
任何帮助都将不胜感激。
发布于 2020-08-30 12:01:26
根据这份文档,你应该把参数放在你的url里。https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts/javascript-analyze
const urlBase = "https://....cognitiveservices.azure.com/vision/v3.0/analyze";
var params = {
"visualFeatures": "Categories,Description,Color",
"details": "",
"language": "en",
};
$.ajax({
url: uriBase + "?" + $.param(params),
// Request headers.
beforeSend: function(xhrObj){
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader(
"Ocp-Apim-Subscription-Key", subscriptionKey);
},
type: "POST",
// Request body.
data: '{"url": ' + '"' + sourceImageUrl + '"}',
}) .done(function(data) {
// Show formatted JSON on webpage.
callYourFunction(data);
})https://stackoverflow.com/questions/63653228
复制相似问题