2016-02-26 58 views
2

我們目前正在研究一個機器人項目,我們希望通過OpenCV識別元素。檢測已經在OpenCV中與視頻一起工作。如何將OpenCV WebRTC流轉換爲Java

對於硬件,我們使用Raspicberry B2與Raspicam。經過漫長的搜索後,我們發現http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14

WebRTC解決方案是迄今爲止最低滯後200-300ms的解決方案。現在我們希望打開Java中的WebRTC流,但是到目前爲止我們還沒有實現。

任何指針我們如何在OpenCV中打開WebRTC流在Java中?

回答

1

對於任何有興趣在這裏,我們如何能夠在H264流與200-300ms的WLAN上的延遲連接的OpenCV:

  1. 與納米WLAN適配器創建WLAN熱點:
    我們使用一個愛迪麥斯EW-7811Un

按照教程於:
http://www.daveconroy.com/turn-your-raspberry-pi-into-a-wifi-hotspot-with-edimax-nano-usb-ew-7811un-rtl8188cus-chipset/

  • 在樹莓派上安裝uv4l:

    $ curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo易於鍵添加 -

  • 以下行添加到文件/etc/apt/sources.list:

    deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main 
    

    $ sudo易於得到更新
    $ sudo易於得到安裝uv4l uv4l-raspicam

    詳細指令和文件的位置: http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14

  • 安裝OpenCV 3。0 AUF視窗計算機:
  • 我們使用根據本教程安裝在ecplise的OpenCV: http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/java_eclipse/java_eclipse.html

  • 運行在覆盆子PI服務器:
    要麼根據linux-projects網站或按照命令行安裝uv4l-server
    uv4l --auto-video_nr --driver raspicam --width 640 --height 480 --encoding h264 --server-option' - -port = 8080'

  • 連接到流:

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    Mat image = new Mat();
    VideoCapture capture = new VideoCapture();
    capture.open(「http://IPADDRESSofRaspberry:8080/stream/video.h264」);
    capture.read(image);

  • 重要的提示和潛在的錯誤:

    檢查uv4l的速度,加速度和分辨率的文檔。我們用640x480 @ 30fps。
    如果您想檢查流是否加載,您可以在VLC mediaplayer中打開它,但請務必設置正確的分路器: http://www.stardot-tech.com/kb/index.php?View=entry&EntryID=186