Open LiuSnake7788 opened 1 year ago
我也有相同的更改需求,请问你解决了这个问题了吗?
Hello, thank you for your work. I want to modify your work to run on the monocular Example, and made the following modifications: In the ophus::SE3f Tracking::GrabImageMonocular(const cv::Mat &im, const double ×tamp, string filename) function of Trackingcc Add cv::Mat InputImage; InputImage = im.clone(); mpDetector->GetImage(InputImage); mpDetector->Detect(); mpORBextractorLeft->mvDynamicArea = mpDetector->mvDynamicArea; { std::uniquelockstd::mutex lock( mpViewer->mMutexPAFinsh); mpViewer->mmDetectMap = mpDetector->mmDetectMap; } mpDetector->mvDynamicArea.clear(); mpDetector->mmDetectMap.clear(); in Systemcc's TrackMonocular(const cv::Mat &im, const double ×tamp , const vectorIMU::Point& vImuMeas, string filename) function, add cv::Mat imToFeed = im.clone(); if(settings && settings->needToResize()){ cv::Mat resizedIm; cv::resize(im ,resizedIm,settings->newImSize()); imToFeed = resizedIm; } But the result is that when using the TUM1 data set, there will be a black screen problem (only the recognition frame and no image), and there are obvious problems with pose estimation. In the self-made data set, the black screen time will be greatly extended. Is there any work that has been missed?
Have u managed to solve this? Please share if you do.
同在自制数据集中运行rgbd_tum会出现检测框并黑屏卡住,在current frame中显示waiting for image
你好,谢谢你的工作。我想把您的工作修改为在单目Example上也能运行,进行了如下修改: 在Trackingcc的ophus::SE3f Tracking::GrabImageMonocular(const cv::Mat &im, const double ×tamp, string filename)函数中加入 cv::Mat InputImage; InputImage = im.clone(); mpDetector->GetImage(InputImage); mpDetector->Detect(); mpORBextractorLeft->mvDynamicArea = mpDetector->mvDynamicArea; { std::uniquelockstd::mutex lock(mpViewer->mMutexPAFinsh); mpViewer->mmDetectMap = mpDetector->mmDetectMap; } mpDetector->mvDynamicArea.clear(); mpDetector->mmDetectMap.clear(); 在Systemcc的TrackMonocular(const cv::Mat &im, const double ×tamp, const vectorIMU::Point& vImuMeas, string filename)函数中加入 cv::Mat imToFeed = im.clone(); if(settings && settings->needToResize()){ cv::Mat resizedIm; cv::resize(im,resizedIm,settings->newImSize()); imToFeed = resizedIm; } 但结果是,使用TUM1数据集时,会先出现黑屏(只有识别框没有图像)的问题,且位姿估计明显有问题。在自制的数据集中黑屏时间会大大延长,请问是有什么工作被遗漏了吗?
请问您黑屏之后有正常运行吗?如果有,大概要等多久
你好,谢谢你的工作。我想把您的工作修改为在单目Example上也能运行,进行了如下修改: 在Trackingcc的ophus::SE3f Tracking::GrabImageMonocular(const cv::Mat &im, const double ×tamp, string filename)函数中加入 cv::Mat InputImage; InputImage = im.clone(); mpDetector->GetImage(InputImage); mpDetector->Detect(); mpORBextractorLeft->mvDynamicArea = mpDetector->mvDynamicArea; { std::uniquelockstd::mutex lock(mpViewer->mMutexPAFinsh); mpViewer->mmDetectMap = mpDetector->mmDetectMap; } mpDetector->mvDynamicArea.clear(); mpDetector->mmDetectMap.clear(); 在Systemcc的TrackMonocular(const cv::Mat &im, const double ×tamp, const vectorIMU::Point& vImuMeas, string filename)函数中加入 cv::Mat imToFeed = im.clone(); if(settings && settings->needToResize()){ cv::Mat resizedIm; cv::resize(im,resizedIm,settings->newImSize()); imToFeed = resizedIm; } 但结果是,使用TUM1数据集时,会先出现黑屏(只有识别框没有图像)的问题,且位姿估计明显有问题。在自制的数据集中黑屏时间会大大延长,请问是有什么工作被遗漏了吗?
请问您改出来了吗
你好,谢谢你的工作。我想把您的工作修改为在单目Example上也能运行,进行了如下修改: 在Trackingcc的ophus::SE3f Tracking::GrabImageMonocular(const cv::Mat &im, const double ×tamp, string filename)函数中加入 cv::Mat InputImage; InputImage = im.clone(); mpDetector->GetImage(InputImage); mpDetector->Detect(); mpORBextractorLeft->mvDynamicArea = mpDetector->mvDynamicArea; { std::uniquelockstd::mutex lock(mpViewer->mMutexPAFinsh); mpViewer->mmDetectMap = mpDetector->mmDetectMap; } mpDetector->mvDynamicArea.clear(); mpDetector->mmDetectMap.clear(); 在Systemcc的TrackMonocular(const cv::Mat &im, const double ×tamp, const vectorIMU::Point& vImuMeas, string filename)函数中加入 cv::Mat imToFeed = im.clone(); if(settings && settings->needToResize()){ cv::Mat resizedIm; cv::resize(im,resizedIm,settings->newImSize()); imToFeed = resizedIm; } 但结果是,使用TUM1数据集时,会先出现黑屏(只有识别框没有图像)的问题,且位姿估计明显有问题。在自制的数据集中黑屏时间会大大延长,请问是有什么工作被遗漏了吗?
请问您黑屏之后有正常运行吗?如果有,大概要等多久
请问您改出来了吗
你好,谢谢你的工作。我想把您的工作修改为在单目Example上也能运行,进行了如下修改: 在Trackingcc的ophus::SE3f Tracking::GrabImageMonocular(const cv::Mat &im, const double ×tamp, string filename)函数中加入 cv::Mat InputImage; InputImage = im.clone(); mpDetector->GetImage(InputImage); mpDetector->Detect(); mpORBextractorLeft->mvDynamicArea = mpDetector->mvDynamicArea; { std::uniquelock lock(mpViewer->mMutexPAFinsh);
mpViewer->mmDetectMap = mpDetector->mmDetectMap;
}
mpDetector->mvDynamicArea.clear();
mpDetector->mmDetectMap.clear();
在Systemcc的TrackMonocular(const cv::Mat &im, const double ×tamp, const vector& vImuMeas, string filename)函数中加入 && settings->needToResize()){
cv::Mat resizedIm;
cv::resize(im,resizedIm,settings->newImSize());
imToFeed = resizedIm;
}
但结果是,使用TUM1数据集时,会先出现黑屏(只有识别框没有图像)的问题,且位姿估计明显有问题。在自制的数据集中黑屏时间会大大延长,请问是有什么工作被遗漏了吗?
cv::Mat imToFeed = im.clone(); if(settings