diff --git a/service/tool.go b/service/tool.go index f025a23..796b148 100644 --- a/service/tool.go +++ b/service/tool.go @@ -58,17 +58,24 @@ func getVideoFrame(device proto.DeviceInfo) { fontColor := color.RGBA{G: 255} lineType := 2 z := 0 + var frame gocv.Mat //当前帧 + defer func(frame *gocv.Mat) { + err2 := frame.Close() + if err2 != nil { + fmt.Println("设备:%d 错误: 无法关闭帧", device.ID) + } + }(&frame) for { if device.LogFrame > 0 && z%device.LogFrame == 0 { - fmt.Printf("设备:%s 当前帧: %d\n", device.ID, z) + fmt.Printf("设备:%d 当前帧: %d\n", device.ID, z) } if device.NextStop { break } - frame := gocv.NewMat() + frame = gocv.NewMat() ok := webcam.Read(&frame) if !ok { - fmt.Printf("设备:%s 错误: 无法从视频流中读取帧\n", device) + fmt.Printf("设备 错误: 无法从视频流中读取帧:", device, "\n") break } if frame.Empty() {