Back to Top

プログラムの覚書

Category: AForge

VB.NET AForge USBカメラ画像表示

AForgeを使用してUSB接続カメラから画像を取得して画面表示する方法を記載します。

USB接続カメラから画像を取得して表示方法として、AForgeを使用すると簡単に出来ます。

接続にはDirectShowを使用しますので、

・AForge.Video

・AForge.Video.DirectShow

をインポートします。

USB接続カメラの画像を表示

フォームにボタン2つ pictureBoxを1つ 配置します。

Dim _videoSource As VideoCaptureDevice = Nothing

'ビデオデバイスの起動
Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    'ビデオ入力デバイスのみ取得 
    Dim videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)
    If videoDevices.Count = 0 Then                        'ビデオデバイスが無い
        Return
    End If

    Dim MonikerString = videoDevices(0).MonikerString     '最初のビデオデバイスを使用

    _videoSource = New VideoCaptureDevice(MonikerString)
    AddHandler _videoSource.NewFrame, AddressOf Me.Video_NewFrame
    _videoSource.Start()
End Sub

'ビデオデバイスの停止
Private Sub StopButton_Click(sender As Object, e As EventArgs) Handles StopButton.Click
    If _videoSource Is Nothing Then
        Return
    End If

    If _videoSource.IsRunning Then
        _videoSource.SignalToStop()     'ビデオデバイスの停止
        _videoSource.WaitForStop()      '完全に停止するまで待つ
        _videoSource = Nothing
    End If
End Sub

'ビデオデバイス取得画像表示
Private Sub Video_NewFrame(sender As Object, eventArgs As NewFrameEventArgs)
    Dim img = DirectCast(eventArgs.Frame.Clone(), Bitmap)
    PictureBox1.Image = img
End Sub

 

Posted in AForge | Leave a reply

AForge のインストール

AForge.NETは、画像処理、ニューラルネットワーク、遺伝的アルゴリズム、ファジーロジック、機械学習、ロボット工学などコンピュータビジョンと人工知能の分野で使用するオープンソースのフレームワークです。

ライセンスは、LGPL v3ですが、AForge.Video.FFMPEGコンポーネントはGPLですので注意

Visual StudioでAForgeをインストールする方法を記載します。

AForgeのインストール

Visual Studio の[ツール]-[Nuget パッケージ マネージャー]にて「AForge」で検索してインストールします。

AForgeは多彩なコンポーネントに分かれています。

Forge.Imaging – 画像処理ルーチンとフィルタを備えたライブラリ

AForge.Vision – コンピュータビジョンライブラリ

AForge.Video – ビデオ処理のためのライブラリ

AForge.Neuro – ニューラルネットワーク計算ライブラリ

AForge.Genetic – 進化プログラミングライブラリ

AForge.Fuzzy – ファジー計算ライブラリ

AForge.Robotics – ロボットキットサポートを提供するライブラリ

AForge.MachineLearning – 機械学習ライブラリ

AForge.Math – 数学ユーティリティ

AForge.Controls – UIコントロール

AForge.Video.DirectShow – DirectShowインターフェイス

など沢山のライブラリが提供されていますので、必要なライブラリを指定してインストールします。

 

 

Posted in AForge | Leave a reply