MATLAB App Designer调用摄像头拍照并在坐标轴上显示

我用的是2021a版本的matlab

第一步:下载硬件支持包

但我的版本出现的是这个画面

不是这样的

这个时候不要着急!

点击这个网址

Image Acquisition Toolbox Support Package for OS Generic Video Interface - File Exchange - MATLAB Central (mathworks.cn)

开始下载工具1和工具2

可能会让登入邮箱,这个时候就照做注册一个账户就好了,不需要激活码之类的也可以。

第二步:把下载的这两个工具另存到安装matlab的bin/win64里

第三步:在matlab中找到刚存的路径,双击,安装这两个工具

选择“我接受”之后下载就能在已安装中找到了

(PS:可能还会登入一下邮箱)

以上就是安装步骤了

下面开始拍照了:

第四步:

在命令行中输入:imaqhwinfo  回车

获得参数

第五步,在app designer中选择拍摄图片的按钮的回调函数,输入代码:(需要提前声明全局变量        vid 和  mypic)

        % Button pushed function: Button_camin
        function Button_caminPushed(app, event)
            %按钮-拍摄图片

            imaqreset %每次执行命令时断开并删除所有图像采集对象
            % 赋值给全局变量vid
            app.vid = videoinput('winvideo', 1,'MJPG_1280x720');
            vidRes = get(app.vid, 'VideoResolution');%视频分辨率
            nBands = get(app.vid, 'NumberOfBands');%谱带数量
            hImage = image(zeros(vidRes(2),vidRes(1),nBands),'parent',app.UIAxes);%将调用的相机窗口集成在app designer中的UIAxes中。
            app.vid.FramesPerTrigger = 1;
            app.vid.TriggerRepeat =1;
            %显示
            set(app.UIAxes,'XLim',[0,1300]);%X轴的数据显示范围
            set(app.UIAxes,'YLim',[0,700]);%y轴的数据显示范围
            preview(app.vid,hImage);  %创建一个视频预览窗口

        end

        其中,app.vid = videoinput('winvideo', 1,'MJPG_1280x720');这句代码是通过image acquisition找到适合的相机,并记住相机名。

第六步:在监听键盘按下的函数中,实现拍摄动作,并将拍摄的照片显示在坐标轴上,并关闭摄像头。

 % Key press function: UIFigure
        function UIFigureKeyPress(app, event)
            %键盘-enter
             disp(['按下的键是:', event.Key]);
%             key = event.Key;
            if strcmp(event.Key, 'return')
               
                disp('Enter 键被按下了!');
                
                app.mypic = getsnapshot(app.vid);
                set(app.UIAxes_2,'XLim',[0,1300]);%X轴的数据显示范围
                set(app.UIAxes_2,'YLim',[0,700]);%y轴的数据显示范围
                imshow(app.mypic ,'Parent',app.UIAxes);
                % 保存图片
                %             imwrite(app.mypic, 'image.png');
                % 关闭摄像头
                stop(app.vid);
                closepreview(app.vid);
                delete(app.vid);
            end
        end

第七步:测试。点击拍摄按钮,在摆好动作后点击键盘上的enter键,这时,照片就能出现在坐标轴上了。

至此,完成了调用摄像头拍照并在坐标轴上显示的工作。

参考博客:

1.MATLAB获取硬件支持包的完整解决方案_附加功能 获取硬件支持包-CSDN博客

2.matlab第三方硬件支持包下载和安装_matlab获取硬件支持包-CSDN博客

3.Matlab系列之APP Designer(获取摄像头画面并实时显示或拍照保存)_matlab webcam app designer-CSDN博客

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值