Closed sergey-sevryuk closed 2 years ago
Core dumped, when saving results on disk. Not go to if ((f >= vvoTrkNd[i][0].getFrmCnt()) && (f <= vvoTrkNd[i][nTrajLen - 1].getFrmCnt())).
for (int i = 0; i < vvoTrkNd.size(); i++) { nTrajLen = vvoTrkNd[i].size(); //Core dumped!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! not go in IF if ((f >= vvoTrkNd[i][0].getFrmCnt()) && (f <= vvoTrkNd[i][nTrajLen - 1].getFrmCnt())) { for (int j = 0; j < nTrajLen; j++) { if (f == vvoTrkNd[i][j].getFrmCnt()) { cout << "output tracking results in NVIDIA AI City Challenge format" << endl; std::fprintf(pfOutTrkTxt, "%d %d %d %d %d %d %d %.3f %.5f\n", viVdo[v], (f + 1), -1, vvoTrkNd[i][j].getBBox().x, vvoTrkNd[i][j].getBBox().y, (vvoTrkNd[i][j].getBBox().x + vvoTrkNd[i][j].getBBox().width - 1), (vvoTrkNd[i][j].getBBox().y + vvoTrkNd[i][j].getBBox().height - 1), vvoTrkNd[i][j].getSpd(), (vvoTrkNd[i][j].getDetScr() / 100));
// output submission results std::fprintf(pfOutSubmTxt, "%d %d %d %d %d %d %d %.3f %.5f\n", viVdo[v], (f + 1), -1, vvoTrkNd[i][j].getBBox().x, vvoTrkNd[i][j].getBBox().y, (vvoTrkNd[i][j].getBBox().x + vvoTrkNd[i][j].getBBox().width - 1), (vvoTrkNd[i][j].getBBox().y + vvoTrkNd[i][j].getBBox().height - 1), vvoTrkNd[i][j].getSpd(), (vvoTrkNd[i][j].getDetScr() / 100)); if (bOutTrk3dImgFlg || bOutVdoFlg) { // plot bounding box cv::rectangle(oImgFrm, vvoTrkNd[i][j].getBBox(), voBBoxClr[i % voBBoxClr.size()], 2); // plot vehicle ID std::sprintf(acId, "%d", (i + 1)); cv::putText(oImgFrm, acId, vvoTrkNd[i][j].get2dFtPt(), cv::FONT_HERSHEY_SIMPLEX, 1, voBBoxClr[i % voBBoxClr.size()], 2); // plot speed std::sprintf(acSpd, "%.3f", vvoTrkNd[i][j].getSpd()); cv::putText(oImgFrm, acSpd, cv::Point(vvoTrkNd[i][j].getBBox().x, (vvoTrkNd[i][j].getBBox().y - 20)), cv::FONT_HERSHEY_SIMPLEX, 1, voBBoxClr[i % voBBoxClr.size()], 2); // plot past trajectory nPltTrajLen = std::min(nPltTrajLenMax, (j + 1)); for (int k = j; k > (j - nPltTrajLen + 1); k--) cv::line(oImgFrm, vvoTrkNd[i][k].get2dFtPt(), vvoTrkNd[i][k - 1].get2dFtPt(), voBBoxClr[i % voBBoxClr.size()], 2); } break; } } // plot video ID if (bOutVdoFlg) cv::putText(oImgFrm, vstrCam[v].c_str(), cv::Point(100, 100), cv::FONT_HERSHEY_SIMPLEX, 2, cv::Scalar(255, 255, 255), 2); } } // output plotted frames if (bOutTrk3dImgFlg) { std::sprintf(acOutFrmNm, "%06d.jpeg", (f + 1)); std::strcpy(acOutFrmPth, acOutTrk3dImgFlrPth); std::strcat(acOutFrmPth, acOutFrmNm); cv::imwrite(acOutFrmPth, oImgFrm); } // output video if (bOutVdoFlg) oVdoWrt.write(oImgFrm); } std::fclose(pfOutTrkTxt); } std::fclose(pfOutSubmTxt); cv::namedWindow("empty"); cv::waitKey(0);
Core dumped, when saving results on disk. Not go to if ((f >= vvoTrkNd[i][0].getFrmCnt()) && (f <= vvoTrkNd[i][nTrajLen - 1].getFrmCnt())).
for (int i = 0; i < vvoTrkNd.size(); i++) { nTrajLen = vvoTrkNd[i].size(); //Core dumped!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! not go in IF if ((f >= vvoTrkNd[i][0].getFrmCnt()) && (f <= vvoTrkNd[i][nTrajLen - 1].getFrmCnt())) {
for (int j = 0; j < nTrajLen; j++) { if (f == vvoTrkNd[i][j].getFrmCnt()) { cout << "output tracking results in NVIDIA AI City Challenge format" << endl; std::fprintf(pfOutTrkTxt, "%d %d %d %d %d %d %d %.3f %.5f\n", viVdo[v], (f + 1), -1, vvoTrkNd[i][j].getBBox().x, vvoTrkNd[i][j].getBBox().y, (vvoTrkNd[i][j].getBBox().x + vvoTrkNd[i][j].getBBox().width - 1), (vvoTrkNd[i][j].getBBox().y + vvoTrkNd[i][j].getBBox().height - 1), vvoTrkNd[i][j].getSpd(), (vvoTrkNd[i][j].getDetScr() / 100));