【opencv基础】opencv cv::Mat::step的理解

前言

调试代码过程中发现cv::Mat step的使用,之前没注意过,故记之。

opencv cv::Mat解释

step    Number of bytes each matrix row occupies. The value should include the padding bytes at the end of each row, if any. If the parameter is missing (set to AUTO_STEP ), no padding is assumed and the actual step is calculated as cols*elemSize(). See Mat::elemSize.
  • step[0]是矩阵中一行元素的字节数
  • step[1]是矩阵中一个元素的字节数(elemSize)
  • step1 = step / elemSize1,elemSize1是元素的每个通道所占的字节数
    • step1(0)是矩阵一行元素的通道数(不是很贴切)
    • step1(1)是矩阵一个元素的通道数(channel())

code

    Mat img(3, 4, CV_16UC4, Scalar_<uchar>(1, 2, 3, 4));

    cout << img << endl;
    cout << "step:" << img.step << endl;
    cout << "step[0]:" << img.step[0] << endl;
    cout << "step[1]:" << img.step[1] << endl;
    cout << "step1(0):" << img.step1(0) << endl;
    cout << "step1(1):" << img.step1(1) << endl;

results

 

 

 

参考

1. opencv_Mat_step;

2. OpenCV__cv::Mat::step;

posted on 2022-08-08 18:39  鹅要长大  阅读(566)  评论(0编辑  收藏  举报

导航