ส่วนขยาย 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 โดยใช้นโยบาย ชิ้นงานข้อความไฮไลต์

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

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

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

พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
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 ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ ไม่มี ได้