C# 引发异常:';System.TypeInitializationException';在Emgu.CV.dll中
当我尝试用按钮打开文件时,Emgu.CV.dll中的“System.TypeInitializationException”引发了C# 引发异常:';System.TypeInitializationException';在Emgu.CV.dll中,c#,.net,opencv,emgucv,C#,.net,Opencv,Emgucv,当我尝试用按钮打开文件时,Emgu.CV.dll中的“System.TypeInitializationException”引发了异常问题 引发异常:Emgu.CV.dll中的“System.TypeInitializationException” 我犯了这个错误 'Week_14.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0
异常问题
引发异常:Emgu.CV.dll中的“System.TypeInitializationException”
我犯了这个错误
'Week_14.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Week_14.exe'. Symbols loaded.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Emgu.CV.dll'. Module was built without symbols.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Emgu.Util.dll'. Module was built without symbols.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Emgu.CV.UI.dll'. Module was built without symbols.
Exception thrown: 'System.TypeInitializationException' in Emgu.CV.dll
The program '[6760] Week_14.exe' has exited with code 0 (0x0).
守则:
Image<Bgr, Byte> imgSceneColor = null;
Image<Bgr, Byte> imgToFindColor = null;
Image<Bgr, Byte> imgCopyOfImageToFindWidthBorder = null;
bool blnImageSceneLoaded = false;
bool blnImageToFindLoaded = false;
static Image<Bgr, Byte> imgResult = null;
Bgr bgrKeyPointColor = new Bgr(Color.Blue);
Bgr bgrMatchingLinesColor = new Bgr(Color.Green);
Bgr bgrFoundImageColor = new Bgr(Color.Red);
Stopwatch stopwatch = new Stopwatch();
public Form1()
{
InitializeComponent();
}
private void buttonImageScene_Click(object sender, EventArgs e)
{
OpenFileDialog openFile = new OpenFileDialog();
DialogResult dialogResult = openFile.ShowDialog();
if ((dialogResult == DialogResult.OK) || (dialogResult == DialogResult.Yes))
textImageScene.Text = openFile.FileName;
else
return;
try
{
imgSceneColor = new Image<Bgr, Byte>(textImageScene.Text);
//'Image(Of Bgr, Byte) My_Image = New Image(Of Bgr, Byte)(txtImageScene.Text)
//'imgSceneColor = imgSceneColor.ToBitmap();
}
catch (Exception ex)
{
this.Text = ex.Message;
return;
}
blnImageSceneLoaded = true;
if (blnImageToFindLoaded == false)
imageBoxResult.Image = imgSceneColor;
else
imageBoxResult.Image = imgSceneColor.ConcateHorizontal(imgCopyOfImageToFindWidthBorder);
}
图像imgSceneColor=null;
图像imgToFindColor=null;
图像imgCopyOfImageToFindWidthBorder=null;
bool blnImageSceneLoaded=错误;
bool blnimagetofindload=false;
静态图像imgResult=null;
Bgr bgrKeyPointColor=新的Bgr(颜色为蓝色);
Bgr bgrMatchingLinesColor=新Bgr(颜色为绿色);
Bgr bgrFoundImageColor=新的Bgr(Color.Red);
秒表秒表=新秒表();
公共表格1()
{
初始化组件();
}
私有无效按钮图像场景\单击(对象发送者,事件参数e)
{
OpenFileDialog openFile=新建OpenFileDialog();
DialogResult=openFile.ShowDialog();
如果((dialogResult==dialogResult.OK)| |(dialogResult==dialogResult.Yes))
textImageScene.Text=openFile.FileName;
其他的
返回;
尝试
{
imgSceneColor=新图像(textImageScene.Text);
//'Image(属于Bgr,字节)My_Image=新图像(属于Bgr,字节)(txtmagescene.Text)
//'imgSceneColor=imgSceneColor.ToBitmap();
}
捕获(例外情况除外)
{
this.Text=例如消息;
返回;
}
blnImageSceneLoaded=真;
if(blnImageToFindLoaded==false)
imageBoxResult.Image=imgSceneColor;
其他的
imageBoxResult.Image=imgSceneColor.ConcateHorizontal(imgCopyOfImageToFindWidthBorder);
}
有人能帮忙吗 类型初始化意味着在运行静态/类型构造函数时出现了问题:|这也是一个很好的例子,说明了为什么我们不应该粗心大意地使用静态或为了简单起见。异常处理是我最讨厌的事情,catch(Exception ex)
是一个经典的msitake。关于这个问题,我经常链接两篇文章:|我们还需要完整的异常详细信息类型、消息、Stacktrace和内部Eceptions(递归),以及抛出它的行。不幸的是,异常处理目前阻止我们接近它。您是如何将Emgu.Cv添加到您的项目中的?它是与Nuget包一起使用的,还是手动添加了对.dll的引用?