我们如何计算3通道图像的每行字节大小。我知道它不是。列*元素大小。但是我在某些书籍和互联网上看到,有时为了提高效率,这些行被填充了额外的像素。所以在这些情况下,上面的公式将不起作用,因为这种情况下的字节数会增加。我对吗 ??请解释。此外,我能够找到一个属性“步骤”,以字节为单位查找第一行的大小。计算图像中每行的字节数
我用它作为img.step [0] //它没有收到。第一行的字节数
但是当我试图用img.step [1]找到第二行的大小时,它给了一些垃圾值。请解释发生了什么。
我们如何计算3通道图像的每行字节大小。我知道它不是。列*元素大小。但是我在某些书籍和互联网上看到,有时为了提高效率,这些行被填充了额外的像素。所以在这些情况下,上面的公式将不起作用,因为这种情况下的字节数会增加。我对吗 ??请解释。此外,我能够找到一个属性“步骤”,以字节为单位查找第一行的大小。计算图像中每行的字节数
我用它作为img.step [0] //它没有收到。第一行的字节数
但是当我试图用img.step [1]找到第二行的大小时,它给了一些垃圾值。请解释发生了什么。
通常将一个步骤应用于图像的所有行。所有行的大小将与第一行的大小相同。
你所寻找的是现场字节对齐图像行IplImage.widthStep
尺寸
编辑:你说你正在使用OpenCv 2
。我假设你正在使用cv :: Mat。
在这种情况下,cv :: Mat.step应该给你行的宽度。
以字节为单位的连续行之间的距离;包括缺口
但是,我会建议使用方法cv::Mat::ptr(row)
来加入每一行。这将返回uchar*
到原始行数据。
先生我正在使用C++接口在Opencv2中工作。所以请告诉我一个C++属性。谢谢。 – Navdeep
它是如何应用的?请举个例子。 – Navdeep
我的意思是说相同的填充应用于图像的所有行。因此,如果您使用尺寸为62 x 50的图像,则每行末尾会添加2个字节以使填充图像达到64 x 50. – Mike
是的我知道一行应该是4或8的倍数,但是我想知道是否有任何属性可以帮助我们直接确定否。的字节在一行中的C + +? – Navdeep