欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-16 11:23:19
...

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

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

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

原理如下:

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

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

解释:

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

这时,我就去看了depth_的类型看一下是不是矩阵类型.
OpenCV中Mat数据类型指针ptr的使用
是正确的!所以:

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

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

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

相关标签: SLAM opencv笔记