VB.NET AForge.Video.DirectShow VideoResolution 分辨率大小设置
时间: 2023-02-28 18:39:12 浏览: 139
在使用 AForge.Video.DirectShow 库时,可以通过设置 VideoResolution 属性来控制视频的分辨率大小。例如:
```
Dim videoSource As New VideoCaptureDevice(videoDevices(deviceIndex).MonikerString)
videoSource.DesiredFrameSize = New Size(640, 480)
videoSource.DesiredFrameRate = 30
AddHandler videoSource.NewFrame, AddressOf video_NewFrame
videoSource.Start()
```
上面的代码将分辨率设置为 640x480,帧率设置为 30 fps。请注意,所有的设备不都支持所有的分辨率,所以您可能需要使用 `VideoCapabilities` 属性来确定您的设备支持哪些分辨率。
相关问题
VB.NET AForge.Video.DirectShow 多线程应用NewFrame
AForge.Video.DirectShow是一个视频获取库,其中的NewFrame事件是指当摄像头获取到一帧新的图像数据时会触发的事件。
在VB.NET中使用多线程应用NewFrame事件,您可以使用以下步骤:
1. 创建一个视频捕获对象:
Dim videoSource As New VideoCaptureDevice(videoDevices(deviceNumber).MonikerString)
2. 为NewFrame事件绑定处理程序:
AddHandler videoSource.NewFrame, AddressOf video_NewFrame
3. 启动视频捕获:
videoSource.Start()
4. 在video_NewFrame方法中,您可以在独立的线程中处理新帧:
Private Sub video_NewFrame(sender As Object, eventArgs As NewFrameEventArgs)
' 在此处处理新帧
' ......
End Sub
请注意,在多线程环境中,您需要注意同步问题,以确保线程安全。
VB.NET AForge.Video.DirectShow DesiredFrameSize 已过时 如何更新
DesiredFrameSize 属性在 AForge.Video.DirectShow 库中已经过时,不再推荐使用。
如果您希望更新代码,您可以使用 FrameSize 属性来设置帧大小。请参考以下代码示例:
```
Dim videoSource As New VideoCaptureDevice("VideoDevice")
videoSource.DesiredFrameSize = New Size(320, 240) ' Deprecated
videoSource.FrameSize = New Size(320, 240) ' Updated
```
请注意,FrameSize 属性可能不支持所有设备,因此请确保您的设备支持您需要的帧大小。
阅读全文