javascript - 无法使用 Microsoft 的计算机视觉获得图像的主色
问题描述
我一直在这个问题上停留了一段时间。我正在尝试使用 Microsoft 的计算机视觉服务获得图像的主色。我的代码摘录如下:
import {VisualFeatureTypes} from "@azure/cognitiveservices-computervision/esm/models";
...
let visualFeatures: VisualFeatureTypes[] = ['Color'];
const caption = (await computerVisionClient.analyzeImageInStream(describeURL, visualFeatures));
执行 aconsole.log(caption)
返回以下 JSON 对象:
{
"categories": [
{
"name": "others_",
"score": 0.15625
}
],
"requestId": "5a24115f-8095-4a77-8aa9-2d719dce99e6",
"metadata": {
"width": 500,
"height": 500,
"format": "Jpeg"
}
}
计算机视觉服务肯定有效,因为如果我将方法从analyzeImageInStream
todescribeImageInStream
和 remove 更改,那么我会得到适当的响应。
为了测试,我一直在这里使用这张图片,并使用计算机视觉的演示。该演示返回颜色信息,但我的 API 调用没有。
任何帮助将不胜感激。
解决方案
根据此文档,您应该将参数放在您的网址中。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);
})
推荐阅读
- sql - 消息 240,锚点和列中的递归部分之间的类型不匹配
- java - 为什么我编码错误,geotools create shapefile chinese setAttribute error
- kotlin - 通过 vert.x 发送文件作为响应的表达式的名称是什么
- python - 如何消除导入文本的一部分
- reactjs - 导入默认导出未定义
- symfony - Symfony 4登录表单:认证成功,但重定向后认证立即丢失
- .net - 安装 Windows 服务时 Topshelf 抛出错误
- c++ - 为什么擦除命令会结束我的 while 循环?
- installation - 黑板安装
- python - AttributeError:“NoneType”对象没有属性“find_all”?