我想實現的是,我有一個與pi相機v2的樹莓3連接到我的本地wifi。我想從樹莓派傳送實時視頻到運行Ubuntu的計算機。在我的電腦上,我試圖用opencv實時處理該視頻。下面的代碼只是一個示例代碼,用於測試在我的Ubuntu計算機上來自樹莓派的視頻。我使用netcat來傳輸視頻,並在代碼下方列出了shell腳本。從Raspberry pi流視頻到Opencv應用程序在遠程計算機上
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
VideoCapture cap;
cap.open("/dev/stdin");
if (!cap.isOpened())
return -1;
Mat edges;
namedWindow("edges",1);
for(;;){
Mat frame;
cap>>frame;
imshow("edges",frame);
if(waitKey(30)>=0)break;
}
return 0;
}
這是在opencv中播放流的代碼。
- 首先我使用重定向流到我的opencv應用程序。 nc -l -p 5001 | ./app
- 然後運行我的樹莓相機並使用netcat進行流式處理 raspivid -t 999999 -o | nc x.x.x.x 5001 x是客戶端電腦的ip地址。
這對我不起作用,但我用mplayer 通過運行nc -l -p 5001 | mplayer -fps 31 -cache 1024 - 它完美的工作。
我想我的問題是我沒有正確捕獲我的opencv應用程序的流。我需要幫助。
請嘗試和什麼你實際上是試圖實現更清晰一點,哪個代碼在哪裏運行,以及如何喲你編譯它等等。廣告它,你的代碼是不完整的 - 至少沒有頭文件。你使用什麼相機?你的網絡是什麼樣的?每臺計算機上運行什麼操作系統? –
我想我已經說得更清楚了。如果你能提供任何建議,將不勝感激。 –
我會在Raspberry Pi上運行'raspivid'並將5秒的視頻捕獲到Raspberry Pi上的本地磁盤文件中。然後使用'FTP'或'scp'將文件傳輸到您的Ubuntu並使用'./app