Win10上Matlab 连接Basler相机

用Matlab提供的通用相机库,不太好用。后来从Matlab官网上找到了一个第三方提供的Basler camera driver:https://cn.mathworks.com/matlabcentral/fileexchange/50681-basler-camera-driver。其包括以下常用函数:

baslerFindCamera: returns a cell arraycontaining the camera index and the camera name.
- baslerCameraInfo: returns a struct containing all parameters of the selectedcamera.
- baslerSetParameter: sets a camera parameter.
- baslerGetParameter: returns the selected camera parameter.
- baslerSetROI: sets the region of interest (ROI).
- baslerPreview: displays a preview image.
- baslerGetData: captures and returns the selected number of frames.
- baslerSaveData: captures and saves the selected number of frames to disk.

由于其用的驱动都比较旧,直接运行不能通过。所以要做些更改。

首先准备两个软件/库,一个是basler提供的pylon 5(下载最新的window版本就行,浏览器有去广告插件的可能显示不全)。另一个是[Boost C++Libraries]http://www.boost.org/。之后将下载的Boost解压后放到D盘的根目录下。依次运行bootstrap.bat,b2.exe(不知道有没有用,得运行一个多小时),bjam.exe。之后给Boost设置环境变量:在环境变量中添加变量名称:BOOST_ROOT,并将值设成D:\boost_1_66_0(注意要改成Boost对应的版本号)。之后才能运行Matlab。如果在添加环境变量的时候,Matlab还运行着,就会导致Matlab找不到BOOST_ROOT(重要的事情说三遍!作者折腾了一个多小时才发现这个问题)。

然后修改下载的Matlab_BaslerCamDriver-v0.9.2-0中的make.m文件。将其中的ipathslpaths用以下代码替换:

ipaths = [  '-I"',fullfile(getenv('PYLON_DEV_DIR'),'include'),'"' ...
            ' ',...
            '-I"',fullfile(getenv('BOOST_ROOT')),'"',...
         ];

% Library paths 
lpaths = [  '-L"',fullfile(getenv('PYLON_DEV_DIR'),'lib\x64'),'"', ...
            ' ','"',fullfile(getenv('BOOST_ROOT'),'stage\lib'),'"', ...
         ];

并在baslerGetParameter.cpp中添加

#include <boost/assign/std/map.hpp>

最后运行make.m文件,如果看到输出以下语句就证明成功了:

=> Creating Libraries

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

=> Creating Functions

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

Building with 'Microsoft Visual C++ 2015Professional'.

MEX completed successfully.

 

这时候,就可以直接调用生成的函数了。

比如首先寻找相机:

available_cams =baslerFindCameras();

得到available_cams相机编号0,再运行baslerPreview(0)就能预览相机,修改其中参数就能得到不同的效果。如果大家觉得麻烦,可以直接下载我编译好的库(可以直接运行,但是不要运行make.m不然会将编译好的文件删除)

http://download.csdn.net/download/fengyuzhe13/10173074 或者在CSDN中搜索

‘win10中 Matlab 连接 Basler 相机’

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Basler相机是一种高质量的工业相机,常用于图像采集。它以瑞士Basler公司命名,具有高分辨率、高帧率和高灵敏度的特点。它能够在极短的时间内采集大量的图像数据。 Basler相机的采集过程类似于摄影,通过镜头对目标物体进行成像,并将所获得的图像数据转换为数字信号。相机的传感器负责将光线转化为电信号,并进行采集和处理。 Basler相机的采集质量与其传感器的像素数有着直接关系。像素数越高,图像的细节和清晰度就越好。由于Basler相机采用了先进的CMOS技术,因此在采集过程中产生的噪声较少,图像质量更加清晰。 为了取得准确和稳定的图像,Basler相机还可以进行自动曝光和自动对焦。自动曝光功能能够根据光线的强弱自动调整曝光时间,确保图像亮度适合观察和处理。自动对焦功能则能够根据目标物体的距离自动调整镜头的焦距,确保图像的清晰度和准确度。 在采集过程中,Basler相机还可以提供多种接口选项,如GigE、USB和Camera Link等,以满足不同应用的需求。相机还可以通过相关软件进行图像处理和分析,以提取目标物体的特征信息。 总的来说,Basler相机采集了高质量的图像数据,具有高分辨率、高帧率和高灵敏度的特点,并通过自动曝光和自动对焦等功能,保证了图像的清晰度和准确度。它可以应用于各种领域,如工业检测、医学影像和科学研究等。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fengyuzhe13

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值