由于各种原因,这可能比你期望的要困难得多.
第一个是带宽.适度的原始视频流(640×480像素,每通道8位,每秒30帧),需要200mbps的带宽.虽然USB(2)很容易达到这些速度,但您很难找到可靠的无线连接.
现在你可能在想
How come I can watch 1080p internet videos in my phone with no problem whatsoever then?
实际上,通过网络传输的所有视频都使用专门的算法进行压缩,例如MPEG4,H.264和VP8.这些算法大大减少了传输视频所需的带宽.
Great! Then I can just compress the video from my phone live and stream it to my computer
没那么快!这有两个主要问题.
首先,为了实现视频数据量的大幅减少,视频压缩器(编码器)需要花费大量处理能力来处理视频.您可能会发现您的手机没有足够的CPU功率(或专用硬件)来以可用于您的任务的分辨率和帧速率对视频进行编码.
如果你设法解决这个问题并找到一个能够完成工作的应用程序,那么第二个问题是,为了在OpenCV中获取(编码的)视频数据,你需要对其进行解码!您可以找到现成的软件来解码视频文件,但是为了解码实时视频流,您需要对软件进行编程以执行解码(最好使用库或OpenCV itself).
在这一点上,你会诅咒和后悔你没有花15美元在网络摄像头上(但你会在这个过程中学到很多有趣的东西:)