OpenCV中Mat数据类型指针ptr的使用

由于我在看<<视觉slam十四讲>>程序的时候,看到了这一行代码:

ushort d = depth_.ptr(y)[x];

没有看明白是什么意思,填坑又要开始了!

原理如下:

原来这是opencv中Mat数据类型指针ptr的使用方法,用来指定到某一像素的位置

    cv::Mat image = cv::Mat(400, 600, CV_8UC1); //宽400,长600
    uchar * data00 = image.ptr(0);
    uchar * data10 = image.ptr(1);
    uchar * data01 = image.ptr(0)[1];

解释:

  • 定义了一个Mat变量image。
  • data00是指向image第一行第一个元素的指针。
  • data10是指向image第二行第一个元素的指针。
  • data01是指向image第一行第二个元素的指针。

这时,我就去看了depth_的类型看一下是不是矩阵类型.
在这里插入图片描述
是正确的!所以:

ushort d = depth_.ptr(y)[x];

是为了指定到depth_矩阵的y行第x列个像素!

参考链接:OpenCV Mat数据类型指针ptr的使用

你可能感兴趣的:(SLAM,opencv笔记)