dlib.rectangle失败的表达式是p.is_empty()== false

时间:2018-06-03 09:27:39

标签: dlib

我在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.

1 个答案:

答案 0 :(得分:1)

感谢Davis King himself for pointing out我的参数排序错误

矩形应该被定义为

dlib_rect = dlib.rectangle(left, top, right, bottom)