【问题标题】:EmguCV Image size different from Image.Data sizeEmguCV 图像大小不同于 Image.Data 大小
【发布时间】:2013-08-13 20:26:49
【问题描述】:

我将图像的一部分复制到新图像:

bigImage.ROI = SomeRectangle;
Emgu.CV.Image<Emgu.CV.Structure.Rgb, byte> roiImage = bigImage.Copy();

现在roiImage.Cols==roiImage.Width==1roiImage.Rows==roiImage.Height==106;但是roiImage.Data 的大小是[106,4,3]。所以图片的宽度不等于数据的第二维。

为什么会这样?

【问题讨论】:

  • 也许该宽度实际上是图像步幅,其中行必须对齐到 4 字节边界(增加填充到最近的 4 字节)。看起来Emgu.CV.Image 包含一个内部System.Drawing.Bitmap,该报告的大小是多少?
  • 行如何对齐?附加到最后还是包围?
  • 在每一行的末尾填充,以匹配各种 Windows API 的要求(例如 DIB 格式)。

标签: c# image emgucv


【解决方案1】:

EmguCV 要求图像的每一行对齐 4 个字节,以提高获取数据的效率。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    相关资源
    最近更新 更多