发布时间:2026-07-21阅读(1)
我们生活中经常会问遇到手机拍照内存不够该怎么办?朋友圈经常看到各种运动轨迹 APP记录的跑步路线图,我们感到好玩,但是我们不禁还想问如何实现的呢?其实这都和手机中的传感器有关。手机是一个高度集成的电子产品,除了能通讯外,他还集中了很多的传感器,包括加速度、角速度、磁场、方向、位置。那么上面有关拍照上传或者读取传感器数据的问题都可以用matlab 软件实现,以下讲进行讲解。
一、硬件准备:智能手机一部、电脑一台;
二、软件准备:安卓/iso手机安装Matlab mobile;
电脑安装matlab版本需要在R2014以上版本,且需要安装MATLAB Support Package for Android Sensors in MATLAB/MATLAB Support Package for Apple iOS Sensors in MATLAB、matlab driver connector和相应的mapping tool box
手机数据到电脑的原理图如下图,这里需要注意的是在移动端和PC端的matlab软件需要使用同一账户登录。

1、手机安装Matlab mobile

警告需要许可证编号升级,否则无法使用,可以通过进入官网获取一个月试用权限。选择流式传输至Matlab。

使用自己的邮箱账号进行注册和登记(手机版登陆的matlab账号)

在手机上打开matlab mobile 可以正常使用,打开传感器,可以看到传感器记录的息。如上图所示。
2、电脑Matlab drive connector等软件安装
Matlab大家都比较熟悉了,这里就不再介绍。从网上下载,如下图安装Matlab drive connector,手机上的matlab mobile记录数据信息后,会发送到云端,电脑上的matlab可以通过Matlab Drive Connector在云端接收到这些信息,然后对数据进行处理。

3、Matlab Mobile 记录数据
如下图箭头所示进如软件,选择传感器都为启动状态,并且在“更多”选项中打开摄像头。

点开箭头所示位置进入命令行界面输入
clear;
m=mobiledev;
如下图,点击开始,手机进行记录数据数据。然后就可以拿着手机沿着待测量的路径行走。

数据记录结束后,点击停止,结束记录数据
如上图右图 手机软件中输入命令:
[lat, lon, t, spd] = poslog(m);
posdata.lat = lat;
posdata.lon = lon;
posdata.t = t;
posdata.spd = spd;
save(posdata.mat,posdata);
4、电脑 Matlab 进行数据处理和显示
之后进入matlab 跳转到Drive connector文件夹中可以看到保存的mat文件

打开matlab ,跳转到Drive connector文件夹中运行,以下代码,结果如下图
load(posdata.mat);
lat=posdata.lat;
lon=posdata.lon;
spd=posdata.spd;
t=posdata.t;
t=t-t(1);
wm=webmap(World Street Map);
s=geoshape(lat,lon);
wmline(s,color,red,width,3);

5、同理拍照
根据以上介绍,解决拍照空间不足的问题,我们可以解决。只需要在上面介绍的3、Matlab Mobile 记录数据中存储传感器代码换为如下即可。
clear;
close all;
clc;
%相机数据采集
m=mobiledev;
c=camera(m,back)
while 1
img=snapshot(c,immediate);%打开后置摄像头
img=imresize(img,[227,227]);%图像resize
pause(0.2)
try
imwrite(img,get.jpg);%保存
end
end
运行结束后我们可以在Drive connector文件夹中可以看到保存的相机get文件,这样我们就可以不占用手机内存,把相片发送到matlab云端,进而转移到我们的电脑里。

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图