32位windows 7操作系统上的Emgu System.TypeInitializationException

本文关键字:Emgu System TypeInitializationException windows 操作系统 32位 | 更新日期: 2023-09-27 18:28:31

我在windows 7 32位操作系统上处理Emgu cv,出现System.TypeInitializationException错误,我尝试了所有解决方案;当我运行Emgu附带的Examples时,这是可以的,但当我创建自己的项目时,会发生错误。

这是我的密码;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.Util;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
        {
        private Capture cap;
        private bool capinpro;
        public Form1()
        {
            InitializeComponent();
        }

    private void processframe(object o, EventArgs e)
    {
        Image<Bgr, byte> img = cap.QueryFrame();
        imageBox1.Image = img;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        if(cap!=null)
        {
            try
            {
        if (capinpro)
        {   
            Application.Idle += processframe;       
            //i have also tried cap.start();
        }
        else
        {
             Application.Idle -= processframe;
        }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }


        }
        else
        {
         cap= new Capure();   
        }
    }

}

}

32位windows 7操作系统上的Emgu System.TypeInitializationException

Emgu库需要更多的dll文件,所以我将Emgu的bin文件夹中的所有dlls粘贴到我的EXE文件的路径上,问题就解决了。