برنامه افزودنی Google Cloud Vision

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

نسخه: 1.2.0

با استفاده از مدل‌های یادگیری ماشین، محتوا و متن را در تصاویر کشف کنید.

این محتوا مرجعی برای پیکربندی و استفاده از این پسوند ارائه می دهد. قبل از استفاده از این پسوند از یک پروکسی API، باید:

  1. Cloud Vision API را برای حساب سرویس خود فعال کنید .

  2. اگر از فضای ذخیره‌سازی ابری به‌عنوان منبع تصاویر خود استفاده می‌کنید، باید همانطور که در مرجع افزونه Google Cloud Storage توضیح داده شده است، به Cloud Storage اجازه دسترسی به این برنامه افزودنی بدهید.

  3. وقتی یک حساب سرویس دارید که مجوز Cloud Vision (و Cloud Storage، اگر از آن استفاده می کنید) دارد، از کنسول GCP برای ایجاد یک کلید برای حساب سرویس استفاده کنید .

  4. هنگام افزودن و پیکربندی پسوند با استفاده از مرجع پیکربندی، از محتویات فایل JSON کلید حاصل استفاده کنید.

درباره Cloud Vision

Google Cloud Vision API از مدل های یادگیری ماشین برای تجزیه و تحلیل تصاویر استفاده می کند. می‌توانید مدلی را برای API آموزش دهید تا از مدل داخلی استفاده کند یا از آن استفاده کند .

با استفاده از مدل داخلی، Cloud Vision تصاویر را به دسته‌هایی مانند «آسمان‌خراش»، قایق بادبانی، «شیر» یا «برج ایفل» طبقه‌بندی می‌کند. اشیاء، چهره‌ها، آرم‌ها و نشانه‌ها را در تصاویر شناسایی می‌کند و کلمات موجود در داخل آن را تعیین می‌کند. تصاویر

نمونه ها

مثال‌های زیر نحوه پیکربندی پشتیبانی برای اقدامات برنامه افزودنی Cloud Vision را با استفاده از خط‌مشی ExtensionCallout نشان می‌دهند.

شناسایی برچسب ها

در مثال زیر، اکشن detectLabels برنامه افزودنی تصویر را در image_uri دریافت می‌کند و آن را برای تجزیه و تحلیل به Cloud Vision API ارسال می‌کند. 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>

خط مشی Assign Message زیر از مقدار متغیری که پاسخ برنامه افزودنی را ذخیره می کند برای اختصاص بار پاسخ استفاده می کند.

<?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
      }
  ]
}

تشخیص متن

در مثال زیر، اقدام extensions detectText تصویر را در image_uri دریافت می کند و آن را برای تجزیه و تحلیل به Cloud Vision API ارسال می کند. 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>

خط مشی Assign Message زیر از مقدار متغیری که پاسخ برنامه افزودنی را ذخیره می کند برای اختصاص بار پاسخ استفاده می کند.

<?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
                  }
              ]
          }
      }
   ]
}

اقدامات

شناسایی برچسب ها

اطلاعات موجودات موجود در تصویر مشخص شده را شناسایی و استخراج می کند. موجودیت های شناسایی شده در گروه وسیعی از دسته بندی ها قرار دارند. به عنوان مثال، از این عمل برای شناسایی اشیا، مکان ها، فعالیت ها، گونه های جانوری، محصولات و موارد دیگر استفاده کنید.

همچنین، حتماً مستندات Cloud Vision API را ببینید.

درخواست پارامترها

پارامتر توضیحات تایپ کنید پیش فرض مورد نیاز
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

متن را از تصویر مشخص شده شناسایی و استخراج می کند.

درخواست پارامترها

پارامتر توضیحات تایپ کنید پیش فرض مورد نیاز
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 از متن شناسایی شده است. برای اطلاعات بیشتر، به شناسایی برچسب‌ها مراجعه کنید.

مرجع پیکربندی

هنگام پیکربندی و استقرار این افزونه برای استفاده در پراکسی های API از موارد زیر استفاده کنید. برای مراحل پیکربندی یک برنامه افزودنی با استفاده از کنسول Apigee، به افزودن و پیکربندی یک برنامه افزودنی مراجعه کنید.

ویژگی های رایج پسوند

ویژگی های زیر برای هر افزونه وجود دارد.

ویژگی شرح پیش فرض ضروری
name نامی که به این پیکربندی افزونه می‌دهید. هیچ یک آره
packageName نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. هیچ یک آره
version شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. هیچ یک آره
configuration مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید هیچ یک آره