ส่วนขยาย Google Cloud Vision

คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เวอร์ชัน: 2.0.0

สำรวจเนื้อหาและข้อความในรูปภาพโดยใช้โมเดลแมชชีนเลิร์นนิง

เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ คุณต้องดำเนินการต่อไปนี้ก่อนใช้ส่วนขยายนี้จากพร็อกซี API

  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 ใช้โมเดลแมชชีนเลิร์นนิงเพื่อวิเคราะห์รูปภาพ คุณสามารถฝึกโมเดลเพื่อให้ API ใช้ หรือใช้โมเดลที่มีอยู่แล้วก็ได้

เมื่อใช้โมเดลในตัว Cloud Vision จะจัดหมวดหมู่รูปภาพเป็นหมวดหมู่ต่างๆ เช่น "ตึกระฟ้า" "เรือใบ" "สิงโต" หรือ "หอไอเฟล" โดยจะตรวจหาวัตถุ ใบหน้า โลโก้ และจุดสังเกตภายในรูปภาพ รวมถึงหาตำแหน่งของคำที่อยู่ในรูปภาพ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าการรองรับการดำเนินการของส่วนขยาย Cloud Vision โดยใช้นโยบาย ExtensionCallout

ตรวจหาป้ายกำกับ

ในตัวอย่างต่อไปนี้ การดำเนินการ detectLabels ของส่วนขยายจะรับรูปภาพที่ image_uri และส่งไปยัง Cloud Vision API เพื่อการวิเคราะห์ API จะตรวจสอบรูปภาพและพิจารณาว่าป้ายกำกับใดใช้กับเนื้อหาของรูปภาพ

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ConnectorCallout async="false" continueOnError="true&>quot;< enabled=&q>uot;true" name=&q<uot;Cloud-Vi>sion-<Extension>"
    DisplayNameCloud Vi<sion Exten>sion/<Displa>yName
    Co<nnector>cloud<-visi><on-extension-example/Connector
    ActiondetectLabels/Action
    Input![CDATA[
    {
        "imag><e_uri&>quot;< : &qu>ot;gs://cloud-vision-ex<ample/e>m<pire-state-buildi>ng.jpg"
    }
    ]]/Input
    Outputvision.labels.retrieved/Output
/ConnectorCallout

นโยบายกำหนดข้อความต่อไปนี้ใช้ค่าของตัวแปรที่จัดเก็บคำตอบของส่วนขยายเพื่อกำหนดเพย์โหลดคำตอบ

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=">false<" enab>led="true&q<uot; name=&q>uot;G<et-Image-Labels"
    DisplayNameGet Im>age L<abe>ls/Displa<yName
    AssignTo type="response>" createNew="fa<lse">;/
  <  Set<
        Paylo>ad 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 เพื่อการวิเคราะห์ API จะตรวจสอบรูปภาพเพื่อระบุข้อความในรูปภาพ

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
ConnectorCallout async="false" continueOnError=">true&<quot; enabl>ed="true&quo<t; name=&quo>t;Clo<ud-Vision>-Text"
    DisplayNameClo<ud Vision >Text/<Displa>yName
    <Connect>orclo<ud-vi><sion-extension-example/Connector
    ActiondetectText/Action
    Input![CDATA[
    {
        &qu><ot;ima>ge_ur<i">; : "gs://cloud-<vision->e<xample/parking-si>gns1.jpg"
    }
    ]]/Input
    Outputvision.text.retrieved/Output
/ConnectorCallout

นโยบายกำหนดข้อความต่อไปนี้ใช้ค่าของตัวแปรที่จัดเก็บคำตอบของส่วนขยายเพื่อกำหนดเพย์โหลดคำตอบ

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError=&quo>t;fal<se" en>abled="tr<ue" nam>e=&qu<ot;Get-Image-Text"
    DisplayNameGet >Image< Te>xt/Displa<yName
    AssignTo type="response>" createNew="<false&qu>ot;/
<    >S<et
        Pay>load contentType="application/json"{vision.text.retrieved}/Payload
    /Set
/AssignMessage

เมื่อส่งรูปภาพที่มีป้ายในบันทึกการจอดรถ คุณอาจได้รับการตอบกลับดังต่อไปนี้

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

          ],
          "properties": [

          ],
          "mid": "",
          "locale": "en&qu>ot;,
          "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 ด้วย

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
image_uri แหล่งที่มาของรูปภาพ ซึ่งอาจมาจากอินเทอร์เน็ตหรือ Google Cloud Storage (รูปแบบ: gs://bucketname/filename) หากแหล่งที่มาคือ Google Cloud Storage ไฟล์รูปภาพต้องเป็นแบบสาธารณะ สตริง ไม่มี ได้

ไวยากรณ์

<Input><![CDATA[{
    "image_uri" : "uri-of-image-t><o-anal>yze"
}
]]/Input

ตัวอย่าง

ในตัวอย่างต่อไปนี้ การดำเนินการ detectLabels ของส่วนขยายจะส่งรูปภาพที่ระบุไปยัง Vision API เพื่อการวิเคราะห์

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

การตอบกลับ

ออบเจ็กต์ที่มีอาร์เรย์ป้ายกำกับ labels ที่แสดงถึงเอนทิตีที่ตรวจพบภายในรูปภาพ ดูข้อมูลเพิ่มเติมได้ที่ตรวจหาป้ายกำกับ

detectText

ตรวจหาและดึงข้อความจากรูปภาพที่ระบุ

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
image_uri แหล่งที่มาของรูปภาพ ซึ่งอาจมาจากอินเทอร์เน็ตหรือ Google Cloud Storage (รูปแบบ: gs://bucketname/filename) หากแหล่งที่มาคือ Google Cloud Storage ไฟล์รูปภาพต้องเป็นแบบสาธารณะ สตริง ไม่มี ได้

ไวยากรณ์

<Input><![CDATA[
{
    "image_uri" : "uri-of-image-t><o-anal>yze"
}
]]/Input

ตัวอย่าง

ในตัวอย่างต่อไปนี้ การดำเนินการ detectText ของส่วนขยายจะส่งรูปภาพที่ระบุไปยัง Vision API เพื่อการวิเคราะห์

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

การตอบกลับ

ออบเจ็กต์ที่มีอาร์เรย์ text ของข้อความที่ตรวจพบ ดูข้อมูลเพิ่มเติมได้ที่ตรวจหาป้ายกำกับ

ข้อมูลอ้างอิงการกําหนดค่า

ใช้ข้อมูลต่อไปนี้เมื่อกําหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API ดูขั้นตอนการกำหนดค่าส่วนขยายโดยใช้คอนโซล Apigee ได้ที่การเพิ่มและกําหนดค่าส่วนขยาย

พร็อพเพอร์ตี้ส่วนขยายทั่วไป

พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
name ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย ไม่มี ได้
packageName ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge ไม่มี ได้
version หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย ไม่มี ได้
configuration ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ ไม่มี ได้