
Python programinės įrangos kūrimo rinkinys
Vartotojo vadovas

Python programinės įrangos kūrimo rinkinys
PCO prašo atidžiai perskaityti šiame dokumente pateiktas instrukcijas ir jų laikytis.
Jei turite klausimų ar komentarų, susisiekite su mumis bet kuriuo metu.
telefonas: +49 (0) 9441 2005 50
faksas: +49 (0) 9441 2005 20
pašto adresas: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Vokietija
paštas: info@pco.de
web: www.pco.de
pco.python vartotojo vadovas 0.1.7
Išleista 2021 m. gruodžio mėn
©Autorių teisės Excelitas PCO GmbH
Šis darbas yra licencijuotas pagal Creative Commons Attribution-No Derivatives 4.0 tarptautinę licenciją. Į view šios licencijos kopiją, apsilankykite http://creativecommons.org/licenses/by-nd/4.0/ arba atsiųskite laišką Creative Commons, PO Box 1866, Mountain View, CA 94042, JAV.
Generolas
Python paketas pco siūlo visas funkcijas, skirtas darbui su PCO kameromis, kurios yra pagrįstos srove pco.sdk. Įtrauktos visos bendrinamos bibliotekos, skirtos ryšiui su fotoaparatu ir tolesniam vaizdo apdorojimui.
- Lengva naudoti fotoaparato klasė
- Galinga API pco.sdk
- Vaizdo įrašymas ir apdorojimas su pco.recorder
1.1 diegimas
Įdiegti iš pypi (rekomenduojama):
$ pip įdiegti PC
1.2 Pagrindinis naudojimas
importuoti matplotlib.pyplot kaip plt
importuoti pco
su pco.Camera() kaip kamera:
cam.record()
vaizdas, meta = cam.image()
plt.imshow(image, cmap='grey')
plt.show()
1.3 Įvykių ir klaidų registravimas
Norėdami suaktyvinti registravimo išvestį, sukurkite fotoaparato objektą su parametru debuglevel=.
Derinimo lygį galima nustatyti į vieną iš šių reikšmių:
- „Išjungta“ Išjungia visą išvestį.
- 'error' Rodo tik klaidų pranešimus.
- 'verbose' Rodo visus pranešimus.
- „Extra Verbose“ Rodo visus pranešimus ir reikšmes.
Numatytasis derinimo lygis yra „išjungtas“.
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: gerai.
Neprivalomas laikasamp= parametras įjungia a tag spaudoje. Galimos reikšmės yra: „on“ ir „off“. Numatytoji reikšmė yra „off“.
pco.Camera(debuglevel='verbose', timestamp='įjungta')
…
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: Gerai.
API dokumentacija
Pco.Camera klasė siūlo šiuos metodus:
- record() generuoja, konfigūruoja ir paleidžia naują įrašymo egzempliorių.
- stop() sustabdo dabartinį įrašymą.
- close() uždaro esamą aktyvią kamerą ir atlaisvina užimtus išteklius.
- image() grąžina vaizdą iš įrašymo įrenginio kaip numpy masyvą.
- images() grąžina visus įrašytus vaizdus iš įrašymo įrenginio kaip neryškių masyvų sąrašą.
- image_average() grąžina vidutinį vaizdą. Šis vaizdas apskaičiuojamas iš visų buferyje įrašytų vaizdų.
- set_exposure_time() nustato fotoaparato ekspozicijos laiką.
- wait_for_first_image() laukia pirmojo galimo vaizdo įrašymo įrenginio atmintyje.
Pco.Camera klasė turi tokį kintamąjį:
- konfigūracija
Pco.Camera klasėje yra šie objektai:
- sdk siūlo tiesioginę prieigą prie visų pagrindinių funkcijų pco.sdk.
- įrašymo įrenginys siūlo tiesioginę prieigą prie visų pagrindinių funkcijų pco.recorder.
2.1 Metodai
Šiame skyriuje aprašomi visi pco.Camera klasės siūlomi metodai.
2.1.1 Įrašas
Aprašymas Sukuria, konfigūruoja ir paleidžia naują įrašymo egzempliorių. Visa kameros konfigūracija turi būti nustatyta prieš skambinant record(). Komanda set_exposure_time() yra vienintelė išimtis. Ši funkcija neturi įtakos įrašymo objektui ir gali būti iškviesta įrašymo metu.
Prototipas def record(self, number_of_images=1, mode='sequence'):
Parametras
| Vardas | Aprašymas |
| vaizdų_skaičius | Nustato tvarkyklėje priskirtų vaizdų skaičių. Kompiuterio RAM riboja maksimalią reikšmę. |
| režimu | „Sekos“ režimu ši funkcija blokuojama įrašymo metu. Diktofonas automatiškai sustoja, kai pasiekiamas vaizdų_skaičius. „Sekos neblokavimo“ režimu ši funkcija neblokuoja. Prieš skaitant vaizdą, reikia patikrinti būseną. Šis režimas naudojamas vaizdams, pvz., miniatiūroms, įrašymo metu skaityti. „Skambėjimo buferio“ režimu ši funkcija neblokuoja. Prieš skaitant vaizdą, reikia patikrinti būseną. Diktofonas nestabdo įrašymo, kai pasiekiamas_vaizdų_skaičius. Kai tai įvyksta, seniausi vaizdai perrašomi. „Fifo“ režimu ši funkcija neblokuoja. Prieš skaitant vaizdą, reikia patikrinti būseną. Kai pasiekiamas fifo_vaizdų_skaičius, šie vaizdai atmetami, kol vaizdai nuskaitomi iš fifo. |
2.1.2 Sustokite
Aprašymas Sustabdo dabartinį įrašymą. „Skambėjimo buferio“ ir „fifo“ režimuose šią funkciją turi iškviesti vartotojas. „Sekos“ ir „Sekos neblokavimo“ režimuose ši funkcija automatiškai iškviečiama, kai pasiekiamas vaizdų_skaičius.
Prototipas def stop (savaime):
2.1.3 Uždarykite
Aprašymas Uždaro aktyvuotą kamerą ir atlaisvina užblokuotus išteklius. Ši funkcija turi būti iškviesta prieš nutraukiant programą. Priešingu atveju ištekliai lieka užimti.
Prototipas def close (self):
Ši funkcija iškviečiama automatiškai, jei kameros objektas sukurtas naudojant teiginį su. Aiškus kvietimas uždaryti () nebėra būtinas.
su pco.Camera() as cam: # atlikite kai kuriuos dalykus
2.1.4 Vaizdas
Aprašymas Grąžina vaizdą iš įrašymo įrenginio. Vaizdo tipas yra numpy.ndarray. Šis masyvas formuojamas atsižvelgiant į vaizdo skiriamąją gebą ir ROI.
Prototipas def vaizdas(self, image_number=0, roi=nėra):
Parametras
| Vardas | Aprašymas |
| vaizdo_numeris | Nurodo skaitinio vaizdo numerį. „Sekos“ arba „sekos neužblokavimo“ režimu įrašymo įrenginio indeksas atitinka vaizdo_numerį. Jei vaizdo_numeris nustatytas į 0xFFFFFFFF, nukopijuojamas paskutinis įrašytas vaizdas. Tai leidžia sukurti gyvą preview įrašant. |
| roi | Nustato dominančią sritį. Tik ši vaizdo sritis nukopijuojama į grąžinamą reikšmę. |
Example >>> cam.record(vaizdų_skaičius=1, režimas='seka')
>>> vaizdas, meta = cam.image()
>>> tipas(vaizdas) numpy.ndarray
>>> image.shape (2160, 2560)
>>> vaizdas, metaduomenys = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 Vaizdai
Aprašymas Grąžina visus įrašytus vaizdus iš diktofono kaip neryškių masyvų sąrašą.
Prototipas def images (self, roi=nėra, blocksize=nėra):
Parametras
| Vardas | Aprašymas |
| roi | Nustato dominančią sritį. Tik ši vaizdo sritis nukopijuojama į grąžinamą reikšmę. |
| bloko dydis | Apibrėžiamas maksimalus grąžinamų vaizdų skaičius. Šis parametras naudingas tik „fifo“ režimu ir ypatingomis sąlygomis. |
Example >>> cam.record(vaizdų_skaičius=20, režimas='seka')
>>> vaizdai, metaduomenys = cam.images()
>>> len(vaizdai) 20
>>> vaizdui vaizduose:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
Vidutinis: 2147.64 DN
Vidutinis: 2144.61 DN
…
>>> vaizdai = cam.images(roi=(1, 1, 300, 300))
>>> vaizdai[0].shape (300, 300)
2.1.6 Vaizdo_vidurkis
Aprašymas Grąžina vidutinį vaizdą. Šis vaizdas apskaičiuojamas iš visų buferyje įrašytų vaizdų.
Prototipas def image_average(self, roi=Nėra):
Parametras
| Vardas | Aprašymas |
| roi | Apibrėžia dominantį regioną. Tik ši vaizdo sritis nukopijuojama į grąžinamą reikšmę. |
Example >>> cam.record(vaizdų_skaičius=100, režimas='seka')
>>> avg = cam.image_average()
>>> vid. = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Nustatyti_ekspozicijos_laiką
Aprašymas Nustatomas fotoaparato ekspozicijos laikas.
Prototipas def set_exposure_time(self,exposure_time):
Parametras
| Vardas | Aprašymas |
| kontakto trukmė | Turi būti pateikta kaip slankioji arba sveikoji vertė vienete „sekundė“. Pagrindinės funkcijos sdk.set_delay_exposure_time(0, 'ms', time, timebase) reikšmės bus apskaičiuojamos automatiškai. Vėlavimo laikas nustatytas į 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Palaukite_pirmojo_vaizdo
Aprašymas Laukiama pirmojo galimo vaizdo įrašymo įrenginio atmintyje. Įrašymo režimu „sekos neužblokavimas“, „skambėjimo buferis“. ir „fifo“, funkcija record() grąžinama iš karto. Todėl šią funkciją galima naudoti laukti vaizdų iš fotoaparato prieš iškviečiant image(), images() arba image_average().
Prototipas def wait_for_first_image(self):
2.2 Kintamojo konfigūracija
Kameros parametrai atnaujinami keičiant konfigūracijos kintamąjį.
cam.configuration = {'ekspozicijos laikas': 10e-3,
„roi“: (1, 1, 512, 512),
'timestamp': 'ascii',
„pikselių dažnis“: 100_000_000,
„trigger“: „automatinė seka“,
'acquire': 'auto',
'metadata': 'on',
'binning': (1, 1)}
Kintamąjį galima pakeisti tik prieš iškviečiant funkciją record(). Tai žodynas su tam tikru įrašų skaičiumi. Nereikia nurodyti visų galimų elementų. Šie sample kodas pakeičia tik „pikselių dažnį“ ir neturi įtakos jokiems kitiems konfigūracijos elementams.
su pco.Camera() kaip kamera:
cam.configuration = {'pikselių dažnis': 286_000_000}
cam.record()
…
2.3 Objektai
Šiame skyriuje aprašomi visi pco.Camera klasės siūlomi objektai.
2.3.1 SDK
Objektas sdk suteikia tiesioginę prieigą prie visų pagrindinių funkcijų pco.sdk.
>>> cam.sdk.get_temperature()
{'jutiklio temperatūra': 7.0, 'kameros temperatūra': 38.2, 'galios temperatūra': 36.7}
Visos grąžinamos reikšmės iš sdk funkcijų yra žodynai. Šiuo metu fotoaparato klasė apima ne visus fotoaparato nustatymus. Specialūs nustatymai turi būti nustatyti tiesiogiai, iškvietus atitinkamą sdk funkciją.
2.3.2 Diktofonas
Objektas rec siūlo tiesioginę prieigą prie visų pagrindinių objekto funkcijų pco.recorder. Nebūtina tiesiogiai iškviesti įrašymo klasės metodo. Visos funkcijos yra visiškai padengtos Camera klasės metodais.
https://www.pco.de/applications/
| pco europe +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 Kinija +86 512 67634643 info@pco.cn pco.cn |


Dokumentai / Ištekliai
![]() |
EXCELITAS TECHNOLOGIES Python programinės įrangos kūrimo rinkinys [pdf] Naudotojo vadovas Python programinės įrangos kūrimo rinkinys, programinės įrangos kūrimo rinkinys, kūrimo rinkinys, rinkinys |




