如何在Vb.Net中旋转使用DirectX获取的摄像机视图? [英] How do I rotate a camera view got with DirectX in Vb.Net ?

查看:141
本文介绍了如何在Vb.Net中旋转使用DirectX获取的摄像机视图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好。



我正在用相机做点什么。我使用DirectX.Capture和DShowNET库来查看我的相机视图到一个图片框。我的问题是我需要在视图处于正确位置之前将我的摄像机视图旋转270°。



我在很多帖子中搜索过这个问题,但没有。在Vb.Net或甚至在C#中曾经有人这样做过吗?如果是的话,你能帮我找一个解决方案吗?



感谢您的帮助。

Hi Everybody.

I'm working on something with a camera. I use DirectX.Capture and DShowNET libraries to look at my camera view into a picturebox. My problem is that i need to rotate my camera view at 270° before the view is in a correct position.

I've searched for that matter in a lot of posts but nothing. Is is someone here who has ever done it in Vb.Net or even in C# ? If yes, could you please help me to find a solution ?

Thanks for your help.

推荐答案

Brian Low和Blas5写了关于DirectX.Capture类的文章图书馆。

DirectX.Capture类库 [ ^ ]

< a href =http://www.codeproject.com/Articles/4740/Capture-Sample-with-DirectX-and-NET>使用DirectX和.NET捕获示例 [ ^ ]

您可以向他们发送关于您的请求的PM。
Brian Low and Blas5 wrote articles about the DirectX.Capture Class Library.
DirectX.Capture Class Library[^]
Capture Sample with DirectX and .NET[^]
You can maybe send them a PM about your request.


这是我最终找到的。不完美,但它有一段时间对我有帮助。

参考文献:DirectX.Capture.dll和DShowNET.dll



Public Class Prise_Image



'仅供流媒体使用

Dim Camera As DirectX.Capture.Filter

Dim CaptureInfo作为DirectX.Capture.Capture

Dim CamContainer As DirectX.Capture.Filters = New DirectX.Capture.Filters()

Dim CaptureImage As Image



Private Sub Prise_Image_FormClosed(ByVal sender) As Object,ByVal e As System.Windows.Forms.FormClosedEventArgs)Handles Me.FormClosed

CaptureInfo.Stop()

End Sub



Private Sub Prise_Image_Load(ByVal sender As Object,ByVal e As System.EventArgs)Handles Me.Load

'Activation delavidéo

Initialiser_Streaming_Camera( )

End Sub



Private Sub Initiali ser_Streaming_Camera()

Dim nb_of_cam As Integer = CamContainer.VideoInputDevices.Count

For i As Integer = 0 to nb_of_cam

试试

Camera = CamContainer.VideoInputDevices(i)'获取视频输入设备

CaptureInfo = New DirectX.Capture.Capture(Camera,Nothing)'使用视频输入设备初始化Capture

CaptureInfo.PreviewWindow = Me.Pic_Pic'设置输入视频预览窗口(这里是一个图片框)

'ActureInfo.FrameRate = 29.997'设置输入视频率

'ActureInfo.FrameSize =新尺寸(640,480)'设置输入视频尺寸

CaptureInfo.Start()

Catch ex As Exception

结束尝试

下一页

结束子



结束班
Here is what i've finally found. Not perfect but it helps me for a while.
References : DirectX.Capture.dll and DShowNET.dll

Public Class Prise_Image

' Just for the streaming
Dim Camera As DirectX.Capture.Filter
Dim CaptureInfo As DirectX.Capture.Capture
Dim CamContainer As DirectX.Capture.Filters = New DirectX.Capture.Filters()
Dim CaptureImage As Image

Private Sub Prise_Image_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
CaptureInfo.Stop()
End Sub

Private Sub Prise_Image_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Activation de la vidéo
Initialiser_Streaming_Camera()
End Sub

Private Sub Initialiser_Streaming_Camera()
Dim nb_of_cam As Integer = CamContainer.VideoInputDevices.Count
For i As Integer = 0 To nb_of_cam
Try
Camera = CamContainer.VideoInputDevices(i) 'get the video input device
CaptureInfo = New DirectX.Capture.Capture(Camera, Nothing) 'initialize the Capture using the video input device
CaptureInfo.PreviewWindow = Me.Pic_Pic 'set the input video preview window (a picturebox here)
'CaptureInfo.FrameRate = 29.997 'set the input video rate
'CaptureInfo.FrameSize = New Size(640, 480) 'set the input video size
CaptureInfo.Start()
Catch ex As Exception
End Try
Next
End Sub

End Class


这篇关于如何在Vb.Net中旋转使用DirectX获取的摄像机视图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