“Emgu.CV.CvInvoke”的类型初始值设定项引发异常怎么办?

“Emgu.CV.CvInvoke”的类型初始值设定项引发异常怎么办?,第1张

“Emgu.CV.CvInvoke”的类型初始值设定项引发异常的解决方法具体步骤如下:

1.运行程序直接崩溃, 然后debug时找到了在这里崩溃的。

2.查看详细信息, 点看左边的小三角, 发现了根源。

上面有一句: "{"无法加载 DLL“opencv_core231”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。"}"从网上下一个opencv_core231.dll放到debug文件夹中可以解决问题, 但毕竟不是长久之计。

3.重新点开引用添加界面。

4.把2.9的引用进来就解决问题了。

1、首先保证的电脑已经装好了openCV,并且保证环境变量已经设置好。具体参照OpenCV官方中文网站,写得很清楚。2、下载EmguCV压缩包,其实就是几个可以在VisualStudio2005/2008中引用OpenCV的函数的dll库。下的是1.50版,“Emgu.CV.Windows.Binary-1.5.0.0.zip”。解压该压缩包,并把其DLL拷贝在OpenCV安装目录下的Bin文件夹里。3、新建一个c#窗体应用程序,添加Bin目录下“Emgu.CV.dll”,“Emgu.Util.dll”等DLL的引用,还有些窗体的控件,主要是将Emgu.CV.UI.dll加入工具箱中,加入後会出现ImageBox、HistogramCtrl。4、然后,再程序的开头中加上usingEmgu.CVusingEmgu.Util等命名空间之后就可以用EmguCV中所有的库函数了。

Image<Bgr, Byte>[] sources

OpenFileDialog open = new OpenFileDialog()

open.CheckFileExists = true

open.Multiselect = true

open.Filter = "打开图片|*.jpg"

open.ShowDialog()

sources=new Image<Bgr,byte>[open.FileNames.Length]

for (int i = 0i <open.FileNames.Lengthi++)

{

sources[i] = new Image<Bgr, byte>(open.FileNames[i])

}

pictureBox1.Image = sources[0].Bitmap

pictureBox2.Image = sources[1].Bitmap

pictureBox3.Image = sources[2].Bitmap

Stitcher stitcher = new Stitcher(true)

Image<Bgr, byte>result = stitcher.Stitch(sources)

pictureBox4.Image = result.Bitmap


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11384624.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存