开发平台一直是Win7 x64 + C#(VS2013),一开始不会用EmguCV,就从网上下载了几个版本的EmguCV(最先使用的是3.0,发现网上很多例子是用2.9的,所以又附加了一个2.9)。
但是!这样做是不对的。虽然在创建简单的应用时会正常,但是调用HaarCascade时,会在调试的时候莫名其妙自动退出(就是运行调试后会自动停止调试)。
第二,在引用EmguCV的时候,无论引用哪个都可以,只要Debug时VS会将几个dll复制到调试的根目录下就正常。
而在Debug时发现有各种各样的错误(最常见的就是“Emgu.CV.CvInvoke”的类型初始值设定项引发异常。“),解决方法是将x86和x64两个文件夹放到Debug根目录下,这样调试的时候基本不会出问题(而后续精简的时候,确定目标平台用的是哪个就留哪个文件夹,然后不断调试,看看提示哪个文件报错,就用搜索一个个找出来,放到目录下即可)。
第三,Unable to Create Capture之类的问题,例如我是调用视频文件的,有可能是缺少对应的DLL,所以导入DLL就可以。如果是摄像头,请检查摄像头在Windows里是否可以正常打开。
暂时就研究这么多,而且建议没有任何基础的人学习的时候,请在每个参数后面都加备注,这样方便后续自己在研究时发现问题所在。
因为本人没有任何C基础,只有C#的基础,加上对Emgu是刚开始学习,只能一点一点摸索。
欢迎交流。
顺便附上我用了三天时间写的注释,仅供参考。