Python Software Development Kit
Uživatelská příručka
Python Software Development Kit
PCO vás žádá, abyste si pozorně přečetli a dodržovali pokyny v tomto dokumentu.
V případě jakýchkoliv dotazů nebo připomínek nás neváhejte kdykoliv kontaktovat.
telefon: +49 (0) 9441 2005 50
fax: +49 (0) 9441 2005 20
poštovní adresa: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Německo
e-mail: info@pco.de
web: www.pco.de
pco.python uživatelská příručka 0.1.7
Vydáno v prosinci 2021
©Copyright Excelitas PCO GmbH
Tato práce podléhá licenci Creative Commons Attribution-No Derivatives 4.0 International License. Na view kopii této licence, navštivte http://creativecommons.org/licenses/by-nd/4.0/ nebo pošlete dopis na adresu Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Generál
Balíček Python pco nabízí všechny funkce pro práci s kamerami pco, které jsou založeny na proudu pco.sdk. Součástí jsou všechny sdílené knihovny pro komunikaci s kamerou a následné zpracování obrazu.
- Snadno použitelná třída fotoaparátu
- Výkonné API pro pco.sdk
- Záznam a zpracování obrazu s pco.recorder
1.1 Instalace
Instalovat z pypi (doporučeno):
$ pip install pco
1.2 Základní použití
import matplotlib.pyplot jako plt
import pco
s pco.Camera() jako kamerou:
cam.record()
obrázek, meta = cam.image()
plt.imshow(image, cmap='grey')
plt.show()1.3 Protokolování událostí a chyb
Chcete-li aktivovat výstup protokolování, vytvořte objekt Camera s parametrem debuglevel=.
Úroveň ladění lze nastavit na jednu z následujících hodnot:
- 'off' Deaktivuje veškerý výstup.
- 'error' Zobrazí pouze chybové zprávy.
- 'verbose' Zobrazí všechny zprávy.
- 'extra verbose' Zobrazí všechny zprávy a hodnoty.
Výchozí úroveň ladění je 'off'.
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: OK.
Volitelný časamp= parametr aktivuje a tag v tištěném výstupu. Možné hodnoty jsou: 'on' a 'off'. Výchozí hodnota je 'off'.
pco.Camera(debuglevel='verbose', timestamp='on')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
Dokumentace API
Třída pco.Camera nabízí následující metody:
- record() generuje, konfiguruje a spouští novou instanci záznamníku.
- stop() zastaví aktuální nahrávání.
- close() zavře aktuální aktivní kameru a uvolní obsazené prostředky.
- image() vrací obrázek ze záznamníku jako numpy pole.
- images() vrátí všechny zaznamenané obrazy z rekordéru jako seznam numpy polí.
- image_average() vrací zprůměrovaný obrázek. Tento snímek se vypočítá ze všech zaznamenaných snímků ve vyrovnávací paměti.
- set_exposure_time() nastavuje expoziční čas pro fotoaparát.
- wait_for_first_image() čeká na první dostupný obrázek v paměti rekordéru.
Třída pco.Camera má následující proměnnou:
- konfigurace
Třída pco.Camera má následující objekty:
- sdk nabízí přímý přístup ke všem základním funkcím pco.sdk.
- rekordér nabízí přímý přístup ke všem základním funkcím pco.recorder.
2.1 Metody
Tato část popisuje všechny metody nabízené třídou pco.Camera.
2.1.1 Záznam
Popis Vytvoří, nakonfiguruje a spustí novou instanci vypalovačky. Před voláním metody record() je nutné nastavit celou konfiguraci kamery. Příkaz set_exposure_time() je jedinou výjimkou. Tato funkce nemá žádný vliv na objekt rekordéru a lze ji vyvolat během nahrávání.
Prototyp def record(self, number_of_images=1, mode='sequence'):
Parametr
Jméno | Popis |
počet_obrázků | Nastaví počet obrázků přidělených v ovladači. RAM počítače omezuje maximální hodnotu. |
režimu | V režimu „sekvence“ je tato funkce během nahrávání blokována. Rekordér se automaticky zastaví po dosažení počtu_obrazů. V režimu „sekvence bez blokování“ je tato funkce neblokující. Před čtením obrázku je nutné zkontrolovat stav. Tento režim se používá ke čtení obrázků během záznamu, např. náhledů. V režimu 'ring buffer' je tato funkce neblokující. Před čtením obrázku je nutné zkontrolovat stav. Záznamník nezastaví nahrávání, když je dosaženo počtu_obrázků. Jakmile k tomu dojde, nejstarší snímky jsou přepsány. V režimu „fifo“ je tato funkce neblokující. Před čtením obrázku je nutné zkontrolovat stav. Když je dosaženo počtu_obrázků ve fifo, následující obrázky se zahodí, dokud se obrázky nepřečtou z fifo. |
2.1.2 Zastavte
Popis Zastaví aktuální nahrávání. V režimu 'ring buffer' a 'fifo' musí tuto funkci volat uživatel. V režimu „sekvence“ a „neblokování sekvence“ se tato funkce automaticky vyvolá při dosažení počtu_obrázků.
Prototyp def stop (self):
2.1.3 Zavřete
Popis Zavře aktivovanou kameru a uvolní blokované prostředky. Tato funkce musí být volána před ukončením aplikace. V opačném případě zůstanou zdroje obsazené.
Prototyp def close (self):
Tato funkce je volána automaticky, pokud je objekt kamery vytvořen příkazem with. Explicitní volání close() již není nutné.
s pco.Camera() jako cam: # udělejte nějaké věci
2.1.4 Obrázek
Popis Vrátí obraz z rekordéru. Typ obrázku je numpy.ndarray. Toto pole je tvarováno v závislosti na rozlišení a ROI snímku.
Prototyp def image(self, image_number=0, roi=None):
Parametr
Jméno | Popis |
číslo_obrázku | Určuje číslo obrázku, který se má číst. V režimu „sekvence“ nebo „neblokování sekvence“ odpovídá index rekordéru číslu obrázku. Pokud je číslo_obrázku nastaveno na 0xFFFFFFFF, zkopíruje se poslední zaznamenaný snímek. To umožňuje vytvořit živý preview při nahrávání. |
roi | Nastaví oblast zájmu. Do návratové hodnoty se zkopíruje pouze tato oblast obrázku. |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> obrázek, meta = cam.image()
>>> typ(obrázek) numpy.ndarray
>>> image.shape (2160, 2560)
>>> obrázek, metadata = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 XNUMX obrázků
Popis Vrátí všechny zaznamenané obrázky z rekordéru jako seznam numpy polí.
Prototyp def images(self, roi=None, blockize=None):
Parametr
Jméno | Popis |
roi | Nastaví oblast zájmu. Do návratové hodnoty se zkopíruje pouze tato oblast obrázku. |
velikost bloku | Definuje maximální počet vrácených obrázků. Tento parametr je užitečný pouze v režimu 'fifo' a za zvláštních podmínek. |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> obrázky, metadata = cam.images()
>>> len(obrázky) 20
>>> pro obrázek v obrázcích:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
Průměr: 2147.64 DN
Průměr: 2144.61 DN
…
>>> obrázky = cam.images(roi=(1, 1, 300, 300))
>>> obrázky[0].shape (300, 300)
2.1.6 Obrázek_průměr
Popis Vrátí zprůměrovaný obrázek. Tento snímek se vypočítá ze všech zaznamenaných snímků ve vyrovnávací paměti.
Prototyp def image_average(self, roi=None):
Parametr
Jméno | Popis |
roi | Definuje oblast zájmu. Do návratové hodnoty se zkopíruje pouze tato oblast obrázku. |
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 Set_exposure_time
Popis Nastavuje expoziční čas fotoaparátu.
Prototyp def set_exposure_time(self, exposure_time):
Parametr
Jméno | Popis |
doba vystavení | Musí být zadána jako plovoucí nebo celočíselná hodnota v jednotce „sekunda“. Základní hodnoty pro funkci sdk.set_delay_exposure_time(0, 'ms', čas, časová základna) budou vypočítány automaticky. Doba zpoždění je nastavena na 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Wait_for_first_image
Popis Čeká na první dostupný snímek v paměti rekordéru. V režimu rekordéru „sekvence bez blokování“, „vyrovnávací paměť“. a 'fifo', funkce record() se okamžitě vrátí. Proto lze tuto funkci použít k čekání na snímky z kamery před voláním image(), images() nebo image_average().
Prototyp def wait_for_first_image(self):
2.2 Konfigurace proměnné
Parametry kamery se aktualizují změnou konfigurační proměnné.
cam.configuration = {'doba expozice': 10e-3,
'roi': (1, 1, 512, 512),
'timestamp': 'ascii',
'počet pixelů': 100_000_000,
'trigger': 'automatická sekvence',
'acquire': 'auto',
'metadata': 'on',
'bining': (1, 1)}
Proměnnou lze změnit pouze před voláním funkce record(). Je to slovník s určitým počtem hesel. Není nutné specifikovat všechny možné prvky. Následující sample kód pouze mění 'počet pixelů' a neovlivňuje žádné další prvky konfigurace.
s pco.Camera() jako kamerou:
cam.configuration = {'pixel rate': 286_000_000}
cam.record()
…
2.3 objektů
Tato část popisuje všechny objekty nabízené třídou pco.Camera.
2.3.1 SDK
Objekt sdk umožňuje přímý přístup ke všem základním funkcím pco.sdk.
>>> cam.sdk.get_temperature()
{'teplota snímače': 7.0, 'teplota kamery': 38.2, 'teplota výkonu': 36.7}
Všechny návratové hodnoty z funkcí sdk jsou slovníky. Třída Fotoaparát aktuálně nepokrývá všechna nastavení fotoaparátu. Speciální nastavení je nutné nastavit přímo voláním příslušné funkce sdk.
2.3.2 Záznamník
Objekt rec nabízí přímý přístup ke všem základním funkcím pco.recorder. Není nutné přímo volat metodu třídy záznamníku. Všechny funkce jsou plně pokryty metodami třídy Camera.
https://www.pco.de/applications/
pco evropa +49 9441 2005 50 info@pco.de pco.de |
pco amerika +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco asie +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco čína +86 512 67634643 info@pco.cn pco.cn |
Dokumenty / zdroje
![]() |
EXCELITAS TECHNOLOGIES Python Software Development Kit [pdfUživatelská příručka Python Software Development Kit, Software Development Kit, Development Kit, Kit |