التشغيل السريع: تحليل الصور

ابدأ باستخدام واجهة برمجة تطبيقات REST لتحليل الصور أو مكتبات العميل لإعداد برنامج نصي أساسي لوضع علامات على الصور. توفر لك خدمة تحليل الصور خوارزميات الذكاء الاصطناعي لمعالجة الصور وإعادة المعلومات عن ميزاتها المرئية. اتبع هذه الخطوات لتثبيت حزمة للتطبيق الخاص بك وتجربة نموذج التعليمات البرمجية.

استخدم مكتبة العميل لتحليل الصور لـ C# لتحليل صورة لعلامات المحتوى. يحدد التشغيل السريع المُشار إليه أسلوب، AnalyzeImageUrl، الذي يستخدم عنصر العميل لتحليل صورة بعيدة وطباعة النتائج.

الوثائق المرجعية | التعليمات البرمجية لمصدر المكتبة | حزمة (NuGet) | نماذج

تلميح

يمكنك أيضًا تحليل صورة محلية. راجع أساليب ComputerVisionClient مثل AnalyzeImageInStreamAsync. أو راجع نموذج التعليمات البرمجية على GitHub لمعرفة السيناريوهات التي تتضمن صورًا محلية.

تلميح

يمكن أن تتولى واجهة برمجة التطبيقات Analyze بعدة عمليات مختلفة بخلاف إنشاء علامات الصور. راجع الدليل الإرشادي لتحليل الصور للاطلاع على الأمثلة التي تعرض جميع الميزات المتوفرة.

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • إصدار Visual Studio IDE أو الإصدار الحالي من .NET Core.
  • بمجرد أن يكون لديك اشتراك Azure، قم بإنشاء مورد Computer Vision في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. بعد انتشاره، حدد "Go to resource".
    • تحتاج إلى المفتاح ونقطة النهاية من المورد الذي تقوم بإنشائه لتوصيل التطبيق الخاص بك بخدمة Azure الذكاء الاصطناعي Vision.
    • يمكنك استخدام مستوى التسعير الحر (F0) لتجربة الخدمة، والترقية لاحقًا إلى مستوى مدفوع للإنتاج.

إنشاء متغيرات البيئة

في هذا المثال، اكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.

انتقل إلى مدخل Azure. إذا تم نشر المورد الذي أنشأته في قسم المتطلبات الأساسية بنجاح، فحدد الانتقال إلى المورد ضمن الخطوات التالية. يمكنك العثور على المفتاح ونقطة النهاية ضمن إدارة الموارد في صفحة المفاتيح ونقطة النهاية. مفتاح المورد الخاص بك ليس هو نفسه معرف اشتراك Azure الخاص بك.

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.

لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  1. لتعيين VISION_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.
  2. لتعيين VISION_ENDPOINT متغير البيئة، استبدل your-endpoint بنقطة النهاية للمورد الخاص بك.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستقرأ متغيرات البيئة، بما في ذلك نافذة وحدة التحكم.

