我用的是2021a版本的matlab
第一步:下载硬件支持包
但我的版本出现的是这个画面
不是这样的
这个时候不要着急!
点击这个网址
开始下载工具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博客