计算图像中每行的字节数

时间:2014-07-22 11:35:29

标签: opencv

我们如何计算3通道图像的每行大小(以字节为单位)。我知道这不是。列*元素大小。但是我已经在一些书籍和互联网上看到,为了提高效率,有时会用额外的像素填充行。因此,在这些情况下,上述公式不会起作用,因为这种情况下的字节数会增加。我对吗 ??请解释。我也找到了一个属性" step"以字节为单位查找第一行的大小。

我用它作为img.step [0] //它没有。第一行中的字节数

但是当我试图使用img.step [1]找到第二行的大小时,它给出了一些垃圾值。请解释一下发生了什么。

2 个答案:

答案 0 :(得分:1)

您要找的是字段IplImage.widthStep

  

对齐图像行的大小(以字节为单位)

修改:您说您正在使用OpenCv 2。我假设您正在使用cv :: Mat。

在这种情况下,cv :: Mat.step应该为你提供行的宽度。

  

连续行之间的距离(以字节为单位);包括差距,如果有的话

但是我建议使用方法cv::Mat::ptr(row)来确定每一行。这将返回uchar*到原始行数据。

答案 1 :(得分:1)

通常将步骤应用于图像的所有行。所有行的大小将与第一行的大小相同。