تحليل الصورة

  1. إنشاء تطبيق C# جديد.

    باستخدام Visual Studio، قم بإنشاء تطبيق .NET Core جديد.

    تثبيت مكتبة العميل

    بمجرد إنشاء مشروع جديد، تثبيت مكتبة العميل بالنقر بزر الماوس الأيمن فوق حل المشروع في "Solution Explorer" وتحديد "Manage NuGet Packages". في إدارة الحزمة التي يتم فتحها، حدد تصفح، وحدد تضمين الإصدار التجريبي، وابحث عن Microsoft.Azure.CognitiveServices.Vision.ComputerVision. حدد الإصدار 7.0.0، ثم حدد Install.

  2. من دليل المشروع، افتح الملف ⁧⁧Program.cs في المحرر المفضل لديك أو IDE. ألصق التعليمات البرمجية الآتية:

    using System;
    using System.Collections.Generic;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
    using System.Threading.Tasks;
    using System.IO;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System.Threading;
    using System.Linq;
    
    namespace ComputerVisionQuickstart
    {
        class Program
        {
            // Add your Computer Vision key and endpoint
            static string key = Environment.GetEnvironmentVariable("VISION_KEY");
            static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT");
    
            // URL image used for analyzing an image (image of puppy)
            private const string ANALYZE_URL_IMAGE = "https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                // Create a client
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Analyze an image to get features and other properties.
                AnalyzeImageUrl(client, ANALYZE_URL_IMAGE).Wait();
            }
    
            /*
             * AUTHENTICATE
             * Creates a Computer Vision client used by each example.
             */
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
           
            public static async Task AnalyzeImageUrl(ComputerVisionClient client, string imageUrl)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("ANALYZE IMAGE - URL");
                Console.WriteLine();
    
                // Creating a list that defines the features to be extracted from the image. 
    
                List<VisualFeatureTypes?> features = new List<VisualFeatureTypes?>()
                {
                    VisualFeatureTypes.Tags
                };
    
                Console.WriteLine($"Analyzing the image {Path.GetFileName(imageUrl)}...");
                Console.WriteLine();
                // Analyze the URL image 
                ImageAnalysis results = await client.AnalyzeImageAsync(imageUrl, visualFeatures: features);
    
                // Image tags and their confidence score
                Console.WriteLine("Tags:");
                foreach (var tag in results.Tags)
                {
                    Console.WriteLine($"{tag.Name} {tag.Confidence}");
                }
                Console.WriteLine();
            }
        }
    }
    

    هام

    تذكر إزالة المفتاح من التعليمة البرمجية عند الانتهاء، وعدم توزيعها علناً. للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي للحصول على مزيد من المعلومات.

  3. شغّل التطبيق

    قم بتشغيل التطبيق بنقر الزر Debug أعلى نافذة IDE.


المخرجات

----------------------------------------------------------
ANALYZE IMAGE - URL

Analyzing the image sample16.png...

Tags:
grass 0.9957543611526489
dog 0.9939157962799072
mammal 0.9928356409072876
animal 0.9918001890182495
dog breed 0.9890419244766235
pet 0.974603533744812
outdoor 0.969241738319397
companion dog 0.906731367111206
small greek domestic dog 0.8965123891830444
golden retriever 0.8877675533294678
labrador retriever 0.8746421337127686
puppy 0.872604250907898
ancient dog breeds 0.8508287668228149
field 0.8017748594284058
retriever 0.6837497353553772
brown 0.6581960916519165

تنظيف الموارد

إذا كنت ترغب في تنظيف اشتراك خدمات Azure الذكاء الاصطناعي وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

في التشغيل السريع هذا، تعلمت كيفية تثبيت مكتبة عميل تحليل الصور وإجراء مكالمات تحليل الصور الأساسية. بعد ذلك، تعرف على المزيد عن ميزات واجهة برمجة التطبيقات التحليلية.

استخدم مكتبة العميل لتحليل الصور لـ Python لتحليل صورة بعيدة لعلامات المحتوى.

تلميح

يمكنك أيضًا تحليل صورة محلية. راجع أساليب ComputerVisionClientOperationsMixin مثل analyze_image_in_stream. أو راجع نموذج التعليمات البرمجية على GitHub لمعرفة السيناريوهات التي تتضمن صورًا محلية.

تلميح

يمكن أن تتولى واجهة برمجة التطبيقات Analyze بعدة عمليات مختلفة بخلاف إنشاء علامات الصور. راجع الدليل الإرشادي لتحليل الصور للاطلاع على الأمثلة التي تعرض جميع الميزات المتوفرة.

Reference documentation | Library source code | Package (PiPy) | Samples

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً

  • Python 3.x

    • يجب أن يتضمن تثبيت Python خاصتك pip. يمكنك التحقق مما إذا كانت لديك نقطة مثبتة عن طريق تشغيل pip --version على سطر الأوامر. الحصول على نقطة عن طريق تثبيت أحدث إصدار من Python.
  • بمجرد أن يكون لديك اشتراك Azure، قم بإنشاء مورد Vision في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. بعد انتشاره، حدد "Go to resource".

    • تحتاج إلى المفتاح ونقطة النهاية من المورد الذي تقوم بإنشائه لتوصيل التطبيق الخاص بك بخدمة Azure الذكاء الاصطناعي Vision.
    • يمكنك استخدام مستوى التسعير الحر (F0) لتجربة الخدمة، والترقية لاحقًا إلى مستوى مدفوع للإنتاج.

إنشاء متغيرات البيئة

في هذا المثال، اكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.

