1

我有麻烦了,需要你的帮助。我目前正在做一个项目,该项目需要我首先使用 android 设备捕捉自然场景(图片),提取文本然后识别文本。

我已经通过matlab实现了提取和识别的过程。现在我的问题是,如何将从我的 android 手机捕获的图片传输到 MATLAB?图像处理后如何将结果发送回手机?

请帮忙。代码将不胜感激。

4

1 回答 1

2

您也许可以使用客户端/服务器套接字。我还没有在 Android 上尝试过这个,但我认为只要你有互联网接入它就可以工作。 Matlab 客户端-服务器Java 客户端-服务器应该兼容,因为您应该能够在 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[] 发送,然后在另一端解析它。

于 2012-04-09T10:05:35.157 回答