2

我碰到了一堵砖墙我可能只是对如何在.net(c#express 2010)中设置项目缺乏一些基本的了解,但我似乎无法让这个程序工作

基本上我正在尝试设置一个简单的程序,该程序将获取网络摄像头并检查它是否有脸,如果是这样,我会触发一个偶数(随着时间的推移我会变得更加复杂)

我已经看到了几个使用 EMGU 进行人脸识别的例子(没有一个有效),所以我想我在正确的树上吠叫,但是当我看到代码时

var cap = new Capture(0);

我得到一个'Emgu.CV.CvInvoke

所以我添加了适当的(至少我认为)引用 dll 并添加了 using 语句,我只是不知道还能做什么。

显然我错过了一些东西。

我不确定分享我的整个项目的最佳方式是什么(我愿意接受建议),但有人知道在 c# express 2010 中编译的工作示例吗?或者有包含要添加哪些文件的教程?

谢谢

4

3 回答 3

2

如果您关注 EmguCV wiki,您应该会发现运行代码没有问题:

http://www.emgu.com/wiki/index.php/Download_And_Installation

看来您还没有在 bin 文件夹中复制 opencv dll

[更新] 你能尝试调试这个简单的代码并告诉我你的结果是什么吗?

using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.UI;
using System.Drawing;

...

using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0))) 
{
   MCvFont f = new MCvFont(CvEnum.FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);

   img.Draw("Hello, Stack Overflow", ref f, new Point(10, 80), new Bgr(0, 255, 0)); 

   //Show the image using ImageViewer from Emgu.CV.UI
   ImageViewer viewer = new ImageViewer(img, "Stack Test");
   viewer.ShowDialog();
}
于 2011-01-31T12:47:53.570 回答
0

在仔细检查了你的 dll 之后,你似乎没有复制 cvextern.dll !!!

于 2011-02-04T13:31:19.827 回答
0

添加 cvextern.dll 和另一个需要复制到输出文件夹的 dll,作为 dll 的链接,然后转到该链接的属性,并在高级属性上,将 CopyToOutputDirectory 值设置为“如果较新则复制”,或“始终复制”。要添加为链接,当您添加现有项目时,添加按钮上有一个指向右侧的箭头,单击它并出现“添加为链接”选项。

于 2011-02-04T16:35:35.550 回答