OpenCV基础——cv::Mat::step

说在前面

关于opencv的Mat类step的问题是我2019秋招找工作笔试时遇到的,平时没有注意这些细节,所以也没有答出来,简历上却写着熟悉opencv,我着实感到非常羞愧,所以从这篇文章开始记录有关opencv的基础细节问题。这些细节不一定在工作中能时常用到,但在某一个关键时间点却可能突然出现,打得自己措手不及,所以这些细节是一定要注意的。我不准备刻意地去搜集这些细节,一是这些基础细节实在太多,二是自认为目前我的水平不高,积累也不够深厚,对opencv的认识还是有限的。或许以后会对这些问题做一个总结并贡献出来,也给自己一个期待。

OpenCV_cv::Mat::step

  • step[0]是矩阵中一行元素的字节数
  • step[1]是矩阵中一个元素的字节数(elemSize)
  • step1 = step / elemSize1,elemSize1是元素的每个通道所占的字节数
    • step1(0)是矩阵一行元素的通道数(不是很贴切)
    • step1(1)是矩阵一个元素的通道数(channel())
Mat img(3, 4, CV_16UC4, Scalar_(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;

OpenCV基础——cv::Mat::step_第1张图片 

你可能感兴趣的:(【OpenCV】)