OpenCV เป็นไลบรารีที่พัฒนาขึ้นสำหรับโครงการคอมพิวเตอร์วิทัศน์ เธออายุประมาณ 20 ปีแล้ว ฉันใช้มันในวิทยาลัยและยังคงใช้สำหรับโปรเจ็กต์ C++ และ Python ของฉันเพราะมันรองรับภาษาเหล่านั้นได้ดี
แต่เมื่อฉันเริ่มเรียนรู้และใช้ Go ฉันสงสัยว่า OpenCV สามารถใช้ทำงานกับภาษานี้ได้หรือไม่ ในเวลานั้นมีตัวอย่างและบทช่วยสอนเกี่ยวกับการบูรณาการอยู่แล้ว แต่สำหรับฉันแล้วดูเหมือนว่าสิ่งเหล่านั้นจะซับซ้อนเกินไป หลังจากนั้นไม่นาน ฉันก็เจอกระดาษห่อที่สร้างโดย The Hybrid Group ในบทความนี้ ฉันจะแสดงวิธีเริ่มต้นใช้งาน GoCV โดยการพัฒนาระบบจดจำใบหน้าอย่างง่ายด้วย Haar Cascades
package main
import (
"log"
"gocv.io/x/gocv"
)
func main() {
webcam, err := gocv.VideoCaptureDevice(0)
if err != nil {
log.Fatalf("error opening device: %v", err)
}
defer webcam.Close()
img := gocv.NewMat()
defer img.Close()
window := gocv.NewWindow("webcamwindow")
defer window.Close()
for {
if ok := webcam.Read(&img); !ok || img.Empty() {
log.Println("Unable to read from the webcam")
continue
}
window.IMShow(img)
window.WaitKey(50)
}
}
2 ตัวอย่าง
ในตัวอย่างนี้ ลองใช้ตัวอย่างก่อนหน้านี้และสร้างระบบจดจำใบหน้าโดยใช้ Haar Cascades
Haar cascades เป็นตัวแยกประเภทแบบเรียงซ้อนที่ได้รับการฝึกฝนโดยใช้เทคนิค Haar wavelet พวกเขาวิเคราะห์พิกเซลในรูปภาพเพื่อค้นหาคุณสมบัติเฉพาะ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Haar Cascades โปรดไปที่ลิงก์ด้านล่าง