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_的类型看一下是不是矩阵类型.
是正确的!所以:
ushort d = depth_.ptr<ushort>(y)[x];
是为了指定到depth_矩阵的y行第x列个像素!
上一篇: 全网最强-wym专属
下一篇: 记录一个读取网络图片的坑