如何在Vb.Net中旋转使用DirectX获取的摄像机视图? [英] How do I rotate a camera view got with DirectX in Vb.Net ?
本文介绍了如何在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屋!
查看全文