Google Cloud Vision API กับ Go Programming ง่ายมว๊ากกก

Seksit Supakunanon
Tech INNO
Published in
3 min readApr 1, 2022
detecting

วันนี้จะมาเขียนถึงการใช้งาน Google Cloud Vision API โดยใช้ ภาษา Go ในการ Develop นะครับผม

TL;DR
เราสามารถใช้ Cloud Vision API ของ Google ตรวจสอบรูปภาพได้หลายหมวดหมู่ เช่น
- ตรวจสอบวัตถุภายในภาพ (entity detection) เช่น มีแมวหรือรถยนต์อยู่ในภาพหรือไม่
- อ่านข้อความภายในภาพ (OCR)
- ตรวจสอบภาพไม่เหมาะสม เช่น ภาพโป๊ โดยใช้เอนจินเดียวกับ Google SafeSearch ใน Google Image Search
- ค้นหาใบหน้าคนภายในภาพ พร้อมตรวจสอบว่ามีตา จมูก คิ้ว ปาก รวมถึงอารมณ์ของบุคคลภายในภาพ (ไม่รองรับการแยกแยะใบหน้าว่าเป็นบุคคลใด ด้วยเหตุผลด้านความเป็นส่วนตัว)
- ตรวจสอบสถานที่ภายในภาพ (landmark detection) ว่าเป็นสถานที่ชื่อดังแห่งใดบ้าง
- ตรวจสอบว่ามีโลโก้ภายในภาพหรือไม่ (logo detection)

facial detection

ตามเนื้อหาของผมสิ่งที่ทุกคนจะต้องมีคือ

  1. Google Account
  2. Visual Studio Code
  3. Image (for testing)

เรามาเริ่มกันเลยดีกว่า…

  1. เข้า Github ของ Google เพื่อ clone code
code I

เมื่อ clone มาแล้วแล้วเปิด code ด้วย vision studio code สามารถดูตัวอย่างได้ใน Repository นี้

2. ทำการ Set GOOGLE_APPLICATION_CREDENTIALS กดเข้าไปที่ link แล้วทำตามขั้นตอนตามรูปด้านล่าง

create google application credentials I

เมื่อทำการ Create เรียบร้อยจะได้ Service Accounts ใหม่ขึ้นมาตามที่เราตั้งชื่อ

แล้วก็เข้าไป Add key แล้ว download credentials จะได้เป็น json file ออกมา

3. เขียน Code ด้วย Golang กันเลย

หลังจากนั้นก็สร้าง Folder ใหม่เพื่อที่จะทำการทดสอบโปรแกรมโดยใช้ cloud vision API

แล้วเข้า ไปทำการสร้าง module go และ main.go

go mod init googlevisiontouch main.go

และทำการ copy file detect.go จาก Repository ของ Google ที่เรา clone มา จะได้ดังรูป

code II

ที่นี้เราลองใช้งานสัก method ใน detect.go แล้วมา set credentials ก่อนเพื่อที่จะ run

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your-project-credentials.json
go run detect.go main.go

ตัวอย่างจากเครื่องผม

url ภาพตัวอย่าง

แป่ววว สรุปว่าเกิด Error ครับผม เราสามารถ กด link ใน error description เพื่อเข้า google cloud console ไป enable google vision API ของ account เรานะครับ

เมื่อกด link เข้ามาแล้วจะเจอหน้านี้ทำการกด ENABLE ได้เลยครับ เมื่อทำการ ENABLE เรียบร้อยแล้วเราทดสอบ run อีกรอบถ้ายัง ERROR อยู่รอสักพักแล้วลอง run ใหม่ครับ

go run detect.go main.go
code IV

แต๊นแต้นนน เราก็ได้ Result ของรูปที่เราเรียก Google Cloud Vision API วิเคราะห์แล้วนะครับ เราสามารถ ประยุกต์นำค่าพวกนี้ไปวิเคราห์ต่อยอดได้เลยนะครับ

เป็นไงละครับง่ายมากๆเลยใช่ไหม โดย API ที่ Google provide มีหลายตัวอยู่สามารถกดดูใน detect.go ได้แล้วทดลองเล่นตัวอื่นๆได้เลยนะครับ โดยจะสามารถเอารูปจาก Local หรือ Url ก็ได้โดย Method ใน detect.go ที่ให้มา ถ้าจะค้นรูปจาก Url จะมีคำว่า URI ต่อท้าย ถ้าค้นจาก Local จะไม่มีคำว่า URI นะครับ

ตัวอย่าง detect.go

code V
code VI

ที่นี้เพื่อน พี่ๆ น้องๆ สามารถไปลองเล่นกันได้เลยนะครับ ถ้าหากบทความนี้ผิดพลาดในประการใดก็ขออภัยไว้ ณ ที่นี้ด้วยนะครับผม ขอบคุณที่อ่านจนจบครับ ^_^

--

--