实验室技能控制相机利用程控相机采集图片,可以实现采集任务的自动化,大大提高了实验效率。安装摄像机控制软件在预备资源中下载并安装摄像机控制软件。安装后,控制相机所需的文件将被解压缩。
COI实验室技能:MATLAB控制PCO相机
利用程序控制摄像头采集图片,可以实现采集任务的自动化,大大提高实验效率。本文将系统介绍如何掌握这项技能。从以下几个方面介绍:环境配置-> GUI界面使用->脚本编写->项目实践。PCO有三种matlab控制方法可以支持-适配器,电影包和sdk。本文主要介绍方便实用的适配法(特别感谢袁海明课题组)。本文介绍的逻辑思想也适用于其他摄像机(不限于PCO摄像机)的控制。
1.初步资源和知识点2。环境配置2.1安装PCO相机控制软件2.2安装PCO matlab包2.3配置matlab环境3。MATLAB控制摄像头的GUI介绍(★★★) 4。以脚本的形式实现摄像头控制(★★★★) 5。实践项目(★★★★★) 5.1基于matlab实现动态范围的最大化利用。5.1.1最大利用率模型。5.2基于matlab实时展示模型对采集图像的处理结果。6.总结PS:这篇文章比较长。如果只是想简单的用matlab控制相机,看第三、四节就好了。
1.前期资源及知识点matlab资源:微信“软件管家”->回复“MATLAB”->按说明安装,珀杰版资源建议仅供个人学习;PCO摄像头控制软件:https://www .pco官网提供的PCO.cn/software/camera-control-software/pcocamware/matlab包装和说明:https://www.pco.cn/software/third-party-software/matlab/有pco相机或其他可以连接电脑的相机;要测试你是否掌握了这项技能,可以通过解决以下问题来测试:
配置环境,通过图像采集工具箱预览;用matlab实现PCO相机的自动曝光:基于某种模型实时采集和处理图像。这项技术的特点:
只需要USB连接电脑,不需要额外的图像采集卡。可以方便地实现控制;注意:如果已经熟练配置了环境,可以直接跳过第二节。
2.在环境配置正常工作之前,需要配置matlab控制PCO所需的环境。基本流程如下:环境配置非常简单。下面给出了具体配置的中间流程,如果能理解其含义可以快速跳过。
2.1安装PCO摄像机控制软件在预备资源中下载并安装PCO摄像机控制软件camware。首先确保图片在PCO相机控制软件下可以正常采集:
2.2安装PCO的matlab包,测试摄像头控制软件后,说明摄像头和电脑的串口通讯正常。接下来,下载并安装预备资源中PCO的matlab包。安装后,matlab控制摄像头所需的文件会被解压。安装的文件如下:这个安装包支持matlab控制相机的三种方式。本文主要介绍适配器的方式。
2.3配置matlab环境打开上一节安装的adaptor文件夹,其中“readme.txt”介绍了配置过程。整理出需要配置的内容,包括:
安装附加工具包“MinGW-w64”编译器;安装附加工具包“图像采集工具箱”;将adaptor文件夹设置为matlab的当前路径;在matlab命令窗口输入“pco_imaqregister”,它会自动安装所需的dll文件;在命令行输入“imaqhwinfo”验证环境是否配置成功;(1)安装附加工具包“MinGW-w64”编译器的流程:点击matlab菜单栏首页->点击附加函数->搜索安装“MinGW-w64”(可能需要登录mathwork的账号,但无法注册一个);(2)安装附加工具包“图像采集工具箱”的流程:点击matlab菜单栏首页->点击附加功能->搜索安装“图像采集工具箱”;(3)在matlab命令窗口输入“pco_imaqregister”,它会自动安装所需的dll文件,将adaptor文件夹设置为当前matlab的路径,然后在命令行窗口运行“PCO _ IMAQ注册”;(4)在命令行输入“imaqhwinfo”检查环境是否配置成功。如果运行以上指令,弹出结果“InstalledAdaptors:”有内容,说明环境配置成功,然后就可以通过matlab实现对PCO的控制了。
3.matlab相机控制的GUI介绍(★★★★)环境配置成功后,打开matlab菜单栏app中的“图像采集”工具包,会弹出MATLAB的相机控制窗口。掌握这个技能是以后灵活编写代码的关键,以后需要设置的指令可以直接从GUI操作中找到。如下图所示,作者已经标注了关键信息。特点:
可以通过GUI查看matlab环境是否配置成功;通过GUI的摄像头属性设置和右下角的命令指示窗口,可以得到属性设置的代码指令;包括设置曝光时间、每次采集数量、是否添加时间戳、是否添加延迟、触发模式、快门模式等的指令。4.以脚本的形式实现相机控制(★★★)。在掌握GUI操作的基础上,我们可以根据指令编写自己的相机控制脚本。基本流程如下:根据上述流程和GUI的指令,我们可以编写如下最简单的采集程序:
%通过matlab codeclc控制摄像头,clear close all % get source vid = video input(" pcocameraaadaptor _ r 2020 a ",0," USB 3.0 ");src = getselectedsource(vid);%初始化摄像机属性vid。framesper trigger = 1;%设置每个触发器中的收集号码。E1ExposureTime _ unit = " ussrc。E2ExposureTime = 10000%正在收集图像启动(vid);While get(vid," FramesAvailable ")收集一张图片->计算前2%值的平均值V ->% e_t=6553/V*e_t ->重新收集图片->计算前2%值的平均值V-> e _ t = 65535/v * e. clc,clear close all % get source vid = video input(" pcocameraadaptor _ r 2020 a ",0," USB 3.0 ");src = getselectedsource(vid);% initializationvid。framesper trigger = 1;exposure _ time = 10000src。E1ExposureTime _ unit = " ussrc。E2ExposureTime = exposure _ timeFprintf("实现自动曝光的测试程序/n ");% capture image start(vid);while get(vid," FramesAvailable ")
评论前必须登录!
注册