C# 我为简单的相机捕获图像编写代码。但应用程序和相机没有连接,并且显示了一个未处理的错误

C# 我为简单的相机捕获图像编写代码。但应用程序和相机没有连接,并且显示了一个未处理的错误,c#,emgucv,C#,Emgucv,我有一份新的埃姆古简历。我想创建一个摄像头,仅用于从我的笔记本电脑摄像头和连接到笔记本电脑的其他摄像头设备进行简单的拍照。我不希望视频捕获仅用于简单的照片捕获。使用一个开始和一个捕获按钮。并将保存在特定位置。帮助将是可观的 namespace camera { public partial class cameracaps : Form { Capture capturecam=null; bool capturingprocess=false; Image<Bgr

我有一份新的埃姆古简历。我想创建一个摄像头,仅用于从我的笔记本电脑摄像头和连接到笔记本电脑的其他摄像头设备进行简单的拍照。我不希望视频捕获仅用于简单的照片捕获。使用一个开始和一个捕获按钮。并将保存在特定位置。帮助将是可观的

namespace camera
{
public partial class cameracaps : Form
{
    Capture capturecam=null;
    bool capturingprocess=false;
    Image<Bgr,Byte>imgOrg;
    Image<Gray,Byte>imgproc;



    public cameracaps()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        try
        {

            Capture cam = new Capture();

        }
        catch (NullReferenceException exception)
        {
            MessageBox.Show(exception.Message);
            return;
        }
        Application.Idle += new EventHandler(processFunction);
        capturingprocess=true;

    }
    void processFunction(object sender,EventArgs e)
    {
       imgOrg=capturecam.QueryFrame();
        if(imgOrg ==null)return;
        imgproc=imgOrg.InRange(new Bgr(50,50,50),new Bgr(250,250,250));
        imgproc = imgproc.SmoothGaussian(9);
        original.Image=imgOrg;
        processed.Image=imgproc;
    }


    private void Button1_Click(object sender, EventArgs e)
    {
        if(capturingprocess==true)
        {
            Application.Idle-=processFunction;
            capturingprocess = false;
            Button1.Text="play";
        }
        else
        {
            Application.Idle+= processFunction;
            capturingprocess= true;
            Button1.Text="pause";


    }


}

}
}
名称空间摄影机
{
公共部分类cameracaps:表单
{
捕获capturecam=null;
bool capturingprocess=false;
ImageimgOrg;
Imageimgproc;
公共摄像机镜头()
{
初始化组件();
}
私有void Form1\u加载(对象发送方、事件参数e)
{
尝试
{
捕获cam=新捕获();
}
捕获(NullReferenceException异常)
{
MessageBox.Show(exception.Message);
返回;
}
Application.Idle+=新的EventHandler(processFunction);
capturingprocess=true;
}
void processFunction(对象发送方、事件参数)
{
imgOrg=capturecam.QueryFrame();
if(imgOrg==null)返回;
imgproc=imgOrg.InRange(新Bgr(50,50,50),新Bgr(250250));
imgproc=imgproc.SmoothGaussian(9);
original.Image=imgOrg;
已处理。图像=imgproc;
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
如果(capturingprocess==true)
{
Application.Idle-=processFunction;
capturingprocess=false;
按钮1.Text=“播放”;
}
其他的
{
Application.Idle+=processFunction;
capturingprocess=true;
按钮1.Text=“暂停”;
}
}
}
}
正在显示..“Emgu.CV.CvInvoke”的类型初始值设定项引发了异常。错误..指示

捕获cam=新捕获()

帮帮我。

这是我们在emgu cv中几乎一直面临的最大问题之一。首先,将dll文件名opencv_core290.dll,open_cvhighgui290.dll复制到您的项目bin,尝试对dll文件使用依赖项跟踪器。从该链接安装依赖项-它不起作用,然后您应该了解应用程序正在与摄像头连接。然后转到“我的电脑”->“右键单击”->“属性”->“高级系统设置”->“系统属性”->“高级”->“环境变量”->“系统变量”->“路径”->“编辑”->“粘贴”C:\Emgu\emgucv windows universal cuda 2.9.0.1922\bin。然后按“确定”。重新启动系统,系统将正常工作。

此问题将结束,因为您没有提供任何显示任何努力的内容。寻找关于该主题的更多信息,一旦你有具体问题,请回来,这太宽泛了。先生,我以前为相机编码过。但没有提及,因为显示了未处理的错误,请帮助我。其他一些人和我已经投票重新打开你的问题,你很快就会得到帮助。你应该编辑你的帖子并指定你的错误。不要乞求别人的帮助!这将产生相反的效果。你是否取消了我的问题?因为我没有得到任何答案。从过去7天开始,我日夜努力解决这个错误。对我来说,重要的是解决问题转到项目属性->构建->更改输出路径->C:\Emgu\emgucv windows universal cuda 2.9.0.1922\bin\…问题已解决。。