2011-01-30 4 views
2

Я нахожу бит кирпичной стены. Мне просто не хватает фундаментального понимания того, как настраивать проекты в .net (C# express 2010), но я просто могу не похоже, чтобы эта программа работала'Ошибка Emgu.CV.CvInvoke при проверке распознавания лица с использованием emgu

В основном я пытаюсь просто настроить простую программу, которая будет загружать веб-камеру и проверять ее на лицо, и, если это возможно, сработает ровно (я получу более сложную как время идет)

Я видел несколько примеров распознавания лица не используя EMGU (ни что работа), поэтому я думаю, что я лай нужное дерево, но когда я к коду

var cap = new Capture(0); 

я получаю «Emgu.CV.CvInvoke

Так добавили Ive соответствующий (по крайней мере, я думаю) ссылка DLL файлы и добавлены с помощью заявления я просто не знаю, что еще делать.

Очевидно, что я что-то упускаю.

Я не уверен, что лучший способ поделиться всем моим проектом (я открыт для предложений), но кто-нибудь знает о рабочем примере, который компилируется в C# express 2010? или у вас есть учебник, который включает в себя файлы, которые нужно добавить?

Благодаря

+0

Просьба уточнить проблему, которую вы испытываете. Что вы имеете в виду, когда говорите: «Я получаю« Emgu.CV.CvInvoke »? Является ли это ошибкой времени компиляции (другими словами, вы не можете скомпилировать проект) или ошибка времени выполнения? Если это среда выполнения, это исключение или что-то еще. –

+0

Также укажите тип проекта (веб-приложение ASP.NET, настольное приложение WinForms, настольное приложение WPF и т. Д.) –

+0

winform application – Crash893

ответ

2

Если следовать EmguCV вики вы должны найти никаких проблем в управлении код:

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

кажется, что вы не скопировали DLL OpenCV внутри папки бин

[UPDATE] Можете ли вы попробовать отладить этот простой код и рассказать мне, каков ваш результат?

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(); 
} 
+0

Я дам эту попытку сегодня и отметку это как ответ, если он работает. Я немного неясен, что я думал, что добавить их в качестве ссылок с правильным путем было бы достаточно. – Crash893

+0

Добавлена ​​поддержка dll (я думаю), но теперь вместо того, чтобы дать мне ошибку, когда я выполняю команду var cap = new Capture (0); debuger переходит в код, а затем я могу продвигаться дальше), программа не виснет, но я не могу выйти или увидеть код, который пытается выполнить. – Crash893

+0

Можно ли получить рабочий файл проекта в примере C# я с сайта не компилирую в C# express – Crash893

0

После двойной проверки вашей DLL кажется, что вы не скопировали cvextern.dll !!!

+0

Я попробую, когда я приду домой – Crash893

+0

Хорошо, проверьте, что на вкладке «Приложение» целевая структура составляет 3,5 или ниже !!! –

+0

как я могу это проверить? – Crash893

0

Добавьте cvextern.dll и другие DLL, которые вам нужно скопировать в папку вывода, в качестве ссылки на dll, затем перейдите к свойствам этой ссылки и в свойствах перехода, установите для параметра CopyToOutputDirectory значение «Копировать if Newer "или" Copy Always ". Чтобы добавить ссылку, когда вы добавляете существующий элемент, на кнопке «Добавить» указывается стрелка, указывающая вниз в списке, щелкните по ней, и появится опция «Добавить как ссылку».

+0

они были настроены не копировать, я изменил их все, чтобы всегда копировать и все еще не кушать – Crash893

+0

странно, он должен был добавить копию dll в папку debug/release. – Sorcerer86pt

 Смежные вопросы

  • Нет связанных вопросов^_^