2017-09-06 65 views
-2

我正在開發一個針對android的AR應用程序。爲此,我想將Mat圖像幀發送到後端PC以處理該圖像。我成功捕獲了Mat圖像幀並將其轉換爲byte []數組,如下所示。從Android發送Mat框架到PC

@Override 
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) { 

    Mat rgb = inputFrame.rgba(); 

    byte[] arr = ConvertImageToByteArray(rgb.getNativeObjAddr()); 

    System.out.println(arr.length); 
    detectEdges(rgb.getNativeObjAddr()); 
    return rgb; 
} 

任何人都可以給我建議的方式來發送這個墊RGB幀到後端,我應該如何解析回它的形象。這更好如果你可以提供用於後端的python腳本和android的java代碼片段。

+0

這個問題太廣泛了,得不到一個好的答案,我會這樣標記。它基本上是問「如何序列化Mat對象,以及如何將Android上的IO網絡連接到任意網絡服務」。我能想到的唯一建設性的東西就是研究OkHttp和/或Retrofit。此外,閱讀[如何問](https://stackoverflow.com/help/how-to-ask)和[如何創建一個最小的,可驗證的示例](https://stackoverflow.com/help/mcve)for使用本網站的結果更好。 – theFunkyEngineer

+0

你想通過數據線或無線發送圖像嗎? – zindarod

+0

@ Zindarod通過無線(WiFi) –

回答

0

我找到了一個解決方案, 而不是使用opencv,我使用MJPEGHTTPstreamer作爲示例here