| | |
| | | |
| | | import ( |
| | | "context" |
| | | "io/ioutil" |
| | | "unsafe" |
| | | |
| | | "basic.com/libgowrapper/sdkhelper.git" |
| | | "basic.com/valib/gogpu.git" |
| | | |
| | | "basic.com/pubsub/protomsg.git" |
| | | "basic.com/valib/godraw.git" |
| | | |
| | | "basic.com/valib/deliver.git" |
| | | "github.com/gogo/protobuf/proto" |
| | |
| | | } |
| | | s.fnLogger("REID~~~~~~Recv Image:", len(i.Data)) |
| | | |
| | | if jpg, err := godraw.ToJpeg(i.Data, int(i.Width), int(i.Height), nil); err == nil { |
| | | ioutil.WriteFile("./pic.jpg", jpg, 0644) |
| | | } |
| | | feat := s.handle.Extract2(unsafe.Pointer(&i.Data[0]), int(i.Width), int(i.Height), 3) |
| | | if feat == nil { |
| | | // feat = make([]float32, 1) |
| | |
| | | |
| | | l := len(src) * 4 |
| | | ptr := unsafe.Pointer(&src[0]) |
| | | // It is important to keep in mind that the Go garbage collector |
| | | // will not interact with this data, and that if src if freed, |
| | | // the behavior of any Go code using the slice is nondeterministic. |
| | | // Reference: https://github.com/golang/go/wiki/cgo#turning-c-arrays-into-go-slices |
| | | return (*[1 << 26]byte)((*[1 << 26]byte)(ptr))[:l:l] |
| | | } |