我一直在尝试用OpenCV(在Raspberry Pi 2上)从我的两台C920罗技相机捕获一个H264流。我得出的结论是,这是不可能的,因为它还没有执行。我在opencv/modules/highgui/cap_libv4l.cpp中看了一下,发现“videocapture-function”总是将pixelformat转换为bgr24。我试着把这个改成h264,但只得到了黑屏。我想这是因为它没有被正确地解码。
所以我做了一个变通方法:
我使用的gstreamer命令是:
“gst-launch-0.10 rtspsrc location=rtsp://admin:pi@127.0.0.1:8554/unicast!解码器!v4l2sink设备=/dev/video4
“
或者你知道我会在opencv highgui代码中做些什么,以便能够直接从我的设备中捕获h264,而不需要使用虚拟设备吗?那就太棒了!
我不知道您需要在OpenCV中更改哪些地方,但最近我开始在Raspberry PI上使用视频进行编码。
我会和你分享我的发现。
到目前为止我得到的是:
device.streamON();
v4l2_buffer bufferQueue;
while (!exit_requested){
//capture code
device.dequeueBuffer(&bufferQueue);
// use the h264 buffer inside bufferPtr[bufferQueue.index]
...
device.queueBuffer(bufferQueue.index, &bufferQueue);
}
device.streamOFF();
使用OpenMax IL解码h264:
BroadcomVideoDecode decoder;
while (!exit_requested) {
//capture code start
...
//decoding code
decoder.writeH264Buffer(bufferPtr[bufferQueue.index],bufferQueue.bytesused);
//capture code end
...
}
硬件: 1.树莓派2 2.树莓派相机 软件: 1。OpenCV 2.4。11 2。用C语言编程 我有以下简单的代码,可以从摄像机捕获视频并在窗口中显示 帧大小始终为640 x 480,尝试更改帧的宽度和高度(如注释行所示)没有帮助,并且保持为640 x 480。 我正在寻找一种方法,将帧的宽度和高度从我的代码(而不是外壳)更改为1920 x 1080 如果可以通过OpenCV或V4l2驱动程序完成
在OpenCV上使用class VideoCapture时如何旋转摄像头?(Android上的人脸检测示例)。我正在旋转画布: 但摄像机的图像并没有旋转:人脸检测不起作用。 摄像头从以下位置接收流: 我做了以下更新: 但这是行不通的。当我以portret方向运行程序时(在android设备上)——当我以横向方向运行程序时,程序不会启动——程序工作,但当我旋转设备时,程序工作,但显示屏上的图像不会旋
我尝试用全高清分辨率的罗技C920摄像头捕捉视频。它提供30 fps与此分辨率。 它以30 fps的速度与windows摄像头应用程序配合使用,但无论我如何尝试,我都无法通过opencv videoCapture获得这种fps速度。 注意:我使用windows 10和vs15。我尝试了不同的usb端口,opencv版本和编解码器。结果是相同的,〜5 fps。 我测量fps忽略前10帧。下面是我的计
我正在使用Python 2.7和OpenCV 2.4。9 我需要捕获显示给用户的当前帧,并将其加载为Python中的cv::Mat对象。 你们知道一种快速递归的方法吗? 我需要像下面的例子中所做的那样,从网络摄像头递归地捕获Mat帧: 在本例中,它使用了VideoCapture类来处理从网络摄像头捕获的图像。 用视频捕捉。read()新帧总是被读取并存储到Mat对象中。 我可以将“打印屏幕流”加载
我正在尝试通过使用open CV连接cp plus ip camera到我的应用程序。我试了很多方法来捕捉画面。帮助我捕捉帧使用“RTSP”协议。IP cam的URL是“rtsp://admin:admin@192.168.1.108:554/videoinput/1/mpeg4/1”。我用VLC播放器试过这个。起作用了。如果有方法通过libvlc捕获帧并传递到open CV中,请提及该方法。
我正试图从IP摄像机实时捕捉图像。该流在VLC中工作得非常好,但是OpenCV的似乎混淆并损坏了传入的图像,以至于无法识别。 同样,从文件捕获工作很好,但不是实时流。如果它有不同,我使用rtsp连接URL;我也尝试了两个不同型号的相机(不同品牌),问题仍然存在。 此外,(我假设)编解码器正在输出以下几种错误:和。 我能做什么?