1
我有麻煩,需要您的幫助。我目前正在研究一個項目,該項目需要我首先使用Android設備捕捉自然場景(圖片),提取文本並識別文本。如何將圖片從android設備傳輸到Matlab,反之亦然
我已經通過Matlab實現了提取和識別的過程。現在我的問題是,我如何將從我的android手機中捕獲的圖片傳輸到MATLAB?處理圖像後如何將結果發送回手機?
請幫忙。代碼將不勝感激。
我有麻煩,需要您的幫助。我目前正在研究一個項目,該項目需要我首先使用Android設備捕捉自然場景(圖片),提取文本並識別文本。如何將圖片從android設備傳輸到Matlab,反之亦然
我已經通過Matlab實現了提取和識別的過程。現在我的問題是,我如何將從我的android手機中捕獲的圖片傳輸到MATLAB?處理圖像後如何將結果發送回手機?
請幫忙。代碼將不勝感激。
您可能可以使用客戶端/服務器套接字。我還沒有在Android上試過這個,但我認爲只要你有互聯網接入就可以工作。 Matlab client-server和Java client-server應該是兼容的,因爲你應該能夠在Matlab中運行一個服務器並通過android上的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 []發送,然後在另一端解析它。
第一部分,這可能是一個簡單的選擇:http://www.mathworks.com/matlabcentral/answers/12036-how-do-i-use-my-smart-phone-camera-as-a -webcam-in-matlab – 2012-04-11 14:06:37
@Surya這個項目的方法做得好嗎? – User404 2016-03-11 22:14:35