Python бағдарламалық жасақтамасын әзірлеу жинағы
Пайдаланушы нұсқаулығы
Python бағдарламалық жасақтамасын әзірлеу жинағы
PCO осы құжаттағы нұсқауларды мұқият оқып шығуыңызды және орындауыңызды сұрайды.
Кез келген сұрақтар немесе түсініктемелер бойынша бізбен кез келген уақытта хабарласыңыз.
телефон: +49 (0) 9441 2005 50
факс: +49 (0) 9441 2005 20
пошталық мекенжайы: Excelitas PCO GmbH Donaupark 11 93309 Келхайм, Германия
электрондық пошта: info@pco.de
web: www.pco.de
pco.python пайдаланушы нұсқаулығы 0.1.7
2021 жылдың желтоқсанында шығарылды
©Авторлық құқық Excelitas PCO GmbH
Бұл жұмыс Creative Commons Attribution-No Derivatives 4.0 халықаралық лицензиясы бойынша лицензияланған. Кімге view осы лицензияның көшірмесін қараңыз http://creativecommons.org/licenses/by-nd/4.0/ немесе Creative Commons поштасына хат жіберіңіз, PO Box 1866, Mountain View, CA 94042, АҚШ.
Жалпы
Python пакеті pco токқа негізделген PC камераларымен жұмыс істеуге арналған барлық функцияларды ұсынады pco.sdk. Камерамен байланысуға және кейінгі кескінді өңдеуге арналған барлық ортақ кітапханалар қамтылған.
- Пайдалануға оңай камера класы
- Қуатты API pco.sdk
- көмегімен кескінді жазу және өңдеу pco.recorder
1.1 Орнату
pypi арқылы орнату (ұсынылады):
$ pip орнату PC
1.2 Негізгі қолдану
matplotlib.pyplot файлын plt ретінде импорттау
импорттық PC
pco.Camera() көмегімен камера ретінде:
cam.record()
сурет, мета = cam.image()
plt.imshow(сурет, cmap='сұр')
plt.show()1.3 Оқиғалар мен қателерді тіркеу
Тіркеу шығысын белсендіру үшін, debuglevel= параметрімен Камера нысанын жасаңыз.
Түзету деңгейін келесі мәндердің біріне орнатуға болады:
- 'off' Барлық шығыстарды өшіреді.
- 'error' Тек қате туралы хабарларды көрсетеді.
- 'толық' Барлық хабарларды көрсетеді.
- 'Extra Verbose' Барлық хабарлар мен мәндерді көрсетеді.
Әдепкі жөндеу деңгейі «өшірулі».
pco.Camera(debuglevel='толық')
…
[][sdk] get_camera_type: Жарайды.
Қосымша уақытamp= параметрі a белсендіреді tag басып шығарылған өнімде. Мүмкін мәндер: «қосу» және «өшіру». Әдепкі мән - "өшірулі".
pco.Camera(debuglevel='толық', уақыт көрсеткішіamp='қосу')
…
[2019-11-25 15:54:15.317855 / 0.016 с] [][sdk] get_camera_type: Жарайды.
API құжаттамасы
pco.Camera класы келесі әдістерді ұсынады:
- record() жаңа жазу құрылғысының данасын жасайды, конфигурациялайды және іске қосады.
- stop() ағымдағы жазуды тоқтатады.
- close() ағымдағы белсенді камераны жауып, пайдаланылған ресурстарды босатады.
- image() жазу құрылғысынан numpy массиві ретінде кескінді қайтарады.
- images() жазу құрылғысынан барлық жазылған кескіндерді сандық массивтер тізімі ретінде қайтарады.
- image_average() орташа алынған кескінді қайтарады. Бұл кескін буфердегі барлық жазылған кескіндерден есептеледі.
- set_exposure_time() камераның экспозиция уақытын орнатады.
- wait_for_first_image() жазу құрылғысының жадындағы бірінші қолжетімді кескінді күтеді.
pco.Camera класында келесі айнымалы бар:
- конфигурация
pco.Camera класында келесі нысандар бар:
- sdk бағдарламасының барлық негізгі функцияларына тікелей қол жеткізуді ұсынады pco.sdk.
- Жазғыш барлық негізгі функцияларға тікелей қол жеткізуді ұсынады pco.recorder.
2.1 Әдістер
Бұл бөлім pco.Camera сыныбы ұсынатын барлық әдістерді сипаттайды.
2.1.1 Жазба
Сипаттама Жаңа жазу құрылғысының данасын жасайды, конфигурациялайды және іске қосады. Барлық камера конфигурациясын record() шақыру алдында орнату керек. set_exposure_time() пәрмені жалғыз ерекшелік болып табылады. Бұл функция жазу құрылғысының нысанына әсер етпейді және оны жазу кезінде шақыруға болады.
Прототип def жазбасы (өзіндік, кескіндердің_саны = 1, режим = 'тізбегі'):
Параметр
Аты | Сипаттама |
кескіндердің_саны | Драйверде бөлінген кескіндер санын орнатады. ДК жедел жады максималды мәнді шектейді. |
режимі | «Реттеу» режимінде бұл функция жазу кезінде блокталады. Суреттер_санына жеткенде жазу құрылғысы автоматты түрде тоқтайды. «Бірізділікпен блоктаусыз» режимінде бұл функция блокталмайды. Кескінді оқымас бұрын күйді тексеру керек. Бұл режим жазу кезінде кескіндерді оқу үшін пайдаланылады, мысалы, нобай. «Сақиналы буфер» режимінде бұл функция блокталмайды. Кескінді оқымас бұрын күйді тексеру керек. Диктофон кескіндер_санына жеткенде жазуды тоқтатпайды. Бұл орын алған соң, ең ескі суреттер қайта жазылады. «fifo» режимінде бұл функция бұғатталмайды. Кескінді оқымас бұрын күйді тексеру керек. fifo ішіндегі кескіндердің_санына жеткенде, фифодан суреттер оқылғанша келесі кескіндер түсіріледі. |
2.1.2 Тоқтату
Сипаттама Ағымдағы жазуды тоқтатады. «Сақиналы буфер» және «fifo» режимінде бұл функцияны пайдаланушы шақыруы керек. "Реттеу" және "кезекті блоктамау" режимінде бұл функция кескіндердің_санына жеткенде автоматты түрде шақырылады.
Прототип Def stop(self):
2.1.3 Жабу
Сипаттама Іске қосылған камераны жауып, блокталған ресурстарды босатады. Бұл функция қолданбаны аяқтамас бұрын шақырылуы керек. Әйтпесе, ресурстар бос қалады.
Прототип Def close(self):
Камера нысаны with операторы арқылы жасалса, бұл функция автоматты түрде шақырылады. Жабуға() нақты шақыру енді қажет емес.
pco.Camera() көмегімен cam ретінде: # біраз нәрсені жасаңыз
2.1.4 Сурет
Сипаттама Диктофондағы кескінді қайтарады. Кескіннің түрі numpy.ndarray болып табылады. Бұл массив кескіннің ажыратымдылығына және ROI-ге байланысты пішінделеді.
Прототип def суреті(өзіндік, сурет_саны=0, roi=Жоқ):
Параметр
Аты | Сипаттама |
сурет_саны | Оқылатын кескіннің нөмірін көрсетеді. «Реттеу» немесе «дәйектілік блоктамауы» режимінде жазу құрылғысының индексі сурет_санына сәйкес келеді. Кескін_саны 0xFFFFFFFF күйіне орнатылса, соңғы жазылған кескін көшіріледі. Бұл тірі алдын ала құруға мүмкіндік бередіview жазу кезінде. |
roi | Қызығушылық аймағын орнатады. Қайтару мәніне кескіннің тек осы аймағы көшіріледі. |
Example >>> cam.record(суреттер_саны=1, режим='тізбегі')
>>> сурет, мета = cam.image()
>>> type(сурет) numpy.ndarray
>>> кескін. пішін (2160, 2560)
>>> кескін, метадеректер = cam.image(roi=(1, 1, 300, 300))
>>> кескін. пішін (300, 300)
2.1.5 XNUMX кескін
Сипаттама Жазғыштан барлық жазылған кескіндерді сандық массивтер тізімі ретінде қайтарады.
Прототип def кескіндері(өзіндік, roi=Жоқ, блок өлшемі=Жоқ):
Параметр
Аты | Сипаттама |
roi | Қызығушылық аймағын орнатады. Қайтару мәніне кескіннің тек осы аймағы көшіріледі. |
блок өлшемі | Қайтарылатын кескіндердің ең көп санын анықтайды. Бұл параметр тек «fifo» режимінде және ерекше жағдайларда пайдалы. |
Example >>> cam.record(суреттер_саны=20, режим='тізбегі')
>>> кескіндер, метадеректер = cam.images()
>>> len(суреттер) 20
>>> суреттердегі сурет үшін:
…
print('Орташа: {:7.2f} DN'.format(сурет.мағына()))
…
Орташа: 2147.64 DN
Орташа: 2144.61 DN
…
>>> кескіндер = cam.images(roi=(1, 1, 300, 300))
>>> кескіндер[0].пішін (300, 300)
2.1.6 Кескін_орташа
Сипаттама Орташа алынған кескінді қайтарады. Бұл кескін буфердегі барлық жазылған кескіндерден есептеледі.
Прототип def image_average(өзіндік, roi=Жоқ):
Параметр
Аты | Сипаттама |
roi | Қызығушылық аймағын анықтайды. Қайтару мәніне кескіннің тек осы аймағы көшіріледі. |
Example >>> cam.record(суреттер_саны=100, режим='тізбегі')
>>> орташа = cam.image_average()
>>> орташа = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Экспозиция_уақытын орнату
Сипаттама Камераның экспозиция уақытын орнатады.
Прототип Def set_exposure_time (өзіндік, экспозиция_уақыты):
Параметр
Аты | Сипаттама |
экспозиция уақыты | "секунд" бірлігінде қалқымалы немесе бүтін мән ретінде берілуі керек. sdk.set_delay_exposure_time(0, 'ms', time, timebase) функциясының негізгі мәндері автоматты түрде есептеледі. Кешіктіру уақыты 0-ге орнатылған. |
Example >>> cam.set_exposure_time(0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Бірінші суретті_күту
Сипаттама Диктофон жадындағы бірінші қолжетімді кескінді күтеді. Диктофон режимінде «блокталмайтын реттілік», «сақина буфері». және 'fifo' болса, record() функциясы дереу қайтарылады. Сондықтан, бұл функцияны image(), images() немесе image_average() қолданбас бұрын камерадан кескіндерді күту үшін пайдалануға болады.
Прототип def күту_бірінші_сурет(өзіндік):
2.2 Айнымалылар конфигурациясы
Камера параметрлері конфигурация айнымалысын өзгерту арқылы жаңартылады.
cam.configuration = {'экспозиция уақыты': 10e-3,
'roi': (1, 1, 512, 512),
'уақытamp': 'ascii',
'пиксель жылдамдығы': 100_000_000,
'триггер': 'автоматты реттілік',
'acquire': 'auto',
'метадеректер': 'қосу',
'binning': (1, 1)}
Айнымалы мәнді тек record() функциясы шақырылғанға дейін өзгертуге болады. Бұл белгілі бір жазбалар саны бар сөздік. Барлық мүмкін элементтерді көрсету қажет емес. Келесі сample коды тек «пиксель жылдамдығын» өзгертеді және конфигурацияның басқа элементтеріне әсер етпейді.
pco.Camera() көмегімен камера ретінде:
cam.configuration = {'пиксель жылдамдығы': 286_000_000}
cam.record()
…
2.3 Объектілер
Бұл бөлім pco.Camera сыныбы ұсынатын барлық нысандарды сипаттайды.
2.3.1 SDK
SDK нысаны барлық негізгі функцияларға тікелей қол жеткізуге мүмкіндік береді pco.sdk.
>>> cam.sdk.get_temperature()
{'сенсор температурасы': 7.0, 'камера температурасы': 38.2, 'қуат температурасы': 36.7}
sdk функцияларынан қайтарылатын барлық мәндер сөздіктер болып табылады. Қазіргі уақытта барлық камера параметрлері Камера сыныбында қарастырылмаған. Арнайы параметрлерді тікелей сәйкес sdk функциясын шақыру арқылы орнату керек.
2.3.2 Жазу құрылғысы
Rec нысаны барлық негізгі функцияларға тікелей қол жеткізуді ұсынады pco.recorder. Жазушы класының әдісін тікелей шақырудың қажеті жоқ. Барлық функциялар 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 Азия +65 6549 7054 info@pco-imaging.com pco-imaging.com |
pco қытай +86 512 67634643 info@pco.cn pco.cn |
Құжаттар / Ресурстар
![]() |
EXCELITAS TECHNOLOGIES Python бағдарламалық жасақтамасын әзірлеу жинағы [pdf] Пайдаланушы нұсқаулығы Python бағдарламалық құралды әзірлеу жинағы, бағдарламалық жасақтаманы әзірлеу жинағы, әзірлеу жинағы, жинақ |