انتقل إلى مدخل Azure. إذا تم نشر المورد الذي أنشأته في قسم المتطلبات الأساسية بنجاح، فحدد الانتقال إلى المورد ضمن الخطوات التالية. يمكنك العثور على المفتاح ونقطة النهاية ضمن إدارة الموارد في صفحة المفاتيح ونقطة النهاية. مفتاح المورد الخاص بك ليس هو نفسه معرف اشتراك Azure الخاص بك.

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.

لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  1. لتعيين VISION_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.
  2. لتعيين VISION_ENDPOINT متغير البيئة، استبدل your-endpoint بنقطة النهاية للمورد الخاص بك.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستقرأ متغيرات البيئة، بما في ذلك نافذة وحدة التحكم.

تحليل الصورة

  1. ثبت مكتبة العميل.

    يمكنك تثبيت مكتبة العميل باستخدام:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    

    أيضًا تثبيت مكتبة Pillow.

    pip install pillow
    
  2. أنشئ تطبيق Python جديد.

    أنشئ ملف Python جديد —quickstart-file.py، على سبيل المثال.

  3. افتح quickstart-file.py في محرر نص أو بيئة التطوير المتكامل وألصق التعليمات البرمجية الآتية.

    from azure.cognitiveservices.vision.computervision import ComputerVisionClient
    from azure.cognitiveservices.vision.computervision.models import OperationStatusCodes
    from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes
    from msrest.authentication import CognitiveServicesCredentials
    
    from array import array
    import os
    from PIL import Image
    import sys
    import time
    
    '''
    Authenticate
    Authenticates your credentials and creates a client.
    '''
    subscription_key = os.environ["VISION_KEY"]
    endpoint = os.environ["VISION_ENDPOINT"]
    
    computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))
    '''
    END - Authenticate
    '''
    
    '''
    Quickstart variables
    These variables are shared by several examples
    '''
    # Images used for the examples: Describe an image, Categorize an image, Tag an image, 
    # Detect faces, Detect adult or racy content, Detect the color scheme, 
    # Detect domain-specific content, Detect image types, Detect objects
    images_folder = os.path.join (os.path.dirname(os.path.abspath(__file__)), "images")
    remote_image_url = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg"
    '''
    END - Quickstart variables
    '''
    
    
    '''
    Tag an Image - remote
    This example returns a tag (key word) for each thing in the image.
    '''
    print("===== Tag an image - remote =====")
    # Call API with remote image
    tags_result_remote = computervision_client.tag_image(remote_image_url )
    
    # Print results with confidence score
    print("Tags in the remote image: ")
    if (len(tags_result_remote.tags) == 0):
        print("No tags detected.")
    else:
        for tag in tags_result_remote.tags:
            print("'{}' with confidence {:.2f}%".format(tag.name, tag.confidence * 100))
    print()
    '''
    END - Tag an Image - remote
    '''
    print("End of Computer Vision quickstart.")
    
  4. شغّل التطبيق باستخدام الأمر python المُتاح على ملف التشغيل السريع.

    python quickstart-file.py
    

المخرجات

===== Tag an image - remote =====
Tags in the remote image:
'outdoor' with confidence 99.00%
'building' with confidence 98.81%
'sky' with confidence 98.21%
'stadium' with confidence 98.17%
'ancient rome' with confidence 96.16%
'ruins' with confidence 95.04%
'amphitheatre' with confidence 93.99%
'ancient roman architecture' with confidence 92.65%
'historic site' with confidence 89.55%
'ancient history' with confidence 89.54%
'history' with confidence 86.72%
'archaeological site' with confidence 84.41%
'travel' with confidence 65.85%
'large' with confidence 61.02%
'city' with confidence 56.57%

End of Azure AI Vision quickstart.

تنظيف الموارد

إذا كنت ترغب في تنظيف اشتراك خدمات Azure الذكاء الاصطناعي وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

في التشغيل السريع هذا، تعلمت كيفية تثبيت مكتبة عميل تحليل الصور وإجراء مكالمات تحليل الصور الأساسية. بعد ذلك، تعرف على المزيد عن ميزات واجهة برمجة التطبيقات التحليلية.

استخدم مكتبة العميل لتحليل الصور لتحليل صورة بعيدة للعلامات ووصف النص والوجوه ومحتوى البالغين والمزيد.

تلميح

يمكنك أيضًا تحليل صورة محلية. راجع أساليب ComputerVision مثل AnalyzeImage. أو راجع نموذج التعليمات البرمجية على GitHub لمعرفة السيناريوهات التي تتضمن صورًا محلية.

تلميح

يمكن أن تتولى واجهة برمجة التطبيقات Analyze بعدة عمليات مختلفة بخلاف إنشاء علامات الصور. راجع الدليل الإرشادي لتحليل الصور للاطلاع على الأمثلة التي تعرض جميع الميزات المتوفرة.

المرجع | رمز مصدر المكتبة |عينات من برنامج | (Maven)

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الإصدار الحالي من Java Development Kit (JDK)
  • أداة إنشاء Gradleأو مدير تبعية آخر.
  • بمجرد أن يكون لديك اشتراك Azure، قم بإنشاء مورد Vision في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. بعد انتشاره، حدد "Go to resource".
    • تحتاج إلى المفتاح ونقطة النهاية من المورد الذي تقوم بإنشائه لتوصيل التطبيق الخاص بك بخدمة Azure الذكاء الاصطناعي Vision.
    • يمكنك استخدام مستوى التسعير الحر (F0) لتجربة الخدمة، والترقية لاحقًا إلى مستوى مدفوع للإنتاج.

إنشاء متغيرات البيئة

في هذا المثال، اكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.

انتقل إلى مدخل Azure. إذا تم نشر المورد الذي أنشأته في قسم المتطلبات الأساسية بنجاح، فحدد الانتقال إلى المورد ضمن الخطوات التالية. يمكنك العثور على المفتاح ونقطة النهاية ضمن إدارة الموارد في صفحة المفاتيح ونقطة النهاية. مفتاح المورد الخاص بك ليس هو نفسه معرف اشتراك Azure الخاص بك.

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.

لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  1. لتعيين VISION_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.
  2. لتعيين VISION_ENDPOINT متغير البيئة، استبدل your-endpoint بنقطة النهاية للمورد الخاص بك.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستقرأ متغيرات البيئة، بما في ذلك نافذة وحدة التحكم.

تحليل الصورة

  1. قم بإنشاء مشروع Gradle جديد.

    في إطار نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، يمكنك إنشاء دليل جديد لتطبيقك وانتقل إليه.

    mkdir myapp && cd myapp
    

    بادر بتشغيل الأمر gradle init من دليل العمل خاصتك. سينشئ هذا الأمر ملفات بناء أساسية لـ Gradle، بما في ذلك build.gradle.kts، والذي يجري استخدامه في وقت التشغيل لإنشاء تطبيقك وتكوينه.

    gradle init --type basic
    

    عند طلب اختيار DSL، حدد Kotlin.

  2. ثبت مكتبة العميل.

    يستخدم هذا التشغيل السريع مدير تبعية Gradle. يمكنك العثور على مكتبة العميل ومعلومات مديري التبعية الآخرين على Maven Central Repository.

    حدد build.gradle.kts وافتحه باستخدام IDE أو محرر النص المفضل لديك. ثم انسخ في تكوين البناء التالي. يُعرّف هذا التكوين المشروع على أنه تطبيق Java التي تُعد نقطة دخوله هي الفئة ImageAnalysisQuickstart. يستورد مكتبة Azure الذكاء الاصطناعي Vision.

    plugins {
        java
        application
    }
    application { 
        mainClass.set("ImageAnalysisQuickstart")
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        implementation(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-computervision", version = "1.0.9-beta")
    }
    
  3. أنشئ ملف Java.

    من دليل العمل الخاص بك، قم بتشغيل الأمر التالي لإنشاء مجلد مصدر المشروع:

    mkdir -p src/main/java
    

    انتقل إلى المجلد الجديد وأنشِئ ملفاً باسم ImageAnalysisQuickstart.java.

  4. افتح ImageAnalysisQuickstart.java في محررك المفضل أو بيئة التطوير المتكامل وألصق التعليمات البرمجية الآتية.

    import com.microsoft.azure.cognitiveservices.vision.computervision.*;
    import com.microsoft.azure.cognitiveservices.vision.computervision.implementation.ComputerVisionImpl;
    import com.microsoft.azure.cognitiveservices.vision.computervision.models.*;
    
    import java.io.*;
    import java.nio.file.Files;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    public class ImageAnalysisQuickstart {
    
        // Use environment variables
        static String key = System.getenv("VISION_KEY");
        static String endpoint = System.getenv("VISION_ENDPOINT");
    
        public static void main(String[] args) {
            
            System.out.println("\nAzure Cognitive Services Computer Vision - Java Quickstart Sample");
    
            // Create an authenticated Computer Vision client.
            ComputerVisionClient compVisClient = Authenticate(key, endpoint); 
    
            // Analyze local and remote images
            AnalyzeRemoteImage(compVisClient);
    
        }
    
        public static ComputerVisionClient Authenticate(String key, String endpoint){
            return ComputerVisionManager.authenticate(key).withEndpoint(endpoint);
        }
    
    
        public static void AnalyzeRemoteImage(ComputerVisionClient compVisClient) {
            /*
             * Analyze an image from a URL:
             *
             * Set a string variable equal to the path of a remote image.
             */
            String pathToRemoteImage = "https://github.com/Azure-Samples/cognitive-services-sample-data-files/raw/master/ComputerVision/Images/faces.jpg";
    
            // This list defines the features to be extracted from the image.
            List<VisualFeatureTypes> featuresToExtractFromRemoteImage = new ArrayList<>();
            featuresToExtractFromRemoteImage.add(VisualFeatureTypes.TAGS);
    
            System.out.println("\n\nAnalyzing an image from a URL ...");
    
            try {
                // Call the Computer Vision service and tell it to analyze the loaded image.
                ImageAnalysis analysis = compVisClient.computerVision().analyzeImage().withUrl(pathToRemoteImage)
                        .withVisualFeatures(featuresToExtractFromRemoteImage).execute();
    
    
                // Display image tags and confidence values.
                System.out.println("\nTags: ");
                for (ImageTag tag : analysis.tags()) {
                    System.out.printf("\'%s\' with confidence %f\n", tag.name(), tag.confidence());
                }
            }
    
            catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        // END - Analyze an image from a URL.
    
    }
    
  5. انتقل مرة أخرى إلى المجلد الجذر للمشروع، وأنشئ التطبيق باستخدام:

    gradle build
    

    ثم، شغله باستخدام أمر gradle run:

    gradle run
    

المخرجات

Azure AI Vision - Java Quickstart Sample

Analyzing an image from a URL ...

Tags:
'person' with confidence 0.998895
'human face' with confidence 0.997437
'smile' with confidence 0.991973
'outdoor' with confidence 0.985962
'happy' with confidence 0.969785
'clothing' with confidence 0.961570
'friendship' with confidence 0.946441
'tree' with confidence 0.917331
'female person' with confidence 0.890976
'girl' with confidence 0.888741
'social group' with confidence 0.872044
'posing' with confidence 0.865493
'adolescent' with confidence 0.857371
'love' with confidence 0.852553
'laugh' with confidence 0.850097
'people' with confidence 0.849922
'lady' with confidence 0.844540
'woman' with confidence 0.818172
'group' with confidence 0.792975
'wedding' with confidence 0.615252
'dress' with confidence 0.517169

تنظيف الموارد

إذا كنت ترغب في تنظيف اشتراك خدمات Azure الذكاء الاصطناعي وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

في التشغيل السريع هذا، تعلمت كيفية تثبيت مكتبة عميل تحليل الصور وإجراء مكالمات تحليل الصور الأساسية. بعد ذلك، تعرف على المزيد عن ميزات واجهة برمجة التطبيقات التحليلية.

استخدم مكتبة العميل لتحليل الصور لـ JavaScript لتحليل صورة بعيدة لعلامات المحتوى.

تلميح

يمكنك أيضًا تحليل صورة محلية. راجع أساليب ComputerVisionClient، مثل describeImageInStream. أو راجع نموذج التعليمات البرمجية على GitHub لمعرفة السيناريوهات التي تتضمن صورًا محلية.

تلميح

يمكن أن تتولى واجهة برمجة التطبيقات Analyze بعدة عمليات مختلفة بخلاف إنشاء علامات الصور. راجع الدليل الإرشادي لتحليل الصور للاطلاع على الأمثلة التي تعرض جميع الميزات المتوفرة.

الوثائق المرجعية | التعليمات البرمجية لمصدر المكتبة | الحزمة (npm) | النماذج

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الإصدار الحالي من Node.js
  • بمجرد أن يكون لديك اشتراك Azure، قم بإنشاء مورد Vision في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. بعد انتشاره، حدد "Go to resource".
    • تحتاج إلى المفتاح ونقطة النهاية من المورد الذي تقوم بإنشائه لتوصيل التطبيق الخاص بك بخدمة Azure الذكاء الاصطناعي Vision.
    • يمكنك استخدام مستوى التسعير الحر (F0) لتجربة الخدمة، والترقية لاحقًا إلى مستوى مدفوع للإنتاج.

إنشاء متغيرات البيئة

في هذا المثال، اكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.

انتقل إلى مدخل Azure. إذا تم نشر المورد الذي أنشأته في قسم المتطلبات الأساسية بنجاح، فحدد الانتقال إلى المورد ضمن الخطوات التالية. يمكنك العثور على المفتاح ونقطة النهاية ضمن إدارة الموارد في صفحة المفاتيح ونقطة النهاية. مفتاح المورد الخاص بك ليس هو نفسه معرف اشتراك Azure الخاص بك.

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.

لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  1. لتعيين VISION_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.
  2. لتعيين VISION_ENDPOINT متغير البيئة، استبدل your-endpoint بنقطة النهاية للمورد الخاص بك.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستقرأ متغيرات البيئة، بما في ذلك نافذة وحدة التحكم.

تحليل الصورة

  1. إنشاء تطبيق Node.js جديد

    في إطار نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، يمكنك إنشاء دليل جديد لتطبيقك وانتقل إليه.

    mkdir myapp && cd myapp
    

    شغّل الأمر npm init لإنشاء تطبيق node باستخدام ملف package.json.

    npm init
    

    تثبيت مكتبة العميل

    تثبيت حزمة ms-rest-azure و @azure/cognitiveservices-computervision npm:

    npm install @azure/cognitiveservices-computervision
    

    بادر أيضاً بتثبيت الوحدة غير المتزامنة:

    npm install async
    

    تحديث ملف تطبيقك package.json باستخدام التبعيات.

    أنشئ ملف جديد، index.js.

  2. افتح index.js في محرر نص وألصق التعليمات البرمجية الآتية.

    'use strict';
    
    const async = require('async');
    const fs = require('fs');
    const https = require('https');
    const path = require("path");
    const createReadStream = require('fs').createReadStream
    const sleep = require('util').promisify(setTimeout);
    const ComputerVisionClient = require('@azure/cognitiveservices-computervision').ComputerVisionClient;
    const ApiKeyCredentials = require('@azure/ms-rest-js').ApiKeyCredentials;
    
    /**
     * AUTHENTICATE
     * This single client is used for all examples.
     */
    const key = process.env.VISION_KEY;
    const endpoint = process.env.VISION_ENDPOINT;
    
    
    const computerVisionClient = new ComputerVisionClient(
      new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);
    /**
     * END - Authenticate
     */
    
    
    function computerVision() {
      async.series([
        async function () {
    
          /**
           * DETECT TAGS  
           * Detects tags for an image, which returns:
           *     all objects in image and confidence score.
           */
          console.log('-------------------------------------------------');
          console.log('DETECT TAGS');
          console.log();
    
          // Image of different kind of dog.
          const tagsURL = 'https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png';
    
          // Analyze URL image
          console.log('Analyzing tags in image...', tagsURL.split('/').pop());
          const tags = (await computerVisionClient.analyzeImage(tagsURL, { visualFeatures: ['Tags'] })).tags;
          console.log(`Tags: ${formatTags(tags)}`);
    
          // Format tags for display
          function formatTags(tags) {
            return tags.map(tag => (`${tag.name} (${tag.confidence.toFixed(2)})`)).join(', ');
          }
          /**
           * END - Detect Tags
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  3. شغّل التطبيق باستخدام الأمر node المُتاح على ملف التشغيل السريع.

    node index.js
    

المخرجات

-------------------------------------------------
DETECT TAGS

Analyzing tags in image... sample16.png
Tags: grass (1.00), dog (0.99), mammal (0.99), animal (0.99), dog breed (0.99), pet (0.97), outdoor (0.97), companion dog (0.91), small greek domestic dog (0.90), golden retriever (0.89), labrador retriever (0.87), puppy (0.87), ancient dog breeds (0.85), field (0.80), retriever (0.68), brown (0.66)

-------------------------------------------------
End of quickstart.

تنظيف الموارد

إذا كنت ترغب في تنظيف اشتراك خدمات Azure الذكاء الاصطناعي وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

في التشغيل السريع هذا، تعلمت كيفية تثبيت مكتبة عميل تحليل الصور وإجراء مكالمات تحليل الصور الأساسية. بعد ذلك، تعرف على المزيد عن ميزات واجهة برمجة التطبيقات التحليلية.

استخدم واجهة برمجة تطبيقات REST لتحليل الصور لتحليل صورة لوضع علامة عليها.

تلميح

يمكن أن تتولى واجهة برمجة التطبيقات Analyze بعدة عمليات مختلفة بخلاف إنشاء علامات الصور. راجع الدليل الإرشادي لتحليل الصور للاطلاع على الأمثلة التي تعرض جميع الميزات المتوفرة.

إشعار

يستخدم هذا التشغيل السريع أوامر cURL لاستدعاء REST API. يمكنك أيضاً استدعاء REST API باستخدام لغة برمجة. راجع نماذج GitHub للحصول على أمثلة في #C وPython و Java وJavaScript.

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • بمجرد أن يكون لديك اشتراك Azure، قم بإنشاء مورد Vision في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. بعد انتشاره، حدد "Go to resource".
    • ستحتاج إلى المفتاح ونقطة النهاية من المورد الذي تقوم بإنشائه لتوصيل التطبيق الخاص بك بخدمة Azure الذكاء الاصطناعي Vision. ستلصق المفتاح ونقطة النهاية في التعليمات البرمجية أدناه لاحقًا في التشغيل السريع.
    • يمكنك استخدام مستوى التسعير الحر (F0) لتجربة الخدمة، والترقية لاحقًا إلى مستوى مدفوع للإنتاج.
  • cURL مُثبت

تحليل صورة

لتحليل صورة لمجموعة متنوعة من الميزات المرئية، اتبع الخطوات الآتية:

  1. نسخ الأمر التالي إلى محرر نص.

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/analyze?visualFeatures=Tags" -d "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
    
  2. قم بإجراء التغييرات التالية في الأمر عند الحاجة:

    1. استبدل القيمة <subscriptionKey> بمفتاحك.
    2. استبدال الجزء الأول من عنوان URL للطلب (westcentralus) بالنص في عنوان URL لنقطة النهاية الخاص بك.

      إشعار

      الموارد الجديدة التي تم إنشاؤها بعد 1 يوليو 2019 ستستخدم أسماء النطاقات الفرعية المخصصة. لمزيد من المعلومات وقائمة كاملة بنقاط النهاية الإقليمية، راجع أسماء النطاقات الفرعية المخصصة لخدمات Azure الذكاء الاصطناعي.

    3. اختياريًا، تغيير عنوان URL الصورة في نص الطلب (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) إلى URL صورة مختلفة لتحليلها.
  3. افتح نافذة موجه الأوامر.

  4. الصق الأمر الذي تم تحريره curl من محرر النص في نافذة موجه الأوامر، ثم قم بتشغيل الأمر.

فحص الاستجابة

تعود الاستجابة الناجحة في JSON. يحلل نموذج التطبيق ويعرض استجابة ناجحة في إطار موجه الأوامر، مشابهة للمثال التالي:

{{
   "tags":[
      {
         "name":"text",
         "confidence":0.9992657899856567
      },
      {
         "name":"post-it note",
         "confidence":0.9879657626152039
      },
      {
         "name":"handwriting",
         "confidence":0.9730165004730225
      },
      {
         "name":"rectangle",
         "confidence":0.8658561706542969
      },
      {
         "name":"paper product",
         "confidence":0.8561884760856628
      },
      {
         "name":"purple",
         "confidence":0.5961999297142029
      }
   ],
   "requestId":"2788adfc-8cfb-43a5-8fd6-b3a9ced35db2",
   "metadata":{
      "height":945,
      "width":1000,
      "format":"Jpeg"
   },
   "modelVersion":"2021-05-01"
}

الخطوات التالية

في التشغيل السريع المُشار إليه، تعلمت كيفية إجراء استدعاءات تحليل الصور الأساسية باستخدام واجهة برمجة تطبيقات REST. بعد ذلك، تعرف على المزيد عن ميزات واجهة برمجة التطبيقات التحليلية.