| | |
| | | void update_cur_bbox_vec(std::vector<bbox_t> _cur_bbox_vec) |
| | | { |
| | | cur_bbox_vec = _cur_bbox_vec; |
| | | good_bbox_vec_flags.resize(cur_bbox_vec.size()); |
| | | for (auto &i : good_bbox_vec_flags) i = true; |
| | | good_bbox_vec_flags = std::vector<bool>(cur_bbox_vec.size(), true); |
| | | cv::Mat prev_pts, cur_pts_flow_cpu; |
| | | |
| | | for (auto &i : cur_bbox_vec) { |
| | |
| | | float moved_y = cur_key_pt.y - prev_key_pt.y; |
| | | |
| | | if (abs(moved_x) < 100 && abs(moved_y) < 100 && good_bbox_vec_flags[i]) |
| | | if (err_cpu.at<float>(0, i) < flow_error && status_cpu.at<unsigned char>(0, i) != 0) |
| | | if (err_cpu.at<float>(0, i) < flow_error && status_cpu.at<unsigned char>(0, i) != 0 && |
| | | ((float)cur_bbox_vec[i].x + moved_x) > 0 && ((float)cur_bbox_vec[i].y + moved_y) > 0) |
| | | { |
| | | cur_bbox_vec[i].x += moved_x + 0.5; |
| | | cur_bbox_vec[i].y += moved_y + 0.5; |