【发布时间】:2017-09-07 01:54:48
【问题描述】:
public static unsafe void ToBitmap(this Mat src, Bitmap dst)
稍后(在第 403 行)我们有这个片段:
uint imageSize = (uint)(src.DataEnd.ToInt64() - src.Data.ToInt64());
看这张图(来自darkdragon-001's issue on the opencv GitHub here)我不明白为什么上面的行让我们得到图像大小?
【问题讨论】:
-
这两个看起来像指针,一个指向开头,另一个指向刚刚超过像素数组末尾的位置。计算差值可以得到数组的大小。
-
但不是包含图像的数组部分的大小?
-
缺少一些上下文,第 401 行的
if语句。仅当图像不是子矩阵(即data == datastart)并且它是连续的时才会调用。当它不仅仅是一个大的连续块时,它会逐行复制。 -
谢谢@DanMašek,如果你把它写成答案,我会这样标记它
标签: opencv opencvsharp