2012-04-09 6 views
1

私は困っており、あなたの助けが必要です。私は現在、アンドロイドデバイスを使用して自然の風景(写真)をキャプチャし、テキストを抽出してテキストを認識する必要があるプロジェクトに取り組んでいます。アンドロイドデバイスからMatlabに画像を転送する方法とその逆

私はすでにMatlabで抽出と認識のプロセスを達成しています。今私の問題は、私はどのように私のアンドロイドの携帯電話からMATLABにキャプチャされている画像を転送することができますですか?画像を処理した後で結果を電話に戻す方法は?

助けてください。コードをいただければ幸いです。

+1

最初の部分は、これは単純なオプションの1つです。http://www.mathworks.com/matlabcentral/answers/12036-how-do-i-use-my-smart-phone-camera-as-a -webcam-in-matlab –

+0

@Suryaこのプロジェクトアプローチはうまくいくのですか? – User404

答えて

2

クライアント/サーバーソケットを使用できる場合があります。 Androidでこれを試したことはありませんが、インターネットにアクセスできる限り動作すると思います。 Matlab client-serverJava client-serverは互換性があります.Matlabでサーバーを実行し、アンドロイドのJavaクライアントからサーバーに接続できるはずです。 Matlabのサーバーは、次のようになります。

tcpipServer = tcpip('0.0.0.0',port,'NetworkRole','Server'); 
fopen(tcpipServer); 
imageSize = fread(tcpipServer, 2, 'int32'); 
image = zeros(imageSize(1), imageSize(2), 3); 
for x=1:imageSize(1) 
    for y=1:imageSize(2) 
    image(x, y, :) = fread(tcpipServer, 3, 'double'); 
    end 
end 
%Process image 
fwrite(tcpipServer, results, 'double'); %or 'char' 

とJavaクライアントのようなものかもしれない:私は物事がデータ型で動作する方法を正確にはわからない

Socket s = new Socket(<Server IP>, port); 
out = new PrintWriter(s.getOutputStream(), true); 
in = new BufferedReader(new InputStreamReader(s.getInputStream())); 

out.println(image.getWidth()); 
out.println(image.getHeight()); 
for (int x = 1; x < image.getWidth(); x++) { 
    for (int y = 1; y < image.getHeight(); y++) { 
    //Write the RGB values. I can't remember how to pull these out of the image. 
    } 
} 

String results = in.readLine(); 

。 PrintWriter以外のものが良いかもしれません。あるいは、すべてをchar []として送信し、もう一方の端で解析する必要があるかもしれません。