我正在尝试开发一个需要知道图像中标记对象位置的应用程序。知道图像中有“钢琴”是不够的,我需要知道钢琴在图像中的位置。
Microsoft的Computer Vision API和Google的Cloud Vision API都提供了某种形式的裁剪建议/智能缩略图生成服务,这使我认为某些对象的位置正在被检测到 - 但是有一种方法可以获取该信息(如从Microsoft的Computer Vision API或Google的Cloud Vision API开始,每个检测到的对象周围都有一个边界框?
编辑:据我所知,这两个API都可以返回图片中检测到的面部位置,但我正在查找图片中每个对象的位置和大小:汽车,钢琴,树木,人物...任何东西。
答案 0 :(得分:0)
Microsoft Vision API不会为检测到的对象提供像素坐标(请参阅返回要素:https://dev.projectoxford.ai/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa)。
但是,如果要检测人员,Microsoft API可以返回面部矩形的坐标。
答案 1 :(得分:0)
我目前还不知道任何为您提供对象坐标的API。我建议使用的是YOLO,它为您提供了对象的坐标。您可以使用预先训练的模型或训练自己的模型。
但是,它不是API,您必须编写一些后端代码才能远程运行。
答案 2 :(得分:0)
希望这可以帮助您 https://azure.microsoft.com/en-in/services/cognitive-services/computer-vision/
API:
url:- (In POST) https://{yourvisionapp}.cognitiveservices.azure.com/vision/v2.0/detect
headers:- Content-Type: application/json
Ocp-Apim-Subscription-Key : {yourSubscriptionKey}
body:- {"url":"yoururl"}
样本响应:-
{
"objects": [
{
"rectangle": {
"x": 460,
"y": 79,
"w": 141,
"h": 258
},
"object": "window",
"confidence": 0.508
},
{
"rectangle": {
"x": 180,
"y": 240,
"w": 299,
"h": 182
},
"object": "Billiard table",
"confidence": 0.635,
"parent": {
"object": "table",
"confidence": 0.676
}
},
{
"rectangle": {
"x": 8,
"y": 11,
"w": 497,
"h": 416
},
"object": "room",
"confidence": 0.547
}
],
"requestId": "f8aafd95-d17d-4088-a34b-ad616f9cde4a",
"metadata": {
"width": 640,
"height": 427,
"format": "Jpeg"
}
}
答案 3 :(得分:0)
2020更新:
这个问题已有几年历史了,但是Microsoft Azure Computer Vision API现在能够在图像中检测到的对象周围绘制边框。 Here is a sample in Python。其他语言也可用。
计算机视觉文档:https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/
Computer Vision SDK:https://docs.microsoft.com/en-us/python/api/azure-cognitiveservices-vision-computervision/?view=azure-python