2016-06-19 5 views
0

私はOpenCVを初めて使用しています。Emgu CV 3.1を使用してWebCamからビデオをキャプチャする際のC#コードの例外Visual Studio 2015

私はC#とVisual Studioで2015年

をEmgu CV 3.1ライブラリを使用しています

私は、ウェブカメラからのライブビデオを読んで問題に直面しています。 Capture()コンストラクターによって例外が発生した理由はわかりません。私は2日を無駄にした。

Plzzz私を助け、Emgu CV 3.1のVisual Studio 2015で解決策を教えてください。TypeInitializationExceptionがあります。私も例外の画像をアップロードします。 TypeInitializationException Is here

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

using Emgu.CV; 
using Emgu.CV.Structure; 

namespace FaceRecognition_3._0 
{ 
    public partial class Form1 : Form 
    { 
     private Capture _capture; 
     private CascadeClassifier _cascadeClassifier; 


     public Form1() 
     { 
      InitializeComponent(); 

      _capture = new Capture(); 
      imgCamUser.Image = _capture.QueryFrame(); 
      startProcess(); 
     } 

     public void startProcess() 
     { 
      _cascadeClassifier = new CascadeClassifier(Application.StartupPath + "/haarcascade_frontalface_alt_tree.xml"); 

      using (var imageFrame = _capture.QueryFrame().ToImage<Bgr, Byte>()) 
      { 
       if (imageFrame != null) 
       { 
        var grayframe = imageFrame.Convert<Gray, byte>(); 
        var faces = _cascadeClassifier.DetectMultiScale(grayframe, 1.1, 10, Size.Empty); //the actual face detection happens here 
        foreach (var face in faces) 
        { 
         imageFrame.Draw(face, new Bgr(Color.BurlyWood), 3); //the detected face(s) is highlighted here using a box that is drawn around it/them 

        } 
       } 

       imgCamUser.Image = imageFrame; 
      } 
     } 
    } 
} 

`

+0

私も同様の問題がありました。 EmguCVが必要とするいくつかのDLLファイルが不足していると思います。必要なすべてのopenvc dll(opencv_calib3d2410.dllなど)を追加しましたか? –

+0

あなたが管理者としてvisual studioを実行している場合は、興味がありますか? – BigJump

+0

Emgu CVには存在しません。opencv_calib3d2410.dll –

答えて

0

Emgu.CV.CvInvokeは、あなたの実行可能ファイルのフォルダ内の管理対象外のDLLを見つけることができない場合に、この例外がスローされます。

EmguCV Wikiによれば、OpenCVのDLLは<EmguFolder>/binから実行ディレクトリ(おそらくbin/Debug)にコピーする必要があります。

+0

すべての.dllファイルをリリース/デバッグフォルダに入れましたが、何も起こりません:( –

+0

[example](http://www.emgu。 com/wiki/index.php/Download_And_Installation#Building_the_Examples)EmguCVから提供されていますか? – GeorgeChond

+0

はい、私のためにはうまく動作しますが、プログラムするとTypeInitializationExceptionが発生します。 –

0

Emgu dllファイルとすべてのOpencv dllファイルをDebugフォルダにコピーします。わたしにはできる。

関連する問題