我有麻烦了,需要你的帮助。我目前正在做一个项目,该项目需要我首先使用 android 设备捕捉自然场景(图片),提取文本然后识别文本。
我已经通过matlab实现了提取和识别的过程。现在我的问题是,如何将从我的 android 手机捕获的图片传输到 MATLAB?图像处理后如何将结果发送回手机?
请帮忙。代码将不胜感激。
我有麻烦了,需要你的帮助。我目前正在做一个项目,该项目需要我首先使用 android 设备捕捉自然场景(图片),提取文本然后识别文本。
我已经通过matlab实现了提取和识别的过程。现在我的问题是,如何将从我的 android 手机捕获的图片传输到 MATLAB?图像处理后如何将结果发送回手机?
请帮忙。代码将不胜感激。
您也许可以使用客户端/服务器套接字。我还没有在 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[] 发送,然后在另一端解析它。