为什么我安装的emgucv的bin文件夹下很多DLL都没有

为什么我安装的emgucv的bin文件夹下很多DLL都没有,第1张

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中所有的库函数了。

EmguCV 是.NET 平台下对OpenCV 图像处理库的封装。也就是OpenCV的.NET 版。它运行在.NET 兼容的编程语言下调用OpenCV的函数,如C#、VB、VC++、IronPython 等。这个封装库可以在Mono 下编译和在Linux / Mac OS X 上运行。

首先确定没有重复安装opencv和emgucv两种,这样有可能在配置path时会出错。emgucv是包含opencv的,使用C#开发的朋友们,可以放心的只安装emgucv。

1、如遇错误提示:tbb_debug.dll找不到

请下载安装Intel TBB库,需要将tbb库或dll文件所在路径,配置带系统环境变量path中。

2、如遇错误提示:“Emgu.CV.CvInvoke”的类型初始值设定项引发异常

(1)、注销或重启计算机,使得系统环境变量中的path生效;

(2)、通过path中设置的路径去寻找对应的dll文件,查看是否存在,是否被成功引用到VS中;

(3)、copy dll文件到debug和release目录中。

(4)、尝试将.Net FrameWork版本降低,如果是4.0的就降低到3.5,如果是3.5的就降低到2.0。

官方解决办法:

(1)安装时注意:

ou can run an AutoIt script that automates much of the process, including installing OpenCV if necessary, and lets you start developing with Visual Studio right away.

Getting the Dependency

Emgu CV

use WCF(Windows Communication Foundation) therefore requires .Net 3.0

For version 2.4+ the bundled OpenCV binary is build with Visual Studio 2010, you will needs to installed

MSVCRT 9.0 SP1 x86

or

MSVCRT 9.0 SP1 x64to resolve the dependency issue.

For Version 2.0+, the bundled OpenCV binary is build with Visual Studio 2008, you will needs to installed

MSVCRT 9.0 SP1

to resolve the dependency issue.

For Version 1.5, the bundled OpenCV pre1.1 binary is build with Visual Studio 2005, you will needs to installed

MSVCRT 8.0 SP1

to resolve the dependency issue.

Building the Examples

Follow

this link

to the file server on Source Forge.

Download and extract the windows installer.

Install the software

Go to the Solution folder

If you are using Visual Studio 2008, browse to VS2008

If you are using Visual Studio 2010, browse to VS2010

Open

Emgu.CV.Example.sln

and build the solution. At this point, you should be able to run the example programs.

Creating a New Project in Visual Studio

To use the framework in Visual Studio, you need to

Download and extract the binary files package

Emgu.CV.Windows.Binary-{version}.zip

For a Full guide to using the dependencies under Visual Studio and C# see the C# Tutorial.

Core Functionality

Managed Code

Create a new Visual Studio project or use an existing one

Add the two files

Emgu.Utils.dll

and

Emgu.CV.dll

to

References

of the project. as well.

Optionally put the following lines in the top of your code to include the Emgu.CV namespace.

using Emgu.CVusing Emgu.CV.Structure

Open CV unmanaged dll

Copy the OpenCV dll files: opencv_calib3d{XXX}.dll, opencv_contrib{XXX}.dll, opencv_core{XXX}.dll, opencv_features2d{XXX}.dll, opencv_ffmpeg{XXX}.dll,opencv_flann{XXX}.dll, opencv_gpu{XXX}.dll, opencv_highgui{XXX}.dll, opencv_imgproc{XXX}.dll, opencv_legacy{XXX}.dll, opencv_ml{XXX}.dll,opencv_objdetect{XXX}.dll, opencv_video{XXX}.dll and cvextern.dll to the execution directory, where {XXX} is the OpenCV version number.

(2)The type initializer for 'Emgu.CV.CvInvoke' threw an exception.(Emgu.CV.CvInvoke 的类型初始值设定项引发异常)

If you see this exception, please check the following

Have you installed MSVCRT?

For Version 2.4+, the bundled OpenCV binary is build with Visual Studio 2010, you will needs to installed

MSVCRT 10.0 SP1 x86

or

MSVCRT 10.0 SP1 x64

to resolve the dependency issue.

For Version 2.0+, the bundled OpenCV binary is build with Visual Studio 2008, you will needs to installed

MSVCRT 9.0 SP1

to resolve the dependency issue.

For Version 1.5, the bundled OpenCV pre1.1 binary is build with Visual Studio 2005, you will needs to installed

MSVCRT 8.0 SP1

to resolve the dependency issue.

Have you copied the OpenCV dlls to the execution directory?

Make sure the unmanaged DLLs are in the execution directory.

For Emgu CV version <= 2.1, this means the following dlls:cvXXX.dll, cvauxXXX.dll, cxcoreXXX.dll, highguiXXX.dll, opencv_ffmpegXXX.dll, mlXXX.dllcvextern.dll

where

XXX

is the OpenCV version number.

For Emgu CV version 2.2, 2.3 this means the following dlls:

opencv_calib3dXXX.dll, opencv_contribXXX.dll, opencv_coreXXX.dll, opencv_features2dXXX.dll, opencv_highguiXXX.dll, opencv_imgprocXXX.dll, opencv_legacyXXX.dll, opencv_mlXXX.dll, opencv_objectdetectXXX.dll, opencv_videoXXX.dll

where

XXX

is the OpenCV version number.

For EMGU CV version >=2.4

cudart64_42_9.dll, cvextern.dll, npp64_42_9.dll, opencv_calib3dXXX.dll, opencv_contribXXX.dll, opencv_coreXXX.dll, opencv_features2dXXX.dll, opencv_flannXXX.dll, opencv_highguiXXX.dll, opencv_imgprocXXX.dll, opencv_legacyXXX.dll, opencv_mlXXX.dll, opencv_nonfreXXX.dll, opencv_objectdetectXXX.dll, opencv_videoXXX.dll,

where

XXX

is the OpenCV version number.

The best way to set up your project is:

Copy the unmanaged DLLs to your project folder

Right click on the project, click Add->Existing Item and select all unmanaged DLLs. Add them to the project.

For each of the included Dlls, left click on it, find the "Copy to Output Directory" option and select "Copy if newer"


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

原文地址: http://outofmemory.cn/sjk/6672140.html

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

发表评论

登录后才能评论

评论列表(0条)

保存