我在Python中使用戴维斯·金的Dlib,我正在使用其相关跟踪器功能,我必须在从我的网络摄像头读取的帧上指定矩形
我正在使用Yolo v3获取检测到的对象的坐标,如Car或Person,然后将它们传递给start_track
,就像这样
tracker = dlib.correlation_tracker()
dlib_rect = dlib.rectangle(left, top, bottom, right)
tracker.start_track(frame, dlib_rect)
我知道我的坐标是正确的,如果我只是在没有跟踪的情况下绘制它们,它们会在Yolo v3检测到的正确对象上显示边界框但是当我在start_track方法中使用它时我得到以下错误
tracker.start_track(frame, dlib_rect)
RuntimeError:
Error detected at line 61.
Error detected in file e:\documents\projects\dlib\dlib\image_processing\correlation_tracker.h.
Error detected in function void __cdecl dlib::correlation_tracker::start_track<class dlib::numpy_image<struct dlib::rgb_pixel>>(const class dlib::numpy_image<struct dlib::rgb_pixel> &,const class dlib::drectangle &).
Failing expression was p.is_empty() == false.
void correlation_tracker::start_track()
You can't give an empty rectangle.
答案 0 :(得分:1)
感谢Davis King himself for pointing out我的参数排序错误
矩形应该被定义为
dlib_rect = dlib.rectangle(left, top, right, bottom)