
Kit ta' Żvilupp tas-Softwer Python
Manwal għall-Utent

Kit ta' Żvilupp tas-Softwer Python
PCO jitloblek taqra u ssegwi bir-reqqa l-istruzzjonijiet f'dan id-dokument.
Għal xi mistoqsijiet jew kummenti, jekk jogħġbok tħossok liberu li tikkuntattjana fi kwalunkwe ħin.
telefon: +49 (0) 9441 2005 50
fax: +49 (0) 9441 2005 20
indirizz postali: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, il-Ġermanja
email: info@pco.de
web: www.pco.de
Manwal għall-utent pco.python 0.1.7
Maħruġ f'Diċembru 2021
©Copyright Excelitas PCO GmbH
Dan ix-xogħol huwa liċenzjat taħt il-Liċenzja Internazzjonali Creative Commons Attribution-No Derivatives 4.0. Biex view kopja ta' din il-liċenzja, żur http://creativecommons.org/licenses/by-nd/4.0/ jew ibgħat ittra lil Creative Commons, PO Box 1866, Mountain View, CA 94042, l-Istati Uniti.
Ġenerali
Il-pakkett Python pco joffri l-funzjonijiet kollha biex taħdem ma 'kameras pco li huma bbażati fuq il-kurrent pco.sdk. Il-libreriji kondiviżi kollha għall-komunikazzjoni mal-kamera u l-ipproċessar sussegwenti tal-immaġni huma inklużi.
- Klassi tal-kamera faċli biex tużah
- API qawwija biex pco.sdk
- Ir-reġistrazzjoni u l-ipproċessar tal-immaġni bil pco.recorder
1.1 Installazzjoni
Installa minn pypi (rakkomandat):
$ pip install pco
1.2 Użu Bażiku
importazzjoni matplotlib.pyplot bħala plt
importazzjoni PCO
b'pco.Camera() bħala cam:
cam.record()
immaġni, meta = cam.image ()
plt.imshow(immaġini, cmap='griż')
plt.show()
1.3 Avvenimenti u Żbalji Logging
Biex tattiva l-output tal-qtugħ, oħloq l-oġġett Kamera bil-parametru debuglevel=.
Il-livell ta' debug jista' jiġi ssettjat għal wieħed mill-valuri li ġejjin:
- 'off' Jiddiżattiva l-output kollu.
- 'żball' Juri biss messaġġi ta' żball.
- 'verbose' Juri l-messaġġi kollha.
- 'extra verbose' Juri l-messaġġi u l-valuri kollha.
Il-debuglevel default huwa 'off'.
pco.Camera(debuglevel='verbose')
...
[[][sdk] get_camera_type: OK.
Il-ħin mhux obbligatorjuamp= parametru jattiva a tag fil-produzzjoni stampata. Valuri possibbli huma: 'on' u 'off'. Il-valur default huwa 'off'.
pco.Camera(debuglevel='verbose', timestamp='on')
...
[2019-11-25 15:54:15.317855 / 0.016 s] [][sdk] get_camera_type: OK.
Dokumentazzjoni API
Il-klassi pco.Camera toffri l-metodi li ġejjin:
- record() jiġġenera, jikkonfigura, u jibda istanza ġdida ta' recorder.
- stop() iwaqqaf ir-reġistrazzjoni kurrenti.
- close() tagħlaq il-kamera attiva kurrenti u tirrilaxxa r-riżorsi okkupati.
- image() jirritorna immaġni mir-reġistratur bħala numpy array.
- images() jirritorna l-immaġini kollha rreġistrati mir-reġistratur bħala lista ta' arrays numpy.
- image_average() jirritorna l-immaġni medja. Din l-immaġni hija kkalkulata mill-immaġini kollha rreġistrati fil-buffer.
- set_exposure_time() jistabbilixxi l-ħin ta' espożizzjoni għall-kamera.
- wait_for_first_image() jistenna l-ewwel immaġini disponibbli fil-memorja tar-reġistratur.
Il-klassi pco.Camera għandha l-varjabbli li ġejja:
- konfigurazzjoni
Il-klassi pco.Camera għandha l-oġġetti li ġejjin:
- sdk joffri aċċess dirett għall-funzjonijiet kollha sottostanti tal- pco.sdk.
- recorder joffri aċċess dirett għall-funzjonijiet kollha sottostanti tal- pco.recorder.
2.1 Metodi
Din it-taqsima tiddeskrivi l-metodi kollha offruti mill-klassi pco.Camera.
2.1.1 Rekord
Deskrizzjoni Joħloq, jikkonfigura, u jibda istanza ġdida ta' recorder. Il-konfigurazzjoni kollha tal-kamera trid tiġi ssettjata qabel ma ssejjaħ record(). Il-kmand set_exposure_time() huwa l-unika eċċezzjoni. Din il-funzjoni m'għandha l-ebda effett fuq l-oġġett li jirreġistra u tista' tissejjaħ waqt ir-reġistrazzjoni.
Prototip def record(self, number_of_images=1, mode='sekwenza'):
Parametru
| Isem | Deskrizzjoni |
| numru_ta_xbihat | Issettja n-numru ta' immaġini allokati fis-sewwieq. Ir-RAM tal-PC tillimita l-valur massimu. |
| mod | Fil-modalità 'sekwenza', din il-funzjoni qed timblokka waqt ir-reġistrazzjoni. Ir-reġistratur jieqaf awtomatikament meta jintlaħaq in-numru_ta_xbihat. Fil-modalità 'sekwenza mhux imblukkata', din il-funzjoni mhix imblukkata. L-istatus għandu jiġi ċċekkjat qabel ma taqra immaġini. Din il-modalità tintuża biex taqra immaġini waqt ir-reġistrazzjoni, eż. thumbnail. Fil-modalità 'ring buffer' din il-funzjoni ma timblokkax. L-istatus għandu jiġi ċċekkjat qabel ma taqra immaġini. Ir-reġistratur ma jwaqqafx ir-reġistrazzjoni meta jintlaħaq in-numru_ta_xbihat. Ladarba jiġri dan, l-eqdem immaġini jinkitbu fuqhom. Fil-modalità 'fifo', din il-funzjoni mhix imblukkata. L-istatus għandu jiġi ċċekkjat qabel ma taqra immaġini. Meta jintlaħaq in-numru_of_immaġini fil-fifo, l-immaġini li ġejjin jitilgħu sakemm jinqraw l-immaġini mill-fifo. |
2.1.2 Waqqaf
Deskrizzjoni Jwaqqaf ir-reġistrazzjoni kurrenti. Fil-modalità 'ring buffer' u 'fifo', din il-funzjoni trid tissejjaħ mill-utent. Fil-modalità 'sequence' u 'sequence non blocking', din il-funzjoni tissejjaħ awtomatikament meta jintlaħaq in-numru_of_immaġini.
Prototip def stop(self):
2.1.3 Agħlaq
Deskrizzjoni Jagħlaq il-kamera attivata u jirrilaxxa r-riżorsi mblukkati. Din il-funzjoni trid tissejjaħ qabel ma l-applikazzjoni tintemm. Inkella, ir-riżorsi jibqgħu okkupati.
Prototip def qrib(innifsi):
Din il-funzjoni tissejjaħ awtomatikament jekk l-oġġett tal-kamera jinħoloq mid-dikjarazzjoni with. Sejħa espliċita għal close() m'għadhiex meħtieġa.
ma pco.Camera() bħala cam: # tagħmel xi għalf
2.1.4 Immaġni
Deskrizzjoni Jirritorna immaġni mir-reġistratur. It-tip tal-immaġini huwa numpy.ndarray. Din il-firxa hija ffurmata skont ir-riżoluzzjoni u r-ROI tal-immaġni.
Prototip def image(self, image_number=0, roi=Xejn):
Parametru
| Isem | Deskrizzjoni |
| numru_immaġni | Jispeċifika n-numru tal-immaġini li trid tinqara. Fil-modalità 'sekwenza' jew 'sekwenza mhux imblukkata', l-indiċi tar-reġistratur jaqbel man-numru_immaġni. Jekk image_number huwa ssettjat għal 0xFFFFFFFF, l-aħħar immaġini rreġistrata tiġi kkupjata. Dan jippermetti li jinħoloq pre ħajjinview waqt ir-reġistrazzjoni. |
| roi | Issettja r-reġjun ta 'interess. Dan ir-reġjun biss tal-immaġni huwa kkupjat għall-valur tar-ritorn. |
Example >>> cam.record(number_of_images=1, mode='sekwenza')
>>> immaġni, meta = cam.image ()
>>> tip(immaġini) numpy.ndarray
>>> image.shape (2160, 2560)
>>> immaġni, metadata = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 Stampi
Deskrizzjoni Jirritorna l-immaġini kollha rreġistrati mir-reġistratur bħala lista ta’ matriċi numpy.
Prototip immaġini def (self, roi = Xejn, blocksize = Xejn):
Parametru
| Isem | Deskrizzjoni |
| roi | Issettja r-reġjun ta 'interess. Dan ir-reġjun biss tal-immaġni huwa kkupjat għall-valur tar-ritorn. |
| blocksize | Jiddefinixxi n-numru massimu ta' immaġini li jintbagħtu lura. Dan il-parametru huwa utli biss fil-modalità 'fifo' u taħt kundizzjonijiet speċjali. |
Example >>> cam.record(number_of_images=20, mode='sekwenza')
>>> immaġini, metadata = cam.images ()
>>> len(immaġini) 20
>>> għal immaġni fl-immaġini:
...
print('Mean: {:7.2f} DN'.format(image.mean()))
...
Medja: 2147.64 DN
Medja: 2144.61 DN
...
>>> immaġini = cam.images(roi=(1, 1, 300, 300))
>>> stampi[0].forma (300, 300)
2.1.6 Image_medja
Deskrizzjoni Jirritorna l-immaġni medja. Din l-immaġni hija kkalkulata mill-immaġini kollha rreġistrati fil-buffer.
Prototip def image_average(self, roi=Xejn):
Parametru
| Isem | Deskrizzjoni |
| roi | Jiddefinixxi r-reġjun ta' interess. Dan ir-reġjun biss tal-immaġni huwa kkupjat għall-valur tar-ritorn. |
Example >>> cam.record(number_of_images=100, mode='sekwenza')
>>> medja = cam.image_average ()
>>> medja = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Issettja l-ħin_espożizzjoni
Deskrizzjoni Issettja l-ħin tal-espożizzjoni tal-kamera.
Prototip def set_exposure_time(self, exposición_time):
Parametru
| Isem | Deskrizzjoni |
| ħin_espożizzjoni | Għandu jingħata bħala valur float jew numru sħiħ fl-unità 'it-tieni'. Il-valuri sottostanti għall-funzjoni sdk.set_delay_exposure_time(0, 'ms', time, timebase) se jiġu kkalkulati awtomatikament. Il-ħin tad-dewmien huwa ssettjat għal 0. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Wait_for_first_image
Deskrizzjoni Tistenna l-ewwel immaġini disponibbli fil-memorja tar-reġistratur. Fil-mod tar-reġistratur 'sekwenza mhux imblukkata', 'ring buffer'. u 'fifo', ir-rekord tal-funzjoni () jirritorna immedjatament. Għalhekk, din il-funzjoni tista' tintuża biex tistenna immaġini mill-kamera qabel ma ssejjaħ image(), images(), jew image_average().
Prototip def wait_for_first_image(self):
2.2 Konfigurazzjoni Varjabbli
Il-parametri tal-kamera jiġu aġġornati billi tinbidel il-varjabbli tal-konfigurazzjoni.
cam.configuration = {'ħin ta' espożizzjoni': 10e-3,
'roi': (1, 1, 512, 512),
'timestamp': 'ascii',
'rata ta' pixel': 100_000_000,
'trigger': 'sekwenza awtomatika',
'akkwist': 'awto',
'metadata': 'on',
'binning': (1, 1)}
Il-varjabbli tista' tinbidel biss qabel ma tissejjaħ il-funzjoni record(). Huwa dizzjunarju b'ċertu numru ta' entrati. Mhux l-elementi kollha possibbli jeħtieġ li jiġu speċifikati. Is-segwenti sample code jibdel biss ir-'rata ta' pixels' u ma jaffettwa l-ebda element ieħor tal-konfigurazzjoni.
b'pco.Camera() bħala cam:
cam.configuration = {'rata ta' pixels': 286_000_000}
cam.record()
...
2.3 Oġġetti
Din it-taqsima tiddeskrivi l-oġġetti kollha offruti mill-klassi pco.Camera.
2.3.1 SDK
L-objet sdk jippermetti aċċess dirett għall-funzjonijiet kollha sottostanti tal- pco.sdk.
>>> cam.sdk.get_temperature()
{'temperatura tas-sensor': 7.0, 'temperatura tal-kamera': 38.2, 'temperatura tal-qawwa': 36.7}
Il-valuri kollha tar-ritorn mill-funzjonijiet sdk huma dizzjunarji. Mhux is-settings kollha tal-kamera bħalissa huma koperti mill-klassi Kamera. Settings speċjali jridu jiġu stabbiliti direttament billi ssejjaħ il-funzjoni sdk rispettiva.
2.3.2 Reġistratur
L-oġġett rec joffri aċċess dirett għall-funzjonijiet kollha sottostanti tal- pco.recorder. Mhuwiex meħtieġ li ssejjaħ metodu tal-klassi tar-reġistratur direttament. Il-funzjonijiet kollha huma koperti bis-sħiħ mill-metodi tal-klassi Camera.
https://www.pco.de/applications/
| pco Ewropa +49 9441 2005 50 info@pco.de pco.de |
pco Amerika +1 866 678 4566 info@pco-tech.com pco-tech.com |
pco asia +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco kina +86 512 67634643 info@pco.cn pco.cn |


Dokumenti / Riżorsi
![]() |
EXCELITAS TECHNOLOGIES Kit għall-Iżvilupp tas-Software Python [pdfManwal tal-Utent Kit ta' Żvilupp ta' Software Python, Kit ta' Żvilupp ta' Software, Kit ta' Żvilupp, Kit |




