ส่วนขยาย Google Cloud Vision

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

เวอร์ชัน: 1.4.1

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

เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและใช้ส่วนขยายนี้ ก่อนใช้ส่วนขยายนี้จากพร็อกซี 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 โดยใช้นโยบาย Extension callout

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

ในตัวอย่างต่อไปนี้ การดำเนินการ 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>

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

<?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 เพื่อทำการวิเคราะห์ 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 ของข้อความที่ตรวจพบ ดูข้อมูลเพิ่มเติมได้ที่ตรวจหาป้ายกำกับ

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

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

คุณสมบัติส่วนขยายที่พบบ่อย

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

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