【问题标题】:Save Several Images to a Jagged Array将多个图像保存到锯齿状阵列
【发布时间】:2015-07-10 10:22:29
【问题描述】:

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

我的目标是从我的相机中捕获并存储 10 帧,以便我可以进行一些后期处理。我正在使用 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)。

提前感谢您!

【问题讨论】:

    标签: c# image bitmap emgucv jagged-arrays


    【解决方案1】:

    我假设您尝试在每个循环中存储整个图像。因为 Emgu 图像是一个特定的类,而不仅仅是一个数组,所以您可以拥有一个包含 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;
    }
    

    【讨论】:

    • 非常感谢您的回答!我很欣赏你的助手!也很抱歉,但我还不能给你分数,因为我不是 15 级 :( 无论如何,非常感谢你!!
    猜你喜欢
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多