我是C#的新手所以如果我的问题的答案非常简单,请原谅我。
我的目标是从我的相机捕获和存储10帧,这样我就可以做一些后期的探索。我正在使用Gige Basler侦察员单色相机。 我知道如何使用while循环获取10个图像。
所以我的问题是如何在while循环的每次迭代中将每个图像保存到相同的锯齿状数组中?
我的目标是将10张图像保存到一个单独的3D锯齿状阵列中。我将锯齿状数组声明为:
UInt16[][,] jaggedArray = new UInt16[10][,];
相机将图像转换为位图格式(m_bitmap)。
使用Emgu我可以将bitmat转换为image(不确定我是否必须这样做):
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)。
提前谢谢!
答案 0 :(得分:1)
我假设你试图用每个循环存储整个图像。因为Emgu Images是一个特定的类,而不仅仅是一个数组,你可以拥有一个包含十个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;
}