“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>[] sourcesOpenFileDialog 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)