Back to Top

プログラムの覚書

Category: VB.NET

VB.NET

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

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

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

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

・Accord.Video

・Accord.Video.DirectShow

をインポートします。

AccordのUSBカメラは、AForgeを使用されているいますので、AForgeと同じコードで動作します。

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

Dim _videoDevices As FilterInfoCollection

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'ビデオデバイス一覧を表示する
    _videoDevices = New FilterInfoCollection(FilterCategory.VideoInputDevice)

    ComboBox1.Items.Clear()
    If _videoDevices.Count <> 0 Then
        For Each device In _videoDevices
            ComboBox1.Items.Add(device.Name)
        Next
        ComboBox1.SelectedIndex = 0
    End If
End Sub

Dim _videoSource As VideoCaptureDevice = Nothing

'[開始]
Private Sub StartButton_Click(sender As Object, e As EventArgs) Handles StartButton.Click
    If ComboBox1.Items.Count = 0 Then
        Return
    End If

    Dim MonikerString = _videoDevices(ComboBox1.SelectedIndex).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 Accord | Leave a reply

VB.NET Accord.NETのインストール

Accord.NETは、音声、画像処理、機械学習のフレームワークです。

ライセンスは、LGPLですが、一部GPLがあるので注意

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

Accordのインストール

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

Accordは多彩なコンポーネントに分かれています。ので必要なライブラリをインストールします。

 

科学計算

Accord.Math – 数値行列分解法、数値最適化アルゴリズム、行列拡張ライブラリ

Accord.Statistics – 確率分布、仮説検定、線形およびロジスティック回帰、隠れマルコフモデル、ランダムフィールド、主成分分析、部分最小二乗、判別分析、カーネル方法、統計モデル

Accord.MachineLearning – ベクタマシン、デシジョンツリー、ナイーブベイズモデル、K平均、ガウス混合モデル、機械学習アプリケーション

Accord.Neuro – Deep Belief Networks、Restrictified Boltzmann Machinesなどの神経学習アルゴリズム、ニューラルネットワーク関連

 

信号と画像処理

Accord.Imaging – 注目点検出器、イメージフィルタ、イメージマッチング、イメージスティッチングメソッド、ヒストグラム

Accord.Audio – 機械学習および統計アプリケーション用のオーディオ信号を処理、変換、フィルタリング

Accord.Vision – 顔検出と追跡、画像ストリームのオブジェクトの検出、追跡、変換

 

サポートライブラリ

Accord.Controls – 科学的アプリケーション用のヒストグラム、散布図、表形式のデータビューア

Accord.Controls .Imaging – イメージを表示および処理するためのWindowsフォームコントロール

Accord.Controls .Audio – 波形とオーディオ関連の情報を表示するためのWindowsフォームコントロール

Accord.Controls.Vision – 頭、顔、手の動きやその他のコンピュータビジョン関連のタスクを追跡するためのWindows Formsのコンポーネントとコントロール
 

その他にも沢山のライブラリがあります。

 

Posted in Accord | Leave a reply