
Python 软件开发工具包
用户手册

Python 软件开发工具包
PCO 要求您仔细阅读并遵循本文档中的说明。
如有任何问题或意见,请随时与我们联系。
电话:+49(0)9441 2005
传真:+49 (0) 9441 2005 20
邮政地址:Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Germany
电子邮件: info@pco.de
web: www.pco.de
pco.python 用户手册 0.1.7
2021 年 XNUMX 月发布
©版权所有 Excelitas PCO GmbH
本作品已根据 Creative Commons Attribution-No Derivatives 4.0 International License 获得许可。 到 view 此许可证的副本,请访问 http://creativecommons.org/licenses/by-nd/4.0/ 或致函 Creative Commons, PO Box 1866, Mountain View,加利福尼亚州 94042,美国。
一般的
Python 包 pco 提供了与基于当前的 pco 相机一起工作的所有功能 pco.sdk. 包括与相机通信和后续图像处理的所有共享库。
1.1 安装
从 pypi 安装(推荐):
$ pip 安装 pco
1.2 基本用法
导入 matplotlib.pyplot 作为 plt
进口pco
以 pco.Camera() 作为凸轮:
凸轮.record()
图片,meta = cam.image()
plt.imshow(图像,cmap='灰色')
plt.显示()
1.3 事件和错误记录
要激活日志输出,请使用 debuglevel= 参数创建 Camera 对象。
调试级别可以设置为以下值之一:
- 'off' 禁用所有输出。
- 'error' 仅显示错误消息。
- 'verbose' 显示所有消息。
- 'extra verbose' 显示所有消息和值。
默认调试级别为“关闭”。
pco.Camera(调试级别='详细')
…
[][sdk] get_camera_type:好的。
可选时间amp= 参数激活 tag 在打印输出中。 可能的值是:“开”和“关”。 默认值为“关闭”。
pco.Camera(debuglevel='verbose', timestamp='开')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type:好的。
API 文档
pco.Camera 类提供以下方法:
- record() 生成、配置并启动一个新的记录器实例。
- stop() 停止当前录音。
- close() 关闭当前活动的相机并释放占用的资源。
- image() 从记录器返回一个图像作为 numpy 数组。
- images() 以 numpy 数组列表的形式从记录器返回所有记录的图像。
- image_average() 返回平均图像。 该图像是根据缓冲区中所有记录的图像计算得出的。
- set_exposure_time() 设置相机的曝光时间。
- wait_for_first_image() 等待记录器内存中的第一个可用图像。
pco.Camera 类具有以下变量:
- 配置
pco.Camera 类具有以下对象:
2.1 方法
本节介绍 pco.Camera 类提供的所有方法。
2.1.1 记录
描述 创建、配置和启动新的记录器实例。 必须在调用 record() 之前设置整个相机配置。 set_exposure_time() 命令是唯一的例外。 该函数对录音机对象没有影响,可以在录音过程中调用。
原型 def record(self, number_of_images=1, mode='sequence'):
范围
| 姓名 | 描述 |
| 图片数量 | 设置在驱动程序中分配的图像数。 PC 的 RAM 限制了最大值。 |
| 模式 | 在'sequence' 模式下,此功能在录制期间处于阻塞状态。 当达到 number_of_images 时,录像机自动停止。 在“sequence non-blocking”模式下,这个函数是非阻塞的。 在读取图像之前必须检查状态。 此模式用于在录制时读取图像,例如缩略图。 在“环形缓冲区”模式下,此功能是非阻塞的。 在读取图像之前必须检查状态。 当达到 number_of_images 时,Recorder 不会停止录制。 一旦发生这种情况,最旧的图像将被覆盖。 在“fifo”模式下,这个函数是非阻塞的。 在读取图像之前必须检查状态。 当达到 fifo 中的 number_of_images 时,将丢弃后续图像,直到从 fifo 中读取图像。 |
2.1.2站
描述 停止当前录音。 在'ring buffer'和'fifo'模式下,该函数必须由用户调用。 在“sequence”和“sequence non blocking”模式下,当达到 number_of_images 时会自动调用此函数。
原型 定义停止(自我):
2.1.3 关闭
描述 关闭激活的相机并释放被阻止的资源。 必须在应用程序终止之前调用此函数。 否则,资源仍然被占用。
原型 定义关闭(自我):
如果相机对象是由 with 语句创建的,则会自动调用此函数。 不再需要显式调用 close()。
with pco.Camera() as cam: # 做一些事情
2.1.4 图像
描述 从记录器返回图像。 图像的类型是 numpy.ndarray。 该阵列的形状取决于图像的分辨率和 ROI。
原型 def 图像(自身,image_number=0,roi=无):
范围
| 姓名 | 描述 |
| 图片编号 | 指定要读取的图像的编号。 在“序列”或“序列非阻塞”模式下,记录器索引与 image_number 匹配。 如果 image_number 设置为 0xFFFFFFFF,则复制最后记录的图像。 这允许创建一个现场预view 录制时。 |
| 投资回报率 | 设置感兴趣的区域。 只有图像的这个区域被复制到返回值。 |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> 图像,meta = cam.image()
>>> 类型(图像)numpy.ndarray
>>> 图像.形状 (2160, 2560)
>>> 图像,元数据 = cam.image(roi=(1, 1, 300, 300))
>>> 图像.形状 (300, 300)
2.1.5 张图片
描述 以 numpy 数组列表的形式从记录器返回所有记录的图像。
原型 def 图像(自身,roi=无,块大小=无):
范围
| 姓名 | 描述 |
| 投资回报率 | 设置感兴趣的区域。 只有图像的这个区域被复制到返回值。 |
| 块大小 | 定义返回的最大图像数。 此参数仅在“fifo”模式和特殊条件下有用。 |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> 图像,元数据 = cam.images()
>>> len(图像) 20
>>> 对于图像中的图像:
…
print('平均值: {:7.2f} DN'.format(image.mean()))
…
平均值:2147.64 DN
平均值:2144.61 DN
…
>>> 图片 = cam.images(roi=(1, 1, 300, 300))
>>> 图片[0].shape (300, 300)
2.1.6 图像平均
描述 返回平均图像。 该图像是根据缓冲区中所有记录的图像计算得出的。
原型 def image_average(self, roi=None):
范围
| 姓名 | 描述 |
| 投资回报率 | 定义感兴趣的区域。 只有图像的这个区域被复制到返回值。 |
Example >>> cam.record(number_of_images=100, mode='sequence')
>>> avg = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 设置曝光时间
描述 设置相机的曝光时间。
原型 def set_exposure_time(自我,exposure_time):
范围
| 姓名 | 描述 |
| 接触时间 | 必须以“秒”为单位给出浮点数或整数值。 函数 sdk.set_delay_exposure_time(0, 'ms', time, timebase) 的基础值将自动计算。 延迟时间设置为0。 |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 等待第一个图像
描述 等待记录仪内存中的第一个可用图像。 在记录器模式下,'sequence non blocking','ring buffer'。 和'fifo',函数record() 立即返回。 因此,此函数可用于在调用 image()、images() 或 image_average() 之前等待来自相机的图像。
原型 def wait_for_first_image(自我):
2.2 变量配置
通过更改配置变量来更新相机参数。
cam.configuration = {'曝光时间':10e-3,
'投资回报率': (1, 1, 512, 512),
'时间amp':'ascii',
'像素率':100_000_000,
'触发器':'自动序列',
'获取':'自动',
“元数据”:“开”,
'装箱':(1,1)}
该变量只能在调用 record() 函数之前更改。 它是具有一定数量条目的字典。 并非所有可能的元素都需要指定。 下面的ample 代码仅更改“像素率”,不会影响配置的任何其他元素。
以 pco.Camera() 作为凸轮:
cam.configuration = {'像素率':286_000_000}
凸轮.record()
…
2.3个对象
本节介绍 pco.Camera 类提供的所有对象。
2.3.1 斯凯孚
对象 sdk 允许直接访问的所有底层功能 pco.sdk.
>>> cam.sdk.get_temperature()
{'传感器温度':7.0,'相机温度':38.2,'电源温度':36.7}
sdk 函数的所有返回值都是字典。 目前并非所有相机设置都包含在 Camera 类中。 必须通过调用相应的 sdk 函数直接设置特殊设置。
2.3.2 录音机
对象 rec 提供对所有底层函数的直接访问 pco.记录器. 没有必要直接调用记录器类方法。 Camera 类的方法完全涵盖了所有功能。
https://www.pco.de/applications/
| pco欧洲 +49 9441 2005 50 info@pco.de pcode.de |
美国公务员协会 +1 866 678 4566 info@pco-tech.com pco-tech.com网站 |
pco亚洲 +65 6549 7054 info@pco-imaging.com pco-imaging.com 网站 |
pco中国 +86 512 67634643 info@pco.cn 电脑网 |


文件/资源
![]() |
EXCELITAS TECHNOLOGIES Python 软件开发工具包 [pdf] 用户手册 Python软件开发包,软件开发包,开发包,工具包 |




