public byte[,] SingleSnapshot(string attributesPath, bool addToImageList)
{
imageWindow.WriteToConsole("Taking snapshot");
imageWindow.WriteToConsole("Applied camera attributes from " + attributesPath);
SetCameraAttributes(attributesPath);
try
{
if (state == CameraState.FREE || state == CameraState.READY_FOR_ACQUISITION)
{
image = new VisionImage();
state = CameraState.READY_FOR_ACQUISITION;
try
{
imaqdxSession.Snap(image);
if (windowShowing)
{
imageWindow.AttachToViewer(image);
}
if (addToImageList)
{
imageList.Add(image);
}
image.WriteFile("test.bmp");
PixelValue2D pval = image.ImageToArray();
byte[,] u8array = Getthearray.convertToU8(pval.Rgb32);
double max = Getthearray.Findthemaximum(u8array);
imageWindow.WriteToConsole(max.ToString("F6"));
state = CameraState.FREE;
return u8array;
}
catch (ObjectDisposedException e)
{
MessageBox.Show(e.Message);
throw new ObjectDisposedException("");
}
catch (ImaqdxException e)
{
MessageBox.Show(e.Message);
throw new ImaqdxException();
}
catch (VisionException e)
{
MessageBox.Show(e.VisionErrorText);
throw e;
}
}
else return null;
}
catch (TimeoutException)
{
return null;
}
}