Komplet za razvoj softvera Python
korisnički priručnik
Komplet za razvoj softvera Python
PCO vas moli da pažljivo pročitate i slijedite upute u ovom dokumentu.
Za sva pitanja ili komentare, slobodno nas kontaktirajte u bilo koje vrijeme.
telefon: +49 (0) 9441 2005 50
faks: +49 (0) 9441 2005 20
poštanska adresa: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Njemačka
email: info@pco.de
web: www.pco.de
pco.python korisnički priručnik 0.1.7
Izdano u prosincu 2021
©Autorsko pravo Excelitas PCO GmbH
Ovo djelo je licencirano pod međunarodnom licencom Creative Commons Attribution-Bez prerada 4.0. Do view kopiju ove licence, posjetite http://creativecommons.org/licenses/by-nd/4.0/ ili pošaljite pismo na Creative Commons, PO Box 1866, Mountain View, CA 94042, SAD.
General
Python paket pco nudi sve funkcije za rad s pco kamerama koje se temelje na trenutnoj pco.sdk. Uključene su sve dijeljene biblioteke za komunikaciju s kamerom i naknadnu obradu slike.
- Klasa kamere jednostavna za korištenje
- Snažan API za pco.sdk
- Snimanje i obrada slike sa pco.snimač
1.1 Instalacija
Instalirajte iz pypi (preporučeno):
$ pip instalirajte pco
1.2 Osnovna upotreba
import matplotlib.pyplot kao plt
uvoz pco
s pco.Camera() kao cam:
cam.record()
slika, meta = cam.image()
plt.imshow(slika, cmap='siva')
plt.show()1.3 Zapisivanje događaja i pogrešaka
Da biste aktivirali izlaz zapisivanja, kreirajte objekt Camera s parametrom debuglevel=.
Razina otklanjanja pogrešaka može se postaviti na jednu od sljedećih vrijednosti:
- 'off' Onemogućuje sve izlaze.
- 'error' Prikazuje samo poruke o pogrešci.
- 'verbose' Prikazuje sve poruke.
- 'extra verbose' Prikazuje sve poruke i vrijednosti.
Zadana razina otklanjanja pogrešaka je "isključena".
pco.Camera(debuglevel='verbose')
...
[][sdk] get_camera_type: OK.
Izborno vrijemeamp= parametar aktivira a tag u ispisu. Moguće vrijednosti su: 'on' i 'off'. Zadana vrijednost je 'isključeno'.
pco.Camera(debuglevel='verbose', timestamp='on')
...
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
API dokumentacija
Klasa pco.Camera nudi sljedeće metode:
- record() generira, konfigurira i pokreće novu instancu snimača.
- stop() zaustavlja trenutno snimanje.
- close() zatvara trenutno aktivnu kameru i oslobađa zauzete resurse.
- image() vraća sliku iz snimača kao niz numpy.
- images() vraća sve snimljene slike iz snimača kao popis numpy nizova.
- image_average() vraća prosječnu sliku. Ova se slika izračunava iz svih snimljenih slika u međuspremniku.
- set_exposure_time() postavlja vrijeme ekspozicije za kameru.
- wait_for_first_image() čeka prvu dostupnu sliku u memoriji snimača.
Klasa pco.Camera ima sljedeću varijablu:
- konfiguracija
Klasa pco.Camera ima sljedeće objekte:
- sdk nudi izravan pristup svim temeljnim funkcijama pco.sdk.
- snimač nudi izravan pristup svim temeljnim funkcijama pco.snimač.
2.1 Metode
Ovaj odjeljak opisuje sve metode koje nudi klasa pco.Camera.
2.1.1 Zapis
Opis Stvara, konfigurira i pokreće novu instancu snimača. Cijela konfiguracija kamere mora biti postavljena prije poziva record(). Naredba set_exposure_time() jedina je iznimka. Ova funkcija nema utjecaja na objekt snimača i može se pozvati tijekom snimanja.
Prototip def record(self, number_of_images=1, mode='sequence'):
Parametar
Ime | Opis |
broj_slika | Postavlja broj slika dodijeljenih u upravljačkom programu. RAM računala ograničava maksimalnu vrijednost. |
način rada | U načinu 'slijed', ova funkcija blokira tijekom snimanja. Snimač se automatski zaustavlja kada se dosegne broj_slika. U načinu 'neblokiranja niza', ova funkcija je neblokirajuća. Status se mora provjeriti prije čitanja slike. Ovaj način se koristi za čitanje slika tijekom snimanja, npr. minijatura. U načinu 'ring buffer' ova funkcija ne blokira. Status se mora provjeriti prije čitanja slike. Snimač ne zaustavlja snimanje kada se dosegne broj_slika. Kada se to dogodi, najstarije slike se prebrišu. U 'fifo' modu, ova funkcija ne blokira. Status se mora provjeriti prije čitanja slike. Kada se dosegne broj_slika u FIFO, sljedeće slike se ispuštaju dok se slike ne očitaju iz FIFO. |
2.1.2 Stani
Opis Zaustavlja trenutno snimanje. U načinu 'ring buffer' i 'fifo', ovu funkciju mora pozvati korisnik. U 'sekvenci' i 'sekvenci bez blokiranja' način rada, ova se funkcija automatski poziva kada se dosegne broj_slika.
Prototip def stop(self):
2.1.3 Zatvori
Opis Zatvara aktiviranu kameru i oslobađa blokirane resurse. Ova se funkcija mora pozvati prije zatvaranja aplikacije. U suprotnom, resursi ostaju zauzeti.
Prototip def close(self):
Ova se funkcija automatski poziva ako je objekt kamere kreiran naredbom with. Eksplicitni poziv za close() više nije potreban.
s pco.Camera() kao cam: # učiniti neke stvari
2.1.4 Slika
Opis Vraća sliku sa rekordera. Vrsta slike je numpy.ndarray. Taj se niz oblikuje ovisno o razlučivosti i ROI-u slike.
Prototip def image(self, image_number=0, roi=Ništa):
Parametar
Ime | Opis |
broj_slike | Određuje broj slike za čitanje. U načinu rada 'slijed' ili 'neblokirajući niz', indeks snimača odgovara broju_slike. Ako je image_number postavljen na 0xFFFFFFFF, zadnja snimljena slika se kopira. To omogućuje stvaranje live preview tijekom snimanja. |
ROI | Postavlja područje interesa. Samo se ovo područje slike kopira u povratnu vrijednost. |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> slika, meta = cam.image()
>>> tip(slika) numpy.ndarray
>>> image.shape (2160, 2560)
>>> slika, metapodaci = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 XNUMX slika
Opis Vraća sve snimljene slike iz snimača kao popis numpy nizova.
Prototip def images(self, roi=None, blocksize=None):
Parametar
Ime | Opis |
ROI | Postavlja područje interesa. Samo se ovo područje slike kopira u povratnu vrijednost. |
veličina bloka | Definira najveći broj slika koje se vraćaju. Ovaj parametar je koristan samo u 'fifo' modu i pod posebnim uvjetima. |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> slike, metapodaci = cam.images()
>>> len(slike) 20
>>> za sliku u slikama:
...
print('Mean: {:7.2f} DN'.format(image.mean()))
...
Srednja vrijednost: 2147.64 DN
Srednja vrijednost: 2144.61 DN
...
>>> slike = cam.images(roi=(1, 1, 300, 300))
>>> slike[0].oblik (300, 300)
2.1.6 Image_average
Opis Vraća prosječnu sliku. Ova se slika izračunava iz svih snimljenih slika u međuspremniku.
Prototip def image_average(self, roi=None):
Parametar
Ime | Opis |
ROI | Definira područje interesa. Samo se ovo područje slike kopira u povratnu vrijednost. |
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 Postavi_vrijeme_ekspozicije
Opis Postavlja vrijeme ekspozicije kamere.
Prototip def set_exposure_time(self, Exposition_time):
Parametar
Ime | Opis |
trajanje izlaganja | Mora se dati kao float ili cijeli broj u jedinici 'sekunda'. Temeljne vrijednosti za funkciju sdk.set_delay_exposure_time(0, 'ms', vrijeme, vremenska baza) izračunat će se automatski. Vrijeme odgode postavljeno je na 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Čekanje_na_prvu_sliku
Opis Čeka prvu dostupnu sliku u memoriji rekordera. U načinu snimanja 'neblokiranje niza', 'međuspremnik zvona'. i 'fifo', funkcija record() vraća odmah. Stoga se ova funkcija može koristiti za čekanje slika s kamere prije poziva image(), images() ili image_average().
Prototip def čekaj_prvu_sliku(sebe):
2.2 Konfiguracija varijable
Parametri kamere se ažuriraju promjenom konfiguracijske varijable.
cam.configuration = {'exposure time': 10e-3,
'roi': (1, 1, 512, 512),
'vrijemeamp': 'ascii',
'broj piksela': 100_000_000,
'okidač': 'automatski niz',
'acquire': 'automatski',
'metapodaci': 'uključeno',
'binning': (1, 1)}
Varijabla se može promijeniti samo prije poziva funkcije record(). To je rječnik s određenim brojem natuknica. Ne moraju se specificirati svi mogući elementi. Sljedeći sampkod samo mijenja 'broj piksela' i ne utječe na druge elemente konfiguracije.
s pco.Camera() kao cam:
cam.configuration = {'pixel rate': 286_000_000}
cam.record()
...
2.3 Objekti
Ovaj odjeljak opisuje sve objekte koje nudi klasa pco.Camera.
2.3.1 SDK
Objekt sdk omogućuje izravan pristup svim temeljnim funkcijama pco.sdk.
>>> cam.sdk.get_temperature()
{'temperatura senzora': 7.0, 'temperatura kamere': 38.2, 'temperatura napajanja': 36.7}
Sve povratne vrijednosti iz sdk funkcija su rječnici. Trenutno nisu sve postavke kamere pokrivene klasom kamere. Posebne postavke moraju se postaviti izravno pozivanjem odgovarajuće sdk funkcije.
2.3.2 Zapisničar
Objekt rec nudi izravan pristup svim temeljnim funkcijama pco.snimač. Nije potrebno izravno pozvati metodu klase snimača. Sve funkcije su u potpunosti pokrivene metodama klase Camera.
https://www.pco.de/applications/
pco europa +49 9441 2005 50 info@pco.de pco.de |
pco amerika +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco azija +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco kina +86 512 67634643 info@pco.cn pco.cn |
Dokumenti / Resursi
![]() |
EXCELITAS TECHNOLOGIES Python Software Development Kit [pdf] Korisnički priručnik Python komplet za razvoj softvera, komplet za razvoj softvera, komplet za razvoj, komplet |