我是靠谱客的博主 热心海燕,最近开发中收集的这篇文章主要介绍MATLAB摄像头实时图像处理第一步:安装硬件支持包第二步:获取摄像头信息第三步:数据实时处理最后,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(来点有用的)MATLAB摄像头实时图像处理

  • 第一步:安装硬件支持包
  • 第二步:获取摄像头信息
  • 第三步:数据实时处理
  • 最后

by HPC_ZY


第一步:安装硬件支持包

  1. 打开附加功能项
    在这里插入图片描述
  2. 查找如下摄像头支持包在这里插入图片描述

第二步:获取摄像头信息

  1. 输入 imaqhwinfo,查看当前适配器
    在这里插入图片描述
    如图,我们的适配器名为 winvideo

  2. 输入imaqhwinfo(‘winvideo’),查看该适配器下所有设备

在这里插入图片描述
由于没有接入USB摄像头,当前只有笔记本电脑自带的摄像头

  1. 通过DeviceInfo查看摄像头详细信息
    在这里插入图片描述
    其中 SupportedFormats是该摄像头支持的图像色彩与尺寸,我的设备如下:
    在这里插入图片描述

  2. 上述代码

% 查看适配器
disp(imaqhwinfo)
% 查看设备及其支持的格式
info = imaqhwinfo('winvideo');
disp(info.DeviceInfo.SupportedFormats)


第三步:数据实时处理

有了前面的准备,就可以正式开始了。

  1. 连接摄像头获取数据
% 生成对象并同步画面
obj = videoinput('winvideo',1,'MJPG_640x480');
h = preview(obj);

运行代码会弹出以下界面,实时画面在这里插入图片描述

  1. 导出图像数据
    利用此函数 getsnapshot(obj) 即可导出图像,若想连续导出可通过以下方式
figure
while ishandle(h)
    frame = getsnapshot(obj);  % 获取帧
    imshow(frame)
    drawnow
end

注:
(1)帧率跟电脑配置有关,在当前尺寸下我只能达到10帧;
(2)通常直接使用MJPG格式,如果需要使用YUY2格式,在显示时用 ycbcr2rgb()将其改为RGB即可。

  1. 实时图像处理:简单边缘提取
    只需在上述代码中稍作修改
figure
while ishandle(h)
    frame = getsnapshot(obj);  % 获取帧
    % -----------此处可添加你需要的操作------------
    imedge = edge(rgb2gray(frame),'log') % 计算log边缘
    % -------------------------------------------
    subplot(121),imshow(frame)
    subplot(122),imshow(imedge)
    drawnow
end

效果图如下(由于太懒没有制作动图,仅截图示意,大家可自行测试)
在这里插入图片描述

最后

在此基础上,就可以进行更多高级操作,如:目标检测、运动追踪、双目测距……

有任何问题欢迎讨论,最后还是把测试代码上传
https://download.csdn.net/download/xsz591541060/11152130
由于很简单,不推荐下载,除非你买了年VIP。

最后

以上就是热心海燕为你收集整理的MATLAB摄像头实时图像处理第一步:安装硬件支持包第二步:获取摄像头信息第三步:数据实时处理最后的全部内容,希望文章能够帮你解决MATLAB摄像头实时图像处理第一步:安装硬件支持包第二步:获取摄像头信息第三步:数据实时处理最后所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部