Mat::data的默认类型

Mat::data的默认类型为uchar*,但很多时候需要处理其它类型,如float、int,此时需要将data强制类型转换,如:

Mat src(1000,1000,CV_32F);  
float* myptr = (float*)src.data;

无论Mat的type是何种类型,Mat::data均为uchar*


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第一行第二个元素的指针。

猜你喜欢

转载自blog.csdn.net/tony2278/article/details/80066725