Komplet za razvoj softvera Python
Uputstvo za upotrebu
Komplet za razvoj softvera Python
PCO vas moli da pažljivo pročitate i slijedite upute u ovom dokumentu.
Za bilo kakva 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
Objavljeno decembra 2021
©Autorska prava Excelitas PCO GmbH
Ovo djelo je licencirano pod međunarodnom licencom Creative Commons Attribution-No Derivatives 4.0. To view kopiju ove licence, posjetite http://creativecommons.org/licenses/by-nd/4.0/ ili pošaljite pismo Creative Commons, PO Box 1866, Mountain View, CA 94042, SAD.
Generale
Python paket pco nudi sve funkcije za rad sa pco kamerama koje su bazirane na struji pco.sdk. Uključene su sve zajedničke biblioteke za komunikaciju sa kamerom i naknadnu obradu slike.
- Klasa kamere jednostavna za korištenje
- Moćan API za pco.sdk
- Snimanje i obrada slike sa pco.recorder
1.1 Instalacija
Instalirajte sa pypi (preporučeno):
$ pip install pco
1.2 Osnovna upotreba
import matplotlib.pyplot kao plt
import pco
sa pco.Camera() kao cam:
cam.record()
slika, meta = cam.image()
plt.imshow(image, cmap='siva')
plt.show()1.3 Evidentiranje događaja i grešaka
Da biste aktivirali izlaz evidentiranja, kreirajte objekt Camera sa parametrom debuglevel=.
Nivo otklanjanja grešaka može se postaviti na jednu od sljedećih vrijednosti:
- 'off' Onemogućuje sav izlaz.
- 'error' Prikazuje samo poruke o grešci.
- 'verbose' Prikazuje sve poruke.
- 'extra verbose' Prikazuje sve poruke i vrijednosti.
Podrazumevani nivo otklanjanja grešaka je 'isključen'.
pco.Camera(debuglevel='verbose')
...
[][sdk] get_camera_type: OK.
Opcioni vremenski okviramp= parametar aktivira a tag u štampanom izlazu. Moguće vrijednosti su: 'on' i 'off'. Zadana vrijednost je 'isključeno'.
pco.Camera(debuglevel='verbose', timestamp='uključeno')
...
[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() generiše, konfiguriše i pokreće novu instancu snimača.
- stop() zaustavlja trenutno snimanje.
- close() zatvara trenutnu aktivnu kameru i oslobađa zauzete resurse.
- image() vraća sliku sa snimača kao numpy niz.
- images() vraća sve snimljene slike sa diktafona kao listu numpy nizova.
- image_average() vraća prosječnu sliku. Ova slika se izračunava iz svih snimljenih slika u baferu.
- set_exposure_time() postavlja vrijeme ekspozicije za kameru.
- wait_for_first_image() čeka prvu dostupnu sliku u memoriji rekordera.
Klasa pco.Camera ima sljedeću varijablu:
- konfiguraciju
Klasa pco.Camera ima sljedeće objekte:
- sdk nudi direktan pristup svim osnovnim funkcijama pco.sdk.
- snimač nudi direktan pristup svim osnovnim funkcijama pco.recorder.
2.1 Metode
Ovaj odjeljak opisuje sve metode koje nudi klasa pco.Camera.
2.1.1 Zapis
Opis Kreira, konfiguriše i pokreće novu instancu snimača. Cijela konfiguracija kamere mora biti postavljena prije poziva record(). Jedini izuzetak je komanda set_exposure_time(). Ova funkcija nema uticaj na objekat snimača i može se pozvati tokom snimanja.
Prototip def record(self, number_of_images=1, mode='sequence'):
Parametar
Ime | Opis |
broj_slika | Postavlja broj slika dodijeljenih u drajveru. RAM računara ograničava maksimalnu vrednost. |
način rada | U režimu 'sekvence', ova funkcija je blokirana tokom snimanja. Diktafon se automatski zaustavlja kada se dostigne broj_slika. U režimu 'sequence non blocking', ova funkcija je neblokirajuća. Status se mora provjeriti prije čitanja slike. Ovaj režim se koristi za čitanje slika tokom snimanja, npr. sličica. U načinu rada 'ring buffer' ova funkcija nije blokirana. Status se mora provjeriti prije čitanja slike. Diktafon ne zaustavlja snimanje kada se dostigne broj_slika. Kada se to dogodi, najstarije slike se prepisuju. U 'fifo' modu, ova funkcija nije blokirana. Status se mora provjeriti prije čitanja slike. Kada se dostigne broj_images u fifo-u, sljedeće slike se ispuštaju dok se slike ne pročitaju iz fifo-a. |
2.1.2 Stani
Opis Zaustavlja trenutno snimanje. U 'ring buffer' i 'fifo' modu, ovu funkciju mora pozvati korisnik. U režimu 'sequence' i 'sequence non blocking', ova funkcija se automatski poziva kada se dostigne broj_slika.
Prototip def stop(self):
2.1.3 Zatvori
Opis Zatvara aktiviranu kameru i oslobađa blokirane resurse. Ova funkcija mora biti pozvana prije nego što se aplikacija završi. U suprotnom, resursi ostaju zauzeti.
Prototip def close(self):
Ova funkcija se automatski poziva ako je objekt kamere kreiran naredbom with. Eksplicitni poziv close() više nije potreban.
sa pco.Camera() kao cam: # uradi neke stvari
2.1.4 Slika
Opis Vraća sliku sa diktafona. Tip slike je numpy.ndarray. Ovaj niz je oblikovan u zavisnosti od rezolucije i ROI slike.
Prototip def image(self, image_number=0, roi=Ništa):
Parametar
Ime | Opis |
slika_broj | Određuje broj slike za čitanje. U režimu 'sequence' ili 'sequence non blocking', indeks snimača odgovara image_number. Ako je image_number postavljen na 0xFFFFFFFF, kopira se posljednja snimljena slika. Ovo omogućava kreiranje preview tokom snimanja. |
roi | Postavlja područje od interesa. Samo ovo područje slike se 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 Slike
Opis Vraća sve snimljene slike sa diktafona kao listu numpy nizova.
Prototip def slike(self, roi=Ništa, blocksize=Ništa):
Parametar
Ime | Opis |
roi | Postavlja područje od interesa. Samo ovo područje slike se kopira u povratnu vrijednost. |
blocksize | Definira maksimalan 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 Slika_prosjek
Opis Vraća prosječnu sliku. Ova slika se izračunava iz svih snimljenih slika u baferu.
Prototip def image_average(self, roi=Ništa):
Parametar
Ime | Opis |
roi | Definira regiju od interesa. Samo ovo područje slike se 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 Set_exposure_time
Opis Podešava vreme ekspozicije kamere.
Prototip def set_exposure_time(self, exposure_time):
Parametar
Ime | Opis |
vrijeme izloženosti | Mora se dati kao float ili cjelobrojna vrijednost u jedinici 'second'. Osnovne vrijednosti za funkciju sdk.set_delay_exposure_time(0, 'ms', time, timebase) će se automatski izračunati. Vrijeme kašnjenja je postavljeno na 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Čekaj_na_prvu_sliku
Opis Čeka prvu dostupnu sliku u memoriji diktafona. U režimu snimanja 'sekvencija ne blokira', 'memofonski bafer'. i 'fifo', funkcija record() se vraća odmah. Stoga se ova funkcija može koristiti za čekanje slika s kamere prije pozivanja image(), images() ili image_average().
Prototip def čekaj_za_prvu_sliku(samo):
2.2 Konfiguracija varijable
Parametri kamere se ažuriraju promjenom konfiguracijske varijable.
cam.configuration = {'vrijeme ekspozicije': 10e-3,
'roi': (1, 1, 512, 512),
'timestamp': 'ascii',
'brzina piksela': 100_000_000,
'okidač': 'automatski niz',
'acquire': 'auto',
'metapodaci': 'uključeno',
'binning': (1, 1)}
Varijabla se može promijeniti samo prije nego što se pozove funkcija record(). To je rečnik sa određenim brojem unosa. Ne moraju se specificirati svi mogući elementi. Sljedeće sample kod samo mijenja 'brzinu piksela' i ne utječe na druge elemente konfiguracije.
sa pco.Camera() kao cam:
cam.configuration = {'Brzina piksela': 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ćava direktan pristup svim osnovnim 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. Klasa kamere trenutno ne pokriva sve postavke kamere. Posebna podešavanja se moraju postaviti direktno pozivanjem odgovarajuće sdk funkcije.
2.3.2 Rekorder
Objekt rec nudi direktan pristup svim osnovnim funkcijama pco.recorder. Nije potrebno direktno pozvati metodu klase rekordera. Sve funkcije su u potpunosti pokrivene metodama klase Camera.
https://www.pco.de/applications/
pco europe +49 9441 2005 50 info@pco.de pco.de |
pco america +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco asia +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco china +86 512 67634643 info@pco.cn pco.cn |
Dokumenti / Resursi
![]() |
EXCELITAS TECHNOLOGIES Python komplet za razvoj softvera [pdf] Korisnički priručnik Python komplet za razvoj softvera, komplet za razvoj softvera, komplet za razvoj, komplet |