Commit fb4f05fc authored by oscar's avatar oscar

提交更新

parent 5b525a51
......@@ -130,7 +130,23 @@ void Track3D::Predict()
m_points.erase(m_points.begin());
}
m_points.push_back(pos);
//根据上上次的时间戳与上一次的时间戳的间隔来调整预测的数据
uint64_t interval = 100;
if (m_obj && m_lastLastTimestamp != 0 && m_obj->frame > m_lastLastTimestamp)
interval = m_obj->frame - m_lastLastTimestamp;
m_lastLastTimestamp = m_obj->frame;
float v_rate = interval / 100;
if (v_rate > 1.5 || v_rate < 0.5)
{
SDK_LOG(SDK_INFO, "predict time error, v_rate = %f, interval = %llu",v_rate,interval);
}
kf_->F_(7, 0) = v_rate;
kf_->F_(8, 1) = v_rate;
kf_->F_(9, 2) = v_rate;
BaseTrack::Predict();
kf_->F_(7, 0) = 1.0f;
kf_->F_(8, 1) = 1.0f;
kf_->F_(9, 2) = 1.0f;
}
void Track3D::Update(const std::vector<float>& data)
{
......
......@@ -51,6 +51,8 @@ public:
trackOjbPtr m_obj = nullptr;
std::vector<point2d> m_points;//保存最近的5个移动的点位
uint64_t m_lastLastTimestamp = 0;//记录上上一次的时间戳
};
double correct_angle(std::vector<point2d>& points);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment