【basler】Chapter2:balser二次开发

pylon.dll C#语言二次开发

1、basler开发包的下载

最近的项目里,需要使用basler进行图像采集,同时结合运动控制对机器进行操控,虽然相机自带pylon软件,但是不能满足自己的需求,因此想要采用basler提供的开发包进行C#语言的开发。basler官网上提供了相机的动态链接库,还有demo,对于开发者来说很方便。

1.1 软件下载
basler官网:https://www.baslerweb.com/cn/sales-support/downloads/software-downloads/

1.2 软件安装
详细的安装过程有很多文章做出图形并茂的说明,这里不细说:https://blog.csdn.net/weixin_41650642/article/details/81129978

注意事项:
(1)注意选择“developer”模式。只有选择developer模式才会帮你安装动态链接库和sample,一些demo等。如果以camera user安装则会比前者模式少一些文件。
在这里插入图片描述
(2)这里根据所购买相机的接口型号来选择。usb接口就不介绍了。GigE指网线接口。
在这里插入图片描述
1.3 软件使用
这个很多文章也有讲解,其中主要解决点是一开始的IP设置。如果没有学习计算机网络的,可能对IP的了解比较少,感兴趣可以去了解一些。这里只要会基础的知识和操作就够了。
详情可以看这篇:
https://wenku.baidu.com/view/013b9f2433687e21af45a9dd.html

2、basler开发包的sample

这个是安装完成后的文件,里面可以看到有“Development”文件
在这里插入图片描述
打开里面是这样的。Assemblies里面有X64和X86两种版本。Sample里面有C\C++\C#的demo。(注意这个X86和X64版本是十分重要的,下面会提及到)
在这里插入图片描述

3、demo的调用

3.1 里面有这么一些例程,注释也很详细。直接打开PylonLiveView,里面包括摄像头的连接、拍照、录像、停止等功能,可以满足基础使用。
在这里插入图片描述
3.2 注意:之前有过跑demo出现错误:
(1)……Version=1.0.0.0, Culture=neutral……,这个是配置错误。如果DLL采用X86(Win32)的,则需要改成X86,如果是X64则设为X64。
根本原因是DLL文件是X86平台(x64)生成的。而你的WPF程序是Anycpu(X86)平台。
在这里插入图片描述
(2)“外部组建设备出错”,直接卸载软件,重新下载一个其他版本的pylon。因为basler不同型号的相机可能对应不同版本的dll。

4、其他简单的demo

之前在网上看到几篇简约版的demo,可以实现拍照、录像等功能,而且有结合halcon进行图像处理,便于学习,在这里推荐一下:
(1)https://blog.csdn.net/weixin_44490080/article/details/100298807
在这里插入图片描述
(2)https://blog.csdn.net/qq_39930578/article/details/87897257
在这里插入图片描述

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的Basler相机二次开发实例,使用C++和Pylon API: ```cpp #include <pylon/PylonIncludes.h> #include <iostream> using namespace Pylon; int main(int argc, char* argv[]) { // 初始化Pylon PylonInitialize(); try { // 创建一个CInstantCamera对象 CInstantCamera camera(CTlFactory::GetInstance().CreateFirstDevice()); // 打开相机 camera.Open(); // 设置相机参数 camera.ExposureAuto.SetValue(ExposureAuto_Continuous); camera.GainAuto.SetValue(GainAuto_Continuous); // 开始采集图像 camera.StartGrabbing(); // 循环获取图像,直到用户按下ESC键 CGrabResultPtr ptrGrabResult; while (camera.IsGrabbing()) { // 等待图像准备就绪 camera.RetrieveResult(5000, ptrGrabResult, TimeoutHandling_ThrowException); // 将图像数据转换为OpenCV的Mat格式 CImageFormatConverter formatConverter; formatConverter.OutputPixelFormat = PixelType_BGR8packed; CPylonImage pylonImage; formatConverter.Convert(pylonImage, ptrGrabResult); cv::Mat image(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC3, (uint8_t*)pylonImage.GetBuffer()); // 显示图像 cv::imshow("Basler Camera", image); // 检查是否按下ESC键 if (cv::waitKey(1) == 27) break; } // 停止采集,关闭相机 camera.StopGrabbing(); camera.Close(); } catch (const GenericException& e) { // 处理异常 std::cerr << "An exception occurred: " << e.GetDescription() << std::endl; return 1; } // 释放Pylon资源 PylonTerminate(); return 0; } ``` 这个例子演示了如何使用Pylon API打开Basler相机,设置相机参数,采集图像并将其显示在屏幕上。需要注意的是,需要将OpenCV的库链接到项目中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值