|
■No85162 (Jitta さん) に返信 > ■No85148 (しろ さん) に返信
> ちょと質問ですが>>OpenCvSharp という選択肢って。 この返事でいろいろ自分で調べてみてvbで出来るサイトを 見つけました。 Imports AForge.Video Imports AForge.Video.DirectShow
Public Class Form1
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 = 1 End If End Sub
Dim _videoSource As VideoCaptureDevice = Nothing
'ビデオデバイス取得画像表示 Private Sub Video_NewFrame(sender As Object, eventArgs As NewFrameEventArgs) Dim img = DirectCast(eventArgs.Frame.Clone(), Bitmap) PictureBox1.Image = img
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'USBビデオデバイスに接続
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 Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'USBビデオデバイス停止 If _videoSource Is Nothing Then Return End If
If _videoSource.IsRunning Then _videoSource.SignalToStop() 'ビデオデバイスの停止 _videoSource.WaitForStop() '完全に停止するまで待つ _videoSource = Nothing End If End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click ' 自身のフォームを閉じる Me.Close()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
' Dim g As Graphics = PictureBox1.CreateGraphics() PictureBox1.Image = New Bitmap(PictureBox1.ClientSize.Width, PictureBox1.ClientSize.Height) Dim g As Graphics = Graphics.FromImage(PictureBox1.Image) g.DrawLine(Pens.Black, 0, 0, 100, 100) g.Dispose()
PictureBox1.Image.Save("C:\test.jpg", Imaging.ImageFormat.Jpeg)
End Sub End Class
C#でも同じようにできると思いますがまだまだ勉強中です。 このプログラムを参考にまた静止画を保存させるプログラム 部分を作っているのですがC#のやり方と違うのか静止画の 保存がうまくできません。このプログラムで静止画の保存 する場合はどうしたらいいでしょうか?
|