首页 > 解决方案 > 如何修复“ComputerVisionErrorException:操作返回无效状态代码‘PermissionDenied’”

问题描述

ComputerVisionErrorException: Operation returned an invalid status code 'PermissionDenied'在尝试通过传递参数来分析图像时得到,如果我将输入作为变量提供,则没有错误。请帮助将输入作为变量。

path = raw_input("enter path: ")

# --snip--

with open(os.path.join(IMAGES_FOLDER, path), "rb") as image_stream:

# --snip--

它工作正常。但我正在尝试使用:

path = sys.argv[1]

但是,我收到上面的错误。我希望它像输入一样正常工作。

标签: pythoniocomputer-visionazure-cognitive-services

解决方案


安装适用于 Python 的 Azure 认知服务计算机视觉 SDK 并使用 SDK 进行查询

pip install azure-cognitiveservices-vision-computervision

验证

创建计算机视觉资源后,您需要其端点及其帐户密钥之一来实例化客户端对象。

当您创建 ComputerVisionClient 客户端对象的实例时使用这些值。

创建客户端

从环境变量中获取端点和密钥,然后创建 ComputerVisionClient 客户端对象。

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

# Get endpoint and key from environment variables
import os
endpoint = os.environ['ACCOUNT_ENDPOINT']
key = os.environ['ACCOUNT_KEY']

# Set credentials
credentials = CognitiveServicesCredentials(key)

# Create client
client = ComputerVisionClient(endpoint, credentials)

分析图像

您可以使用 analyze_image 分析图像的某些特征。使用 visual_features 属性设置要对图像执行的分析类型。常用值是 VisualFeatureTypes.tags 和 VisualFeatureTypes.description。

url = "https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Broadway_and_Times_Square_by_night.jpg/450px-Broadway_and_Times_Square_by_night.jpg"

image_analysis = client.analyze_image(url,visual_features=[VisualFeatureTypes.tags])

for tag in image_analysis.tags:
    print(tag)

请访问此处以供参考。

希望能帮助到你。


推荐阅读