Python 軟件開發工具包
使用者手冊
Python 軟件開發工具包
PCO 要求您仔細閱讀並遵循本文檔中的說明。
如有任何問題或意見,請隨時與我們聯繫。
電話:+49 (0) 9441 2005 50
傳真:+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.show()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 等待_for_first_image
描述 等待記錄儀內存中的第一個可用圖像。 在記錄器模式下,'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
對象 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軟件開發包,軟件開發包,開發包,工具包 |