| | |
| | | "basic.com/valib/gogpu.git" |
| | | ) |
| | | |
| | | type imageWithID struct { |
| | | img *gohumantrack.ImageHumanTracker |
| | | id string |
| | | } |
| | | |
| | | // HumanTracker track |
| | | type HumanTracker struct { |
| | | tracker *gohumantrack.HumanTracker |
| | |
| | | mapCameraImageIndex map[string]int |
| | | recvImageCount int |
| | | index int |
| | | images []*gohumantrack.ImageHumanTracker |
| | | images []imageWithID |
| | | msgs []*work.MsgRS |
| | | } |
| | | |
| | |
| | | |
| | | if i, ok := t.mapCameraImageIndex[rMsg.Msg.Cid]; ok { |
| | | if i < t.batchSize { |
| | | t.images[i] = &img |
| | | t.images[i] = imageWithID{&img, rMsg.Msg.Cid} |
| | | t.msgs[i] = &rMsg |
| | | } |
| | | } else { |
| | | if t.index < t.batchSize { |
| | | t.images[t.index] = &img |
| | | t.images[t.index] = imageWithID{&img, rMsg.Msg.Cid} |
| | | t.msgs[t.index] = &rMsg |
| | | t.mapCameraImageIndex[rMsg.Msg.Cid] = t.index |
| | | } |
| | |
| | | return |
| | | } |
| | | |
| | | res, err := t.tracker.ProcessImagePointer(t.images[:]) |
| | | t.recvImageCount = 0 |
| | | for k, v := range t.mapCameraImageIndex { |
| | | logo.Infoln("batch~~~~~~Map index: ", v, " camera: ", k) |
| | | } |
| | | |
| | | var pimg []*gohumantrack.ImageHumanTracker |
| | | for k, v := range t.images { |
| | | pimg = append(v.img) |
| | | logo.Infoln("batch~~~~~~Map index: ", k, " camera: ", v.id) |
| | | } |
| | | res, err := t.tracker.ProcessImagePointer(pimg) |
| | | t.recvImageCount = 0 |
| | | |
| | | if err != nil { |
| | | logo.Infoln("batch~~~~~~Track Failed: ", err) |