Main Content

从移动设备摄像头采集图像

设置移动设备

在您的移动设备上安装和设置 MATLAB® Mobile™。然后,从 MATLAB Mobile 的“设置”登录 MathWorks® Cloud。有关这些步骤的详细信息,请参阅在您的设备上安装 MATLAB Mobile登录到 Cloud

在您的设备上启动 MATLAB Mobile

创建到设备摄像头的连接

命令屏幕上,创建一个 mobiledev 对象 m

m = mobiledev
m = 
mobiledev with properties:

                   Connected: 1
            AvailableCameras: {'back' 'front'}
                     Logging: 0
            InitialTimestamp: ''

   AccelerationSensorEnabled: 0
AngularVelocitySensorEnabled: 0
       MagneticSensorEnabled: 0
    OrientationSensorEnabled: 0
       PositionSensorEnabled: 0

Supported functions

AvailableCameras 属性指示该设备具有 'back''front' 摄像头。创建与 'back' 摄像头的连接。

cam = camera(m,'back')
cam = 
  Camera with properties:

                    Name: 'back'
    AvailableResolutions: {'640x480'  '1280x720'}
              Resolution: '1280x720'
                   Flash: 'on'
               Autofocus: 'off'

camera 对象属性提供关于图像分辨率、自动对焦和闪光灯设置的信息。

使用即时快门模式采集图像帧

命令屏幕上,使用 snapshot 从摄像头采集一个图像。您的设备上会打开摄像头预览,并立即捕获图像。

img = snapshot(cam,'immediate');

使用 imageMATLABMobile 中显示采集的图像。

image(img)

Image of world map

设置摄像头属性

采集的图像使用默认摄像头设置。您可以设置摄像头属性来自定义图像质量。

当前分辨率是 '640x480'。将分辨率更改为 '1280x720'

cam.Resolution = '1280x720';

该摄像头支持 AutofocusFlash。将 Autofocus 设置为 'on'

cam.Autofocus = 'on';

Flash 设置为 'off'

cam.Flash = 'off';

camera 对象反映更新后的摄像头属性。

cam
cam = 
  Camera with properties:

                    Name: 'back'
    AvailableResolutions: {'640x480'  '1280x720'}
              Resolution: '1280x720'
                   Flash: 'off'
               Autofocus: 'on'

Image of world map

使用手动快门模式采集图像帧

使用更新的摄像头属性和手动快门模式捕获更高质量的图像。

命令屏幕上,从摄像头采集一个图像,并使用 snapshot 将快门模式指定为 'manual'。摄像头预览打开后,请移动您的移动设备以捕获所需的视野。准备好后,按快门按钮采集图像。

img = snapshot(cam,'manual');

使用 imageMATLABMobile 中显示采集的图像。

image(img)

另请参阅

| |