提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
做项目过程中需要对Basler相机进行二次开发,所以写一些记录给大家参考。
附上一些在其他地方看到的参考资料:
一、相机类 InstantCamera
1. class InstantCamera (InstantCamera Params_Params)
# 提供方便的访问相机设备。
• 为访问相机功能建立一个单一的访问点。这个类可以在没有任何参数的情况下使用。相机使用相机设备的默认配置,可被覆盖。
• 处理Pylon设备的生存期,可被覆盖。
• 自动处理打开和关闭一个Pylon设备。
• 处理块数据解析,自动返回抓取结果中的块数据。
• 自动处理事件抓取,为事件回调提供了一个方便的接口,可被覆盖。
• 处理物理相机设备移除。
• 处理缓冲区的创建、重用和销毁。
• 抓取可以在调用者的上下文中完成,也可以使用额外的抓取循环线程。
• Instant Camera类可以通过派生或注册事件处理程序对象进行扩展。
其中主要的函数:
def Attach(self,*args)->"void":
# 将Pylon设备连接到InstantCamera
参数:
• pDevice-要连接的Pylon设备。
• cleanupProcedure-如果cleanupProcedure等于Cleanup_Delete,则在销毁Instant Camera对象时销毁Pylon设备。
• 如果当前连接了一个Pylon设备,则根据先前设置的清理过程值,将其销毁(DestroyDevice())或移除(DetachDevice())。
• 如果pDevice参数为NULL,则不再执行任何操作。OnAttach配置事件被触发。
• 附加新的Pylon设备。如果传递的Pylon设备是打开的,则相机事件的回调将在相机节点映射上注册。(这可能会失败)
如果传递的Pylon设备是打开的,则注册一个设备移除回调(这可能会失败)。访问修饰符(参见IPylonDevice:: open())将被取代为相机参数。
• OnAttached配置事件被触发。来自事件调用的可能的c++异常被捕获并忽略。通知所有事件处理程序。
Post:
• 如果传递给Pylon设备的指针为NULL,则Instant Camera对象处于“无设备连接”状态。
• 如果指针不是NULL,则连接传递的Pylon设备。
• 如果设置的清除过程等于Cleanup_Delete,则在销毁Instant Camera对象或附加新设备时销毁Pylon设备。
• 如果传递的Pylon设备是打开的,并且回调注册失败,则Instant Camera对象处于“未连接设备”状态。
• 设置了“由用户打开”标志,以防止在附加的Pylon设备已经打开时,在stopgrab()上关闭Pylon设备。
• 如果传递的Pylon设备打开,则可能引发异常。如果传递的Pylon设备关闭或为NULL,则不抛出C+异常。
• 该方法使用GetLock()提供的Lock进行同步。
def IsPylonDeviceAttached(self)->"bool":
# 返回Instant Camera对象的Pylon设备连接状态
def RegisterImageEventHandler(self,pImageEventHandler

&spm=1001.2101.3001.5002&articleId=129997749&d=1&t=3&u=7f5ce753fb7544c19a158c9c3d01516d)
741

被折叠的 条评论
为什么被折叠?



