Pypylon项目技术文档
安装指南
Pypylon是Basler相机软件套件的官方Python封装,提供了对Basler相机的强大控制和图像处理能力。
前置条件
- 确保已安装Python和pip。
- 根据需要,可先安装Pyylon SDK,虽然这不是强制性的,但强烈推荐。
- 对于pypylon vTools和数据处理API,需要安装CodeMeter Runtime。
安装步骤
-
直接通过pip安装最新版pypylon(推荐):
pip3 install pypylon
-
或从源代码编译安装(适用于特定需求或平台不支持预编译包的情况):
- 克隆pypylon仓库:
git clone https://github.com/basler/pypylon.git
- 进入仓库目录并执行安装命令(确保已安装SWIG且配置了Pylon SDK路径):
cd pypylon pip install .
项目的使用说明
快速入门
- 首先,确保Pylon SDK正确安装并且pypylon已经可用。
- 使用以下基本示例来开始捕获图像:
from pypylon import pylon # 创建并打开第一台设备的即时相机对象 camera = pylon.InstantCamera(pylon.TlFactory.GetInstance().CreateFirstDevice()) camera.Open() # 调整相机参数 camera.Width.Value -= camera.Width.Inc if camera.Width.Value >= camera.Width.Min: camera.Width.Value = new_width # 开始抓取指定数量的图片 camera.StartGrabbingMax(100) while camera.IsGrabbing(): grabResult = camera.RetrieveResult(5000, pylon.TimeoutHandling_ThrowException) if grabResult.GrabSucceeded(): print(f"Image Size: {grabResult.Width}x{grabResult.Height}") print("First Pixel Gray Value:", grabResult.Array[0, 0]) grabResult.Release() camera.Close()
项目API使用文档
Pypylon不仅支持基础相机操作,还提供高级特性如数据处理API:
-
数据处理示例:
from pypylon import pylondataprocessing # 加载处理流程并获取结果 recipe = pylondataprocessing.Recipe.Load('dataprocessing_barcode.precipe') recipe.RegisterAllOutputsObserver(observer) recipe.Start() for _ in range(100): if observer.Wait(5000): result = observer.RetrieveResult() for barcode in result["Barcodes"].GetArrayValues(): print(barcode.ToString()) else: print("Timeout waiting for result.")
注意事项与更新指南
- 版本更新:自pypylon 3.0.0起,建议使用
.Value
属性进行特征值设置,以兼容完整的类型系统。 - 警告启用:运行时使用
PYTHONWARNINGS=default
来识别需要更新的老式赋值语句。
本文档旨在为用户提供全面的指导,无论是初次接触Pypylon还是寻求更深入理解的开发者,都能快速上手并高效利用该库进行相机控制与图像处理。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考