Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 使用Emgu CV'连接到IP摄像头;s Capture=New Capture()_Vb.net_Ip Address_Emgucv - Fatal编程技术网

Vb.net 使用Emgu CV'连接到IP摄像头;s Capture=New Capture()

Vb.net 使用Emgu CV'连接到IP摄像头;s Capture=New Capture(),vb.net,ip-address,emgucv,Vb.net,Ip Address,Emgucv,使用Visual Basic 2008和Emgu CV,我可以在PC上捕获网络摄像头的流。我想做的是连接到IP摄像头,知道其URL,使用capture=New capture()。 以下是我的代码: Imports Emgu.CV Imports Emgu.CV.Util Imports Emgu.CV.Structure Public Class Form1 Dim capturez As Capture = New Capture("rtsp://[IP Address]/mpeg4/m

使用Visual Basic 2008和Emgu CV,我可以在PC上捕获网络摄像头的流。我想做的是连接到IP摄像头,知道其URL,使用capture=New capture()。

以下是我的代码:

Imports Emgu.CV
Imports Emgu.CV.Util
Imports Emgu.CV.Structure

Public Class Form1

Dim capturez As Capture = New Capture("rtsp://[IP Address]/mpeg4/media.amp")

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    Dim imagez As Image(Of Bgr, Byte) = capturez.QueryFrame()
    PictureBox1.Image = imagez.ToBitmap()

End Sub

End Class
我收到以下错误:无法从rtsp创建捕获://[IP地址]/mpeg4/media.amp

是否可以使用Capture=New Capture执行此操作?如果没有,他们还有其他方法吗


谢谢。

这台相机有ip用户名和密码吗?如果您尝试以下方法:

Imports Emgu.CV
Imports Emgu.CV.Util
Imports Emgu.CV.Structure

Public Class Form1

Dim capturez As Capture = New Capture("rtsp://username:password@[IP Address]/mpeg4/media.amp")

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dim imagez As Image(Of Bgr, Byte) = capturez.QueryFrame()
PictureBox1.Image = imagez.ToBitmap()

End Sub


End Class

这个摄像头有ip用户名和密码吗?如果您尝试以下方法:

Imports Emgu.CV
Imports Emgu.CV.Util
Imports Emgu.CV.Structure

Public Class Form1

Dim capturez As Capture = New Capture("rtsp://username:password@[IP Address]/mpeg4/media.amp")

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Dim imagez As Image(Of Bgr, Byte) = capturez.QueryFrame()
PictureBox1.Image = imagez.ToBitmap()

End Sub


End Class

这就是我最后使用的解决方案。它只适用于JPEG网络摄像头(不是MJPEG),不需要EmguCV

'Connect To Webcam ----------------------------------------------------------------------
    Dim NumberFrames As Integer = 1
    Dim imgNum = Convert.ToString(FrameNumber)
    Dim sourceURL As String = ("http://91.142.238.200/record/current.jpg?rand=" + imgNum)
    'create HTTP request
    Dim req As HttpWebRequest = HttpWebRequest.Create(sourceURL)
    'get response
    Dim res As HttpWebResponse = req.GetResponse
    'get response stream
    Dim reader As New StreamReader(res.GetResponseStream())
    'read data from stream
    Dim img As Image = Image.FromStream(res.GetResponseStream())
    'get bitmap
    PictureBox1.Image = img
    'Increment frame
    FrameNumber = FrameNumber + 1
    '-----------------------------------------------------------------------------------------

这就是我最后使用的解决方案。它只适用于JPEG网络摄像头(不是MJPEG),不需要EmguCV

'Connect To Webcam ----------------------------------------------------------------------
    Dim NumberFrames As Integer = 1
    Dim imgNum = Convert.ToString(FrameNumber)
    Dim sourceURL As String = ("http://91.142.238.200/record/current.jpg?rand=" + imgNum)
    'create HTTP request
    Dim req As HttpWebRequest = HttpWebRequest.Create(sourceURL)
    'get response
    Dim res As HttpWebResponse = req.GetResponse
    'get response stream
    Dim reader As New StreamReader(res.GetResponseStream())
    'read data from stream
    Dim img As Image = Image.FromStream(res.GetResponseStream())
    'get bitmap
    PictureBox1.Image = img
    'Increment frame
    FrameNumber = FrameNumber + 1
    '-----------------------------------------------------------------------------------------

嗯,那些IP摄像机,是不是更像是一个网站,你必须点击一些部分,以获得图片?那么mpeg4/media.amp为您提供了一个流?也许你可以从一个提供静态图片的地址开始,然后越来越频繁地拉一张新图片,作为第一个肮脏的解决办法。嗯,那些IP摄像头,它不是更像一个网站,你必须点击一些部分才能得到图片吗?那么mpeg4/media.amp为您提供了一个流?也许您可以从一个提供静态图片的地址开始,然后越来越频繁地提取新图片,作为第一个肮脏的解决方法您的问题是什么?是的,是否可以使用Capture=new Capture();您的问题是什么?是的,是否可以使用Capture=New Capture();