簡體   English   中英

Azure認知服務-Vision API一次調用導致9筆交易

[英]Azure Cognitive Services - Vision API single call results in 9 transactions

我正在使用下面的方法來檢測圖像中的文本。 但是,一次執行此方法將在我的Azure儀表板中產生9個事務。 如果我缺少什么可以請人指導嗎? 還是代碼有什么問題?

public async Task<IActionResult> ConvertToText(string url)
        {
            string subscriptionKey = "jfh3879rhf4389terhkjy86";

            ComputerVisionClient computerVision = new ComputerVisionClient(
                new ApiKeyServiceClientCredentials(subscriptionKey),
                new System.Net.Http.DelegatingHandler[] { });

            // Specify the Azure region
            computerVision.Endpoint = "https://westcentralus.api.cognitive.microsoft.com";


            if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
            {
                return null;
            }

            TextRecognitionMode textRecognitionMode = TextRecognitionMode.Printed;
            int numberOfCharsInOperationId = 36;

            // Start the async process to recognize the text
            RecognizeTextHeaders textHeaders =
                await computerVision.RecognizeTextAsync(url, textRecognitionMode);

            // Retrieve the URI where the recognized text will be
            // stored from the Operation-Location header
            string operationId = textHeaders.OperationLocation.Substring(
                textHeaders.OperationLocation.Length - numberOfCharsInOperationId);

            TextOperationResult result =
                await computerVision.GetTextOperationResultAsync(operationId);

            // Wait for the operation to complete
            int i = 0;
            int maxRetries = 10;
            while ((result.Status == TextOperationStatusCodes.Running ||
                    result.Status == TextOperationStatusCodes.NotStarted) && i++ < maxRetries)
            {
                Console.WriteLine("Server status: {0}, waiting {1} seconds...", result.Status, i);
                await Task.Delay(1000);

                result = await computerVision.GetTextOperationResultAsync(operationId);
            }

            // Display the results
            var lines = result.RecognitionResult.Lines;
            string details = "";

            foreach (Line line in lines)
            {
                details += line.Text + Environment.NewLine;
            }

            return Content(details);
        }

謝謝。

取自“ 認知服務”定價頁面

什么是計算機視覺API的交易?
對於“識別文本”,每個POST調用都計為一個事務。 用於查看異步服務結果的所有GET調用均計為事務,但免費。

我的猜測是“問題”在while語句中,因為您正在(可能)仍在運行作業時獲得結果。 在完成工作之前,您可能已經獲得了幾次狀態。 好消息:這些API調用是免費的。

我看到您的代碼與快速入門中的代碼相同:使用Computer Vision SDK和C#提取文本 ,因此應該可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM