3

我的同事和我自己编写了一个 DLL,我们现在正尝试在另一个应用程序中使用它。当我们在使用网络摄像头时在应用程序中使用该 DLL 中的函数时,应用程序会崩溃。当我们复制并粘贴完全相同的代码时,应用程序就可以工作了。如果我们使用图像而不是网络摄像头,那么它也适用于 DLL。我们制作了一个新应用程序只是为了对其进行测试,但在使用该 DLL 时仍然无法正常工作。

我们真的很困惑,因为我们得到了不同的异常,我们真的不知道出了什么问题。是否有任何一般错误可能导致此问题?有没有办法调试这个?

代码如下:

    private glyphRecognizer recognize = new glyphRecognizer();
    picturebox1.image = recognize.recognitionStep1_Grayscaling((Bitmap)picturebox1.image);

对于 DLL:

    public Bitmap recognitionStep1_Grayscaling(Bitmap image)
    {
        BitmapData data = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadOnly, image.PixelFormat);
        UnmanagedImage originalImage = new UnmanagedImage(data);
        image.UnlockBits(data);

        //grayscaling
        UnmanagedImage grayImage = null;
        if (data.PixelFormat == PixelFormat.Format8bppIndexed)
        {
            grayImage = originalImage;
        }
        else
        {
            grayImage = UnmanagedImage.Create(originalImage.Width, originalImage.Height, PixelFormat.Format8bppIndexed);
            Grayscale.CommonAlgorithms.BT709.Apply(originalImage, grayImage);
        }
        return grayImage.ToManagedImage();
    }
4

0 回答 0