إضافة Google Cloud Vision

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

الإصدار: 1.4.1

استكشِف المحتوى والنص في الصور باستخدام نماذج تعلُّم الآلة.

يوفر هذا المحتوى مرجعًا لضبط هذه الإضافة واستخدامها. قبل استخدام هذه الإضافة من خادم وكيل لواجهة برمجة التطبيقات، يجب:

  1. فعِّل Cloud Vision API لحساب الخدمة.

  2. إذا كنت ستستخدم Cloud Storage كمصدر لصورك، عليك أيضًا منح إذن الوصول إلى هذه الإضافة إلى Cloud Storage كما هو موضَّح في مرجع إضافة Google Cloud Storage.

  3. إذا كان لديك حساب خدمة حاصل على إذن لاستخدام Cloud Vision (وCloud Storage، إذا كنت تستخدمه)، يمكنك استخدام وحدة تحكّم GCP لإنشاء مفتاح لحساب الخدمة.

  4. استخدِم محتوى ملف JSON للمفتاح الناتج عند تثبيت الإضافة وضبطها باستخدام مرجع الإعدادات.

لمحة عن Cloud Vision

تستخدم Google Cloud Vision API نماذج تعلُّم الآلة لتحليل الصور. يمكنك تدريب نموذج لواجهة برمجة التطبيقات من أجل استخدامه أو استخدام النموذج المدمج.

باستخدام النموذج المدمَج، تصنِّف Cloud Vision الصور إلى فئات مثل "ناطحة سحاب" أو "قارب شراعي" أو "أسد" أو "برج إيفل". ويكتشف العناصر والوجوه والشعارات والمعالم داخل الصور ويحدِّد موقع الكلمات المضمّنة في الصور.

عيّنات

توضّح الأمثلة التالية كيفية ضبط دعم إجراءات إضافات Cloud Vision باستخدام سياسة ExtensionCallout.

رصد التصنيفات

في المثال التالي، يحصل الإجراء detectLabels للإضافة على الصورة في image_uri ويمرّرها إلى Cloud Vision API لتحليلها. ستفحص واجهة برمجة التطبيقات الصورة وتحدّد التصنيفات التي تنطبق على محتوى الصورة.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Extension">
    <DisplayName>Cloud Vision Extension</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectLabels</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
    }
    ]]></Input>
    <Output>vision.labels.retrieved</Output>
</ConnectorCallout>

تستخدم سياسة تعيين الرسالة التالية قيمة المتغيّر الذي يخزِّن استجابة الإضافة لتحديد حمولة الاستجابة.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Labels">
    <DisplayName>Get Image Labels</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.labels.retrieved}</Payload>
    </Set>
</AssignMessage>

بالنظر إلى صورة لمدينة تضمّ مبنى شاهق جدًا، قد تتلقّى ردًا على النحو التالي:

{
  "labels": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/0j_s4",
          "locale": "",
          "description": "metropolitan area",
          "score": 0.9868549704551697,
          "confidence": 0,
          "topicality": 0.9868549704551697,
          "boundingPoly": null
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "/m/079cl",
          "locale": "",
          "description": "skyscraper",
          "score": 0.966157853603363,
          "confidence": 0,
          "topicality": 0.966157853603363,
          "boundingPoly": null
      }
  ]
}

التعرّف التلقائي على النص

في المثال التالي، يحصل إجراء الإضافات detectText على الصورة في image_uri ويمررها إلى Cloud Vision API لتحليلها. ستفحص واجهة برمجة التطبيقات الصورة وتحدّد النص في الصورة.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Cloud-Vision-Text">
    <DisplayName>Cloud Vision Text</DisplayName>
    <Connector>cloud-vision-extension-example</Connector>
    <Action>detectText</Action>
    <Input><![CDATA[
    {
        "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
    }
    ]]></Input>
    <Output>vision.text.retrieved</Output>
</ConnectorCallout>

تستخدم سياسة تعيين الرسالة التالية قيمة المتغيّر الذي يخزِّن استجابة الإضافة لتحديد حمولة الاستجابة.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Image-Text">
    <DisplayName>Get Image Text</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{vision.text.retrieved}</Payload>
    </Set>
</AssignMessage>

بالنظر إلى صورة تحتوي على علامات في سجل موقف السيارات، قد تتلقى ردًا مثل ما يلي:

{
  "text": [
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "en",
          "description": "RESERVED\nVISITORPARKING\nPARKING\nONLY>\n$150 FINE\n",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 64,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 218
                  },
                  {
                      "x": 64,
                      "y": 218
                  }
              ]
          }
      },
      {
          "locations": [

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "",
          "description": "RESERVED",
          "score": 0,
          "confidence": 0,
          "topicality": 0,
          "boundingPoly": {
              "vertices": [
                  {
                      "x": 243,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 56
                  },
                  {
                      "x": 378,
                      "y": 84
                  },
                  {
                      "x": 243,
                      "y": 84
                  }
              ]
          }
      }
   ]
}

المهام

detectLabels

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

واحرص أيضًا على الاطّلاع على وثائق واجهة برمجة التطبيقات Cloud Vision API.

مَعلمات الطلب

المَعلمة الوصف Type تلقائي مطلوبة
image_uri مصدر الصورة يمكن أن يكون هذا من الإنترنت أو Google Cloud Storage (التنسيق: gs://bucketname/filename). إذا كان المصدر هو Google Cloud Storage، يجب أن يكون ملف الصورة علنيًا. سلسلة بلا عُري نعم.

البنية

<Input><![CDATA[{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

مثال

في المثال التالي، يُرسِل الإجراء detectLabels للإضافة الصورة المحدّدة إلى Vision API لتحليلها.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/empire-state-building.jpg"
}
]]></Input>

الإجابة

عنصر يحتوي على مصفوفة labels من التصنيفات التي تمثل الكيانات التي تم رصدها داخل الصورة. لمزيد من المعلومات، يُرجى الاطّلاع على رصد التصنيفات.

detectText

ترصد هذه الصورة النصّ واستخراجه من الصورة المحدّدة.

مَعلمات الطلب

المَعلمة الوصف Type تلقائي مطلوبة
image_uri مصدر الصورة يمكن أن يكون هذا من الإنترنت أو Google Cloud Storage (التنسيق: gs://bucketname/filename). إذا كان المصدر هو Google Cloud Storage، يجب أن يكون ملف الصورة علنيًا. سلسلة بلا عُري نعم.

البنية

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-to-analyze"
}
]]></Input>

مثال

في المثال التالي، يُرسِل الإجراء detectText للإضافة الصورة المحدّدة إلى Vision API لتحليلها.

<Input><![CDATA[
{
    "image_uri" : "gs://cloud-vision-example/parking-signs1.jpg"
}
]]></Input>

الإجابة

عنصر يحتوي على مصفوفة text من النص الذي تم رصده لمزيد من المعلومات، يُرجى الاطّلاع على رصد التصنيفات.

مرجع التكوين

استخدِم ما يلي عند ضبط هذه الإضافة ونشرها للاستخدام في الخوادم الوكيلة لواجهة برمجة التطبيقات. لمعرفة خطوات إعداد إضافة باستخدام وحدة تحكُّم Apigee، يُرجى الاطّلاع على إضافة إضافة وضبطها.

خصائص الإضافات الشائعة

السمات التالية متاحة لكل إضافة.

الموقع الوصف تلقائي عنصر مطلوب
name الاسم الذي تُعطِه هذه الإضافة من الإضافات. لا ينطبق متوافق
packageName اسم حزمة الإضافة كما هو مُوضَّح من Apigee Edge. لا ينطبق متوافق
version رقم إصدار حزمة الإضافة التي تجري عملية إعداد الإضافة منها. لا ينطبق متوافق
configuration قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه لا ينطبق متوافق