我正在使用 React Native 和 Google Vision api 制作对象检测应用程序。当我发送水平图像时,我的应用程序运行良好。但是如果我发送高分辨率垂直图像,api会发现像该图像是水平的对象。如果我发送低分辨率垂直图像,api也可以正常工作。
第一张图片的分辨率是6936x9248(实际上它在三星图库中显示为9248x6936,我不知道为什么),第二张图片的分辨率是750x1000(它在图库中也是750x1000)。
这里是视觉对两个图像的响应。
对于第一张图片: [{"mid":"/j/5qg9b8","name":"Packaged goods","score":0.5010282,"boundingPoly":{"normalizedVertices":[{"x":0.23222321,"y":0.45171654},{"x":0.7493964,"y":0.45171654},{"x":0.7493964,"y":0.5577906},{"x":0.23222321,"y":0.5577906}]}}]
对于第二张图片:[{"mid":"/j/5qg9b8","name":"Packaged goods","score":0.6785547,"boundingPoly":{"normalizedVertices":[{"x":0.43387607,"y":0.23372115},{"x":0.5493168,"y":0.23372115},{"x":0.5493168,"y":0.75314826},{"x":0.43387607,"y":0.75314826}]}},{"mid":"/m/01g317","name":"Person","score":0.53238875,"boundingPoly":{"normalizedVertices":[{"x":0.16410054,"y":0.65503424},{"x":0.6280196,"y":0.65503424},{"x":0.6280196,"y":0.9973958},{"x":0.16410054,"y":0.9973958}]}}]
如您所见,结果是不同的。至少光剑的位置必须相同。我不知道为什么,存在图像方向问题。
这是我发送到 Vision api 的请求:
await fetch(config.googleCloud.api + config.googleCloud.apiKey, {
method: 'POST',
body: JSON.stringify({
"requests": [
{
"image": {
"content": base64 of the image,
},
features: [
{ type: "OBJECT_LOCALIZATION", maxResults: 15 },
],
}
]
})
});
问题是我的要求吗?