Member 12210939 Ответов: 1

Ошибка при сохранении изображений





После сохранения определенного количества изображений для хамелеона точка серая ошибка камеры приходит.Пожалуйста, помогите, как эта ошибка может быть решена.
Ошибка:
Необработанное исключение типа System.AccessViolationException ' произошло в FlyCapture2Managedd_v140.dll
Попытка чтения или записи защищенной памяти. Это часто указывает на то, что другая память повреждена.
ошибка есть
FlyCapture2Managedd_v140.pdb not loaded
'FlyCapture2Managedd_v140.pdb contains the debug information required to find the source for the module FlyCaptue2Managedd_v140.dll'


Что я уже пробовал:

   const Mode Format7Mode = Mode.Mode0;
    const PixelFormat Format7PixelFormat = PixelFormat.PixelFormatMono8;

    FileStream fileStream;
    try
    {
        fileStream = new FileStream(@"test.txt", FileMode.Create);
        fileStream.Close();
        File.Delete("test.txt");
    }
    catch
    {

        return;
    }

    ManagedBusManager busMgr = new ManagedBusManager();
    uint numCameras = busMgr.GetNumOfCameras();


    if (numCameras == 0)
    {

        return;
    }

    ManagedPGRGuid guid = busMgr.GetCameraFromIndex(0);

    ManagedCamera cam = new ManagedCamera();

    cam.Connect(guid);

    bool supported = false;
    Format7Info fmt7Info = cam.GetFormat7Info(Format7Mode, ref supported);

    PrintFormat7Capabilities(fmt7Info);

    if ((Format7PixelFormat & (PixelFormat)fmt7Info.pixelFormatBitField) == 0)
    {
        return;
    }

    Format7ImageSettings fmt7ImageSettings = new Format7ImageSettings();
    fmt7ImageSettings.mode = Format7Mode;
    fmt7ImageSettings.offsetX = 0;
    fmt7ImageSettings.offsetY = 0;
    fmt7ImageSettings.width = fmt7Info.maxWidth;
    fmt7ImageSettings.height = fmt7Info.maxHeight;
    fmt7ImageSettings.pixelFormat = Format7PixelFormat;

    // Validate the settings to make sure that they are valid
    bool settingsValid = false;
    Format7PacketInfo fmt7PacketInfo = cam.ValidateFormat7Settings(
        fmt7ImageSettings,
        ref settingsValid);

    if (settingsValid != true)
    {
        
        return;
    }

    // Set the settings to the camera
    cam.SetFormat7Configuration(
       fmt7ImageSettings,
       fmt7PacketInfo.recommendedBytesPerPacket);

    // Get embedded image info from camera
    EmbeddedImageInfo embeddedInfo = cam.GetEmbeddedImageInfo();

    // Enable timestamp collection
    if (embeddedInfo.timestamp.available == true)
    {
        embeddedInfo.timestamp.onOff = true;
    }

    // Set embedded image info to camera
    cam.SetEmbeddedImageInfo(embeddedInfo);
    GC.Collect();
    // Start capturing images
    cam.StartCapture();

    // Retrieve frame rate property
    CameraProperty frmRate = cam.GetProperty(PropertyType.FrameRate);

    ManagedImage rawImage = new ManagedImage();
 
    cam.RetrieveBuffer(rawImage);



    // Create a converted image
    ManagedImage convertedImage = new ManagedImage();

    // Convert the raw image
    rawImage.Convert(PixelFormat.PixelFormatBgr, convertedImage);

    // Create a unique filename
    string file = DateTime.Now.ToString("HH.mm.ss");

    string filename = String.Format(file + ".jpeg");

    System.Drawing.Bitmap bitmap = convertedImage.bitmap;

    // Save the image
    bitmap.Save(@"C:\\Users\\ITREAT\\Desktop\\" + filename, System.Drawing.Imaging.ImageFormat.Jpeg);



    cam.StopCapture();


    cam.Disconnect();

    Application.DoEvents();

}

Member 12210939

FlyCapture2Managedd_v140. pdb не загружен
'FlyCapture2Managedd_v140. pdb содержит отладочную информацию, необходимую для поиска источника для модуля FlyCaptue2Managedd_v140.dll'

1 Ответов

Рейтинг:
2

Jochen Arndt

Она может быть решена с помощью отладчика, чтобы знать, когда и где происходит исключение.

В качестве альтернативы вставляйте блоки try-catch вокруг кода,который может содержать вызов, вызывающий исключение, пока вы не сузите его.

Поскольку исключение происходит в сторонней библиотеке DLL, проверьте, какие функции этой библиотеки DLL вызываются, и проверьте параметры, передаваемые этим функциям.