desctype desc(8, 0);//32*8=256 含义

2 篇文章 0 订阅
1 篇文章 0 订阅

这是ORB特征提取里面出现的代码。

首先 desctype是事先定义的。

typedef vector<uint32_t> DescType;

uint32_t  含义是 unsigned int ,int本身4个字节,一个字节八个bit,共32个bit,这种命名方式方便直接知道变量二进制位数。

例如:typedef unsigned long __uint64_t , long 8字节64个bit

ORB特征提取中,一个特征点的描述子需要512个点,也就是256个点对,比较256个点对的灰度值,得到一个长256的二进制串的描述子,这里不清楚可以去看一下ORB特征提取匹配的原理。

DescType desc(8, 0)

根据之上的定义,这行代码等价于

vector<uint32_t> desc(8, 0)

vector  desc(8,0) 赋值代表了一个8维unsigned int 的Vector,  且初始值都为0。

desc有8个int元素,每个int4个字节,每个字节8个bit,8维x4字节x8bit,等于一个256bit的容器,刚好放下一个特征点的描述子。可以认为定义了单个描述子类型。

代码中还出现了

vector<DescType> &descriptors//这里其实是一个二维Vector

类型为DescTyped的动态数组Vector,用来放入一帧所有的描述子,且下标与vector<cv::KeyPoint> &keypoints特征点的Vector对应。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李皮皮的悲惨生活

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值