将多个图像保存到锯齿状数组

Save Several Images to a Jagged Array

我是 C# 的新手,所以如果我的问题的答案很简单,请原谅我。

我的目标是从我的相机中捕捉并存储 10 帧,这样我就可以进行一些 post 处理。我使用的是 Gige Basler scout 单色相机。 我知道如何用 while 循环获取这 10 张图像。

所以我的问题是如何在 while 循环的每次迭代中将每个图像保存到同一个锯齿状数组中?

我的目标是将 10 张图像保存到一个 3D 锯齿状数组中。我将锯齿状数组声明为:

UInt16[][,] jaggedArray = new UInt16[10][,];

相机将图像转换成位图格式(m_bitmap)。

使用 Emgu 我可以将位图转换为图像(不确定是否必须这样做):

Image<Gray, UInt16> IMA = new Image<Gray, UInt16>(m_bitmap);

我想做的是在每次迭代中我可以将获取的图像保存在锯齿状数组中:

itteration 1 :>>      jaggedArray[0] = 1st Image

itteration 2 :>>      jaggedArray[1] = 2nd Image

...

itteration 10 :>>      jaggedArray[9] = 10th Image

但我不知道如何将获取的图像或位图保存在锯齿状数组中(jaggedArray[i] = ????????????)。

在什么情况下我必须转换我的图像或位图才能将其存储在锯齿状数组中?

如果您知道解决此问题的更好方法,请随时告诉我。

捕获的图像大小为 (1280,960)。

提前致谢!

我假设您尝试在每个循环中存储整个图像。因为 Emgu 图像是一个特定的 class,而不仅仅是一个数组,所以您可以有一个包含 10 个 Emgu 图像的数组。

Image<Gray, UINT16>[] rawCaptures = new Image<Gray, UINT16>[10];
// some other code...
while(cameraIsRunning && iWantMoreImages)
{
    // more code here...
    Image<Gray, UInt16> IMA = new Image<Gray, UInt16>(m_bitmap);
    rawCaptures[indexOfCapture] = IMA;
}