2016-08-18 6 views
0
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using Emgu.CV; 
using Emgu.CV.Structure; 
using Emgu.Util; 

namespace ImageCapture 
{ 
    public partial class Form1 : Form 
    { 
     private Capture capture;   
     private bool captureInProgress; 

     public Form1() 
     { 
      private void ProcessFrame(object sender, EventArgs arg) 
      { 
       Image<Bgr, Byte> ImageFrame = capture.QueryFrame(); 
       CamImageBox.Image = ImageFrame;  
      } 

      private void strat_Click(object sender, EventArgs e) 
      { 
       #region if capture is not created, create it now 
       if (capture == null) 
       { 
        try 
        { 
         capture = new Capture(); 
        } 
        catch (NullReferenceException excpt) 
        { 
         MessageBox.Show(excpt.Message); 
        } 
       } 
       #endregion 

       if (capture != null) 
       { 
        if (captureInProgress) 
        { 
         btnStart.Text = "Start!"; 
         Application.Idle -= ProcessFrame; 
        } 
        else 
        { 
         btnStart.Text = "Stop"; 
         Application.Idle += ProcessFrame; 
        } 
        captureInProgress = !captureInProgress; 
       } 
      } 

      private void ReleaseData() 
      { 
       if (capture != null) 
        capture.Dispose(); 
      } 
     } 
    } 
} 

このコードは、カメラで画像をキャプチャするために無効にする「タイプまたは名前空間の定義またはファイルの終わりが予想されます。 このコードは、opencvを使用しているC#windowsアプリケーションで作成されていますタイプまたは名前空間の定義、またはファイルの終わりが予想されます

+2

あなたのコンストラクタ( 'パブリックForm1は()...')、右中かっこが不足している、とあなたは1あまりにも多くを持っていますファイルの終わりにカッコを閉じます。 –

+1

戻ってコードを正しくインデントすると、問題が発生する可能性があります。 –

+0

@ Saba-Chはコードを正しくインデントするので、中括弧の開閉に間違いはありません。ほとんどのエディタ(Visual Studioを含む)には、使用できる自動書式設定機能があります。 –

答えて

1

コンストラクタ内にメソッドを宣言しません!

あなたのコードは、他の問題を持っていない場合は、これは動作するはずです:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using Emgu.CV; 
using Emgu.CV.Structure; 
using Emgu.Util; 
namespace ImageCapture 
{ 
    public partial class Form1 : Form 
    { 
     private Capture capture;   
     private bool captureInProgress; 
     public Form1() 
     { 

     } 

     private void ProcessFrame(object sender, EventArgs arg) 
     { 
      Image<Bgr, Byte> ImageFrame = capture.QueryFrame(); 
      CamImageBox.Image = ImageFrame;  
     } 

     private void strat_Click(object sender, EventArgs e) 
     { 
      #region if capture is not created, create it now 

      if (capture == null) 
      { 
       try 
       { 
        capture = new Capture(); 
       } 
       catch (NullReferenceException excpt) 
       { 
        MessageBox.Show(excpt.Message); 
       } 
      } 
      #endregion 

      if (capture != null) 
      { 
       if (captureInProgress) 
       { 
        btnStart.Text = "Start!"; 
        Application.Idle -= ProcessFrame; 
       } 
       else 
       { 
        btnStart.Text = "Stop"; 
        Application.Idle += ProcessFrame; 
       } 
       captureInProgress = !captureInProgress; 
      } 
     } 

     private void ReleaseData() 
     { 
      if (capture != null) 
       capture.Dispose(); 
     } 
    } 
} 
関連する問題