Kit de dezvoltare software Python
Manual de utilizare
Kit de dezvoltare software Python
PCO vă solicită să citiți cu atenție și să urmați instrucțiunile din acest document.
Pentru orice întrebări sau comentarii, nu ezitați să ne contactați în orice moment.
telefon: +49 (0) 9441 2005 50
fax: +49 (0) 9441 2005 20
adresa poștală: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Germania
e-mail: info@pco.de
web: www.pco.de
manual de utilizare pco.python 0.1.7
Lansat în decembrie 2021
©Copyright Excelitas PCO GmbH
Această lucrare este licențiată sub Licența Internațională Creative Commons Attribution-No Derivatives 4.0. La view o copie a acestei licențe, vizitați http://creativecommons.org/licenses/by-nd/4.0/ sau trimiteți o scrisoare la Creative Commons, PO Box 1866, Mountain View, CA 94042, SUA.
General
Pachetul Python pco oferă toate funcțiile pentru lucrul cu camerele pco care se bazează pe curent pco.sdk. Sunt incluse toate bibliotecile partajate pentru comunicarea cu camera și procesarea ulterioară a imaginii.
- Clasă de cameră ușor de utilizat
- API puternică pentru pco.sdk
- Înregistrarea și procesarea imaginilor cu pco.recorder
1.1 Instalare
Instalați din pypi (recomandat):
$ pip install pco
1.2 Utilizare de bază
import matplotlib.pyplot ca plt
import pc
cu pco.Camera() ca cameră:
cam.record()
imagine, meta = cam.image()
plt.imshow(imagine, cmap='gri')
plt.show()1.3 Înregistrare evenimente și erori
Pentru a activa ieșirea de înregistrare, creați obiectul Camera cu parametrul debuglevel=.
Nivelul de depanare poate fi setat la una dintre următoarele valori:
- 'off' Dezactivează toate ieşirile.
- „eroare” Afișează numai mesajele de eroare.
- „verbose” Afișează toate mesajele.
- „extra verbose” Afișează toate mesajele și valorile.
Nivelul implicit de depanare este „dezactivat”.
pco.Camera(debuglevel='verbose')
…
[[][sdk] get_camera_type: OK.
Timpul opționalamp= parametrul activează a tag în rezultatul tipărit. Valorile posibile sunt: „on” și „off”. Valoarea implicită este „off”.
pco.Camera(debuglevel='verbose', timestamp='pe')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
Documentația API
Clasa pco.Camera oferă următoarele metode:
- record() generează, configurează și pornește o nouă instanță de înregistrare.
- stop() oprește înregistrarea curentă.
- close() închide camera activă curentă și eliberează resursele ocupate.
- image() returnează o imagine din recorder ca matrice numpy.
- images() returnează toate imaginile înregistrate din recorder ca o listă de matrice numpy.
- image_average() returnează imaginea medie. Această imagine este calculată din toate imaginile înregistrate în tampon.
- set_exposure_time() setează timpul de expunere pentru cameră.
- wait_for_first_image() așteaptă prima imagine disponibilă în memoria recorderului.
Clasa pco.Camera are următoarea variabilă:
- configurație
Clasa pco.Camera are următoarele obiecte:
- sdk oferă acces direct la toate funcțiile de bază ale pco.sdk.
- recorder oferă acces direct la toate funcțiile de bază ale pco.recorder.
2.1 Metode
Această secțiune descrie toate metodele oferite de clasa pco.Camera.
2.1.1 Înregistrare
Descriere Creează, configurează și pornește o nouă instanță de înregistrare. Întreaga configurație a camerei trebuie setată înainte de a apela record(). Comanda set_exposure_time() este singura excepție. Această funcție nu are efect asupra obiectului înregistrator și poate fi apelată în timpul înregistrării.
Prototip def record(self, number_of_images=1, mode='secvence'):
Parametru
Nume | Descriere |
număr_de_imagini | Setează numărul de imagini alocat în driver. RAM-ul PC-ului limitează valoarea maximă. |
modul | În modul „secvență”, această funcție se blochează în timpul înregistrării. Recorderul se oprește automat când este atins numărul_de_imagini. În modul „secvență fără blocare”, această funcție nu este blocată. Starea trebuie verificată înainte de a citi o imagine. Acest mod este folosit pentru a citi imagini în timpul înregistrării, de exemplu miniatură. În modul „ring buffer”, această funcție nu este blocată. Starea trebuie verificată înainte de a citi o imagine. Recorderul nu oprește înregistrarea când este atins numărul_de_imagini. Odată ce se întâmplă acest lucru, cele mai vechi imagini sunt suprascrise. În modul „fifo”, această funcție nu este blocată. Starea trebuie verificată înainte de a citi o imagine. Când se atinge numărul_de_imagini din fifo, următoarele imagini sunt aruncate până când imaginile sunt citite din fifo. |
2.1.2 Oprește-te
Descriere Oprește înregistrarea curentă. În modul „ring buffer” și „fifo”, această funcție trebuie apelată de utilizator. În modul „secvență” și „secvență fără blocare”, această funcție este apelată automat când este atins numărul_de_imagini.
Prototip def stop(self):
2.1.3 Închidere
Descriere Închide camera activată și eliberează resursele blocate. Această funcție trebuie apelată înainte ca aplicația să fie terminată. În caz contrar, resursele rămân ocupate.
Prototip def close(self):
Această funcție este apelată automat dacă obiectul camerei este creat de instrucțiunea with. Un apel explicit la close() nu mai este necesar.
cu pco.Camera() ca came: # face unele lucruri
2.1.4 Imagine
Descriere Returnează o imagine de la reportofon. Tipul imaginii este un numpy.ndarray. Această matrice este modelată în funcție de rezoluția și ROI-ul imaginii.
Prototip def image(self, image_number=0, roi=None):
Parametru
Nume | Descriere |
imagine_number | Specifică numărul imaginii de citit. În modul „secvență” sau „secvență fără blocare”, indexul înregistratorului se potrivește cu imagine_number. Dacă imagine_number este setat la 0xFFFFFFFF, ultima imagine înregistrată este copiată. Acest lucru permite crearea unui preview în timpul înregistrării. |
roi | Setează regiunea de interes. Doar această regiune a imaginii este copiată în valoarea returnată. |
Example >>> cam.record(număr_de_imagini=1, mod='secvență')
>>> imagine, meta = cam.image()
>>> tip(imagine) numpy.ndarray
>>> imagine.shape (2160, 2560)
>>> imagine, metadate = cam.image(roi=(1, 1, 300, 300))
>>> imagine.shape (300, 300)
2.1.5 de imagini
Descriere Returnează toate imaginile înregistrate din recorder ca o listă de matrice numpy.
Prototip imagini def (self, roi=Niciunul, blocksize=Niciuna):
Parametru
Nume | Descriere |
roi | Setează regiunea de interes. Doar această regiune a imaginii este copiată în valoarea returnată. |
dimensiunea blocului | Definește numărul maxim de imagini care sunt returnate. Acest parametru este util doar în modul „fifo” și în condiții speciale. |
Example >>> cam.record(număr_de_imagini=20, mod='secvență')
>>> imagini, metadate = cam.images()
>>> len(imagini) 20
>>> pentru imaginea din imagini:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
Medie: 2147.64 DN
Medie: 2144.61 DN
…
>>> imagini = cam.images(roi=(1, 1, 300, 300))
>>> imagini[0].shape (300, 300)
2.1.6 Image_average
Descriere Returnează imaginea medie. Această imagine este calculată din toate imaginile înregistrate în tampon.
Prototip def image_average(self, roi=None):
Parametru
Nume | Descriere |
roi | Definește regiunea de interes. Doar această regiune a imaginii este copiată în valoarea returnată. |
Example >>> cam.record(număr_de_imagini=100, mod='secvență')
>>> avg = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Set_exposure_time
Descriere Setează timpul de expunere al camerei.
Prototip def set_exposure_time(self, expunere_time):
Parametru
Nume | Descriere |
timp de expunere | Trebuie dat ca valoare flotantă sau întreagă în unitatea „secunda”. Valorile de bază pentru funcția sdk.set_delay_exposure_time(0, 'ms', time, timebase) vor fi calculate automat. Timpul de întârziere este setat la 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Așteptați_prima_imagine
Descriere Așteaptă prima imagine disponibilă în memoria recorderului. În modul recorder „secvență neblocată”, „ring buffer”. și „fifo”, funcția record() revine imediat. Prin urmare, această funcție poate fi folosită pentru a aștepta imagini de la cameră înainte de a apela image(), images() sau image_average().
Prototip def wait_for_first_image(self):
2.2 Configurare variabilă
Parametrii camerei sunt actualizați prin modificarea variabilei de configurare.
cam.configuration = {'timp de expunere': 10e-3,
„roi”: (1, 1, 512, 512),
'timeestamp': 'ascii',
„rată de pixeli”: 100_000_000,
„declanșare”: „secvență automată”,
„dobândire”: „auto”,
'metadate': 'on',
„binning”: (1, 1)}
Variabila poate fi schimbată numai înainte ca funcția record() să fie apelată. Este un dicționar cu un anumit număr de intrări. Nu toate elementele posibile trebuie specificate. Următorul sampCodul schimbă doar „rata de pixeli” și nu afectează niciun alt element al configurației.
cu pco.Camera() ca cameră:
cam.configuration = {'rată de pixeli': 286_000_000}
cam.record()
…
2.3 de obiecte
Această secțiune descrie toate obiectele oferite de clasa pco.Camera.
2.3.1 SDK
SDK-ul obiectului permite accesul direct la toate funcțiile de bază ale fișierului pco.sdk.
>>> cam.sdk.get_temperature()
{„temperatura senzorului”: 7.0, „temperatura camerei”: 38.2, „temperatura puterii”: 36.7}
Toate valorile returnate de la funcțiile sdk sunt dicționare. Nu toate setările camerei sunt acoperite în prezent de clasa Cameră. Setările speciale trebuie setate direct apelând funcția SDK respectivă.
2.3.2 Recorder
Obiectul rec oferă acces direct la toate funcțiile subiacente ale pco.recorder. Nu este necesar să apelați direct o metodă de clasă recorder. Toate funcțiile sunt acoperite în totalitate de metodele clasei Camera.
https://www.pco.de/applications/
pco europa +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 |
Documente/Resurse
![]() |
EXCELITAS TECHNOLOGIES Kit de dezvoltare software Python [pdfManual de utilizare Kit de dezvoltare software Python, Kit de dezvoltare software, Kit de dezvoltare, Kit |