class FrameHandlerMono : public FrameHandlerBase
Class public
2023-09-11 14:18:37 时间
单目视觉里程计流程图
class FrameHandlerMono : public FrameHandlerBase
FrameHandlerMono::FrameHandlerMono(vk::AbstractCamera* cam) :
FrameHandlerBase(),
cam_(cam),
reprojector_(cam_, map_),
depth_filter_(NULL)
{
initialize();
}
构造函数,进进行初始化
void FrameHandlerMono::initialize()
初始化函数
主要功能
构建点和线段特征的特征提取器
// create a point feature detector instance feature_detection::DetectorPtr<PointFeat> pt_feature_detector; if(Config::hasPoints()) pt_feature_detector = feature_detection::DetectorPtr<PointFeat>( new feature_detection::FastDetector( cam_->width(), cam_->height(), Config::gridSize(), Config::nPyrLevels())); else // create an abstract (void) detector that detects nothing to deactivate use of points pt_feature_detector = feature_detection::DetectorPtr<PointFeat>( new feature_detection::AbstractDetector<PointFeat>( cam_->width(), cam_->height(), Config::gridSize(), Config::nPyrLevels()));
// create a segment feature detector instance feature_detection::DetectorPtr<LineFeat> seg_feature_detector; if(Config::hasLines()) seg_feature_detector = feature_detection::DetectorPtr<LineFeat>( new feature_detection::LsdDetector( cam_->width(), cam_->height(), Config::gridSizeSegs(), Config::nPyrLevelsSegs())); else // create an abstract (void) detector that detects nothing to deactivate use of line segs seg_feature_detector = feature_detection::DetectorPtr<LineFeat>( new feature_detection::AbstractDetector<LineFeat>( cam_->width(), cam_->height(), Config::gridSizeSegs(), Config::nPyrLevelsSegs()));
创建点和线段特征的深度滤波器
// create the callback object for the Depth-Filter DepthFilter::callback_t depth_filter_cb = boost::bind( &MapPointCandidates::newCandidatePoint, &map_.point_candidates_, _1, _2); DepthFilter::callback_t_ls depth_filter_cb_ls = boost::bind( &MapSegmentCandidates::newCandidateSegment, &map_.segment_candidates_, _1, _2, _3); // Setup the Depth-Filter object depth_filter_ = new DepthFilter(pt_feature_detector, seg_feature_detector, depth_filter_cb, depth_filter_cb_ls ); depth_filter_->startThread(); }
vo_->start();
启动函数,设置
/// Start processing. void start() { set_start_ = true; }
相关文章
- AngularJS之ng-class(十一)
- Java中泛型 Class<T>、T与Class<?>、 Object类和Class类、 object.getClass() 和 Object.class
- AllowAnonymousAttribute Class
- Why use a public method in an internal class?
- Python入门 class类的继承
- retry.RetryInvocationHandler (RetryInvocationHandler.java:invoke(140)) - Exception while invoking getFileInfo of class ClientNamenodeProtocolTranslatorPB over bdata236/192.168.1.236:9000 after 3 fail
- vue基础篇---class样式绑定
- Invalid default: public abstract java.lang.Class org.mybatis.spring.annotation.MapperScan.factoryBe
- css元素定位:通过元素的标签或者元素的id、class属性定位
- ES6基础-ES6 class
- Class hierarchy of UIResponder as well as subclasses of UIView and UIControl
- 路径,通过navigation可以查看 *.class文件
- swift class extension 与继承
- C++虚函数virtual,纯虚函数pure virtual和Java抽象函数abstract,接口interface与抽象类abstract class的比较