Azure AI视觉 - 从图像中删除背景
#python #ai #csharp #azure

Cover

介绍

本文演示了如何使用图像分析4.0 API通过删除其背景来分割图像。您将学习如何通过服务进行身份验证以及如何同时使用REST API和客户端SDK完成此任务。

启动之前,您可以在Azure AI | Vision Studio

中测试该服务的此功能

ð·Background Removal in Vision Studio

先决条件

在进行本指南之前,请查看我以前的帖子,我在其中解释了此Azure AI Vision Service Post Azure AI Vision,然后确保您遵循Quickstart page中概述的步骤。这意味着:

  • 您已经了解了这种Azure AI服务。
  • 您获得了API键和端点URL。
  • 如果您使用的是客户端SDK,则安装了适当的SDK软件包和运行的QuickStart应用程序。
  • 如果您要进行Direct 4.0 REST API调用,则成功地将curl.exe调用到服务(或使用了替代工具)。

重要:仅在某些Azure地区(例如东美国,法国中部,韩国中部,北欧,东南亚,西欧,西欧和西美国)才能使用背景。

验证

Python

from azure.cognitiveservices.vision.computervision import ComputerVisionClient
from msrest.authentication import CognitiveServicesCredentials

subscription_key = "YOUR_SUBSCRIPTION_KEY"
endpoint = "YOUR_ENDPOINT_URL"

client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))

CSHARP

using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;

string subscriptionKey = "YOUR_SUBSCRIPTION_KEY";
string endpoint = "YOUR_ENDPOINT_URL";

ComputerVisionClient client = new ComputerVisionClient(new ApiKeyServiceClientCredentials(subscriptionKey))
{
    Endpoint = endpoint
};

REST API调用

curl -X POST "YOUR_ENDPOINT_URL/vision/v4.0/analyze?visualFeatures=BackgroundRemoval" \
     -H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY" \
     -H "Content-Type: application/json" \
     -d "{'url':'IMAGE_URL'}"

使用客户端SDK

Python

from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes

image_url = "YOUR_IMAGE_URL";

analysis = client.analyze_image_by_domain("BackgroundRemoval", image_url)
result = analysis.result

CSHARP

string imageUrl = "YOUR_IMAGE_URL";
var features = new List<VisualFeatureTypes?>() { VisualFeatureTypes.BackgroundRemoval };

var result = await client.AnalyzeImageAsync(imageUrl, features);

// The 'result' object will contain the image with the background removed

限制

  • 最大图像大小:4 MB
  • 支持的图像格式:JPEG,PNG,GIF,BMP
  • API呼叫限制:根据订阅计划而有所不同

演示

.NET中的控制台应用

我在github Here上共享存储库

Python中的Gradio Web应用

我在github Here上共享存储库

结论

背景删除是图像处理中的强大工具,在电子商务,摄影等应用程序中尤其有用。使用Azure的图像分析4.0 API,执行此任务现在比以往任何时候都更容易,更容易访问。

我希望这种解释非常有帮助!随时发表评论和问题。
ð直到下一次,社区