2

我是Emgu CV的新手,我在尝试保存图像时遇到了错误(“访问冲突异常未处理”)。这是我尝试过的图像路径:

C:\\Users\crowds\Documents\Example\Sample.jpg

这是我的代码。任何人都可以帮忙吗?

//Form CameraCapture
private void button1_Click(object sender, EventArgs e)
{
    if (_capture != null)
    {
        captured FF = new captured();
        FF.Show();
        this.Hide();
    }
}

//Form captured
namespace CameraCapture
{
    public partial class captured : Form
    {
        public captured()
        {
            InitializeComponent();
        }

        private void captured_Load(object sender, EventArgs e)
        {
            var capture = new Emgu.CV.Capture();

            using (var ImageFrame = capture.QueryFrame())
            {
                if (ImageFrame != null)
                {
                    pictureBox1.Image = ImageFrame.ToBitmap();
                    ImageFrame.Save(
                    @"C:\\Users\crowds\Documents\Example\Sample.jpg");
                }
            }            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            CameraCapture CC = new CameraCapture();
            CC.Show();
            this.Close();
        }
    }
}
4

1 回答 1

2

首先,您的路径中有一个额外的"\"字符。它应该是:

// Remove at *:        *
// ImageFrame.Save(@"C:\\Users\crowds\Documents\Example\Sample.jpg");
   ImageFrame.Save(@"C:\Users\crowds\Documents\Example\Sample.jpg");

其次,您收到的异常表明存在权限问题。默认情况下,除非您以该特定用户身份运行,否则您将无法保存到该crowds用户的文件夹中。这可能与上面的错字有关,但也可能是由于在错误的帐户下运行。

访问冲突异常未处理这里是错误弹出的地方 Image frame = _capture.RetrieveBgrFrame();

这表明执行用户可能没有访问图像捕获设备的权限。

于 2013-10-08T00:24:14.803 回答