依赖 gocv.io/x/gocv 开源库
开源库基本使用cgo
gocv安装参考官网
package main
import (
"fmt"
"gocv.io/x/gocv"
"image/jpeg"
"os"
)
func main() {
video, err := gocv.OpenVideoCapture("rtsp://root:123456@127.0.0.1")
if err != nil {
fmt.Println(err)
return
}
defer video.Close()
img := gocv.NewMat()
defer img.Close()
classifier := gocv.NewCascadeClassifier()
defer classifier.Close()
for {
if ok := video.Read(&img); !ok {
return
}
if img.Empty() {
return
}
data, err := img.ToImage()
if err != nil {
fmt.Println("to img err:", err)
return
}
file, err := os.Create("./test.jpg")
if err != nil {
return
}
defer file.Close()
if err = jpeg.Encode(file, data, nil); err != nil {
fmt.Println("jpeg err:", err)
} else {
fmt.Println("success")
}
return
}
}