视觉slam--第九章project代码解析(一)

本文是关于SLAM学习的第九章项目代码解析的第一部分,重点在于理解头文件和cpp文件中的关键内容。作者强调实践理解和编写博客对于深入掌握SLAM的重要性。在头文件部分,讨论了防止类重复定义、智能指针Ptr的使用以及析构函数的作用。cpp文件中,camera.cpp涉及坐标变换,config.cpp用于读取参数,frame.cpp包含特定代码解释。博客提供了进一步学习的资源链接。
摘要由CSDN通过智能技术生成

1.前言

最近在看slam中的第九章,说句实话,代码如果自己不编真的无法将其融汇贯通,不写个博客也很难对其有所理解。希望这篇博客对跟我一样是菜鸟的你有所帮助。

2.代码解析部分

1.关于头文件部分,我就不过多的讲解,不懂的可以去看一下c++,主要就是定义自己的头文件,定义自己的类,类里面的函数

并没有写出具体的方法,一般都是在对应的cpp文件中,将其函数的具体实现方式给写出来。

#ifndef CAMERA_H
#define CAMERA_H

#include "myslam/common_include.h"

namespace myslam
{

// Pinhole RGBD camera model
class Camera
{
public:
    typedef std::shared_ptr<Camera> Ptr;
    float   fx_, fy_, cx_, cy_, depth_scale_;  // Camera intrinsics 

    Camera();
    Camera ( float fx, float fy, float cx, float cy, float depth_scale=0 ) :
        fx_ ( fx ), fy_ ( fy ), cx_ ( cx ), cy_ ( cy ), depth_scale_ ( depth_scale )
    {}

    // coordinate transform: world, camera, pixel
    Vector3d world2camera( const Vector3d& p_w, const SE3& T_c_w );
    Vector3d camera2world( const Vector3d& p_c, const SE3
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值