pylon保存图片_Basler Pylon 简单抓图

本文介绍了使用Basler Pylon库进行相机图像抓取的基本步骤,包括Pylon runtime初始化、创建相机实例、开始抓取、接收数据、判断抓取状态以及释放资源。在调试过程中,如果遇到相机被其他应用占用或连接问题,可以设置环境变量PYLON_GIGE_HEARTBEAT来解决。
摘要由CSDN通过智能技术生成

简单抓图步骤:

StartGrabbing 开始抓取,状态 isGrabbing

RetrieveResult 接收数据,完成后触发 StopGrabbing

数据由 CGrabResultPtr 指针接收,状态 GrabSucceeded

runtime 由 PylonInitialize 初始化,并由 PylonTerminate 销毁

具体代码如下:

Step0:初始化 Pylonruntime

//Before using any pylon methods, the pylon runtime must be initialized.

PylonInitialize();//Pylon::PylonAutoInitTerm autoInitTerm;

Step1: 创建 Camera 实例

//Create an instant camera object with the camera device found first.

IPylonDevice *pDevice =CTlFactory::GetInstance().CreateFirstDevice();

CInstantCamera camera;

camera.Attach(pDevice);

Name of ClassUsable for Device TypeDevice-specific

Pylon::CInstantCamera (recommended)

All cameras

No

Pylon::CBaslerUniversalInstantCamera (recommended for novice users)

All cameras

No

Pylon::CBasler1394InstantCamera

IIDC 1394 compliant cameras

Yes

Pylon::CBaslerGigEInstantCamera

GigE Vision compliant cameras

Yes

Pylon::CBaslerUsbInstantCamera

USB3 Vision compliant cameras

Yes

Pylon::CBaslerCameraLinkInstantCamera

Camera Link compliant cameras

Yes

step2:开始抓取

//Start the grabbing of 1 images.//The camera device is parameterized with a default configuration which//sets up free-running continuous acquisition.

camera.StartGrabbing(1);

step3:构造智能指针接收抓取数据

//This smart pointer will receive the grab result data.

CGrabResultPtr ptrGrabResult;

step4:判断抓取状态,并接收数据

//Camera.StopGrabbing() is called automatically by the RetrieveResult() method//when c_countOfImagesToGrab images have been retrieved.

int flag = 0;while( camera.IsGrabbing())

{//Wait for an image and then retrieve it. A timeout of 5000 ms is used.

camera.RetrieveResult( 5000, ptrGrabResult, TimeoutHandling_ThrowException);

step5:判断抓取结果,并处理

//Image grabbed successfully?

if (ptrGrabResult->GrabSucceeded())

{//Access the image data.

cout << "SizeX:" << ptrGrabResult->GetWidth() <

cout<< "SizeY:" << ptrGrabResult->GetHeight() <GetBuffer();

step6:释放 plyon runtime

//Releases all pylon resources.

PylonTerminate();

调试时,相机意外中断,连不上的处理

The device is controlled by another application. Err: An attempt was made to access an address location which is currently/momentary not accessible. (0xE1018006)

设置环境变量 PYLON_GIGE_HEARTBEAT =1000 即可。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: basler_pylon_5.2.0.13457是巴斯勒公司开发的一个相机软件开发包(SDK),用于与其相机产品进行通信和控制。这个版本的软件包是在巴斯勒的前一个版本基础上进行的更新和改进。 这个软件包提供了一系列的函数和工具,使开发人员能够轻松地与巴斯勒相机进行交互。它支持主要的操作系统,如Windows和Linux,并提供了多种编程语言的接口,如C++、C#和Python。 使用basler_pylon_5.2.0.13457,开发人员可以很容易地获取相机的图像数据,调整相机的参数,如曝光时间、增益和白平衡,并控制相机的触发方式。此外,它还提供了一些高级功能,如图像处理和相机校准,以改善相机的性能和图像质量。 除了基本的相机控制功能,basler_pylon_5.2.0.13457还为用户提供了一些扩展功能。例如,它支持相机的远程访问和控制,允许用户通过网络来控制相机。此外,它还提供了一些工具,用于相机的固件升级和配置。 总之,basler_pylon_5.2.0.13457是一个功能强大的相机软件开发包,可用于与巴斯勒相机进行集成和开发。它提供了丰富的功能和接口,使开发人员能够轻松地控制和操作相机,从而满足不同应用场景的需求。 ### 回答2: basler_pylon_5.2.0.13457是一个摄像头驱动程序的版本号。Basler是一家专门从事工业摄像机的生产的公司,他们的相机广泛应用于工业视觉和机器视觉领域。 PylonBasler提供的一个软件包,用于控制和操作他们的摄像头产品。而版本号5.2.0.13457代表了这个软件包的特定版本。 每个版本的软件包都会有一些改进和更新,以提高摄像头的性能和功能。对于basler_pylon_5.2.0.13457这个版本,具体的改进和更新内容需要查阅Basler的官方文档或者联系他们的技术支持团队来获取。 通常,更新摄像头驱动程序的版本可以带来更好的相机性能、更稳定的操作以及更多的功能选项。用户可以根据自己的需求和使用情况,决定是否升级到新版本。 总结来说,basler_pylon_5.2.0.13457是Basler公司提供的摄像头控制软件包的特定版本号,通过更新软件版本,用户可以享受到更好的相机性能和更多的功能选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值