Набор для распрацоўкі праграмнага забеспячэння Python
Кіраўніцтва карыстальніка
Набор для распрацоўкі праграмнага забеспячэння Python
PCO просіць вас уважліва прачытаць і выконваць інструкцыі ў гэтым дакуменце.
Па любых пытаннях або каментарыях, калі ласка, не саромейцеся звяртацца да нас у любы час.
тэлефон: +49 (0) 9441 2005 50
факс: +49 (0) 9441 2005 20
паштовы адрас: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Германія
адрас электроннай пошты: 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, Каліфорнія 94042, ЗША.
Генерал
Пакет Python pco прапануе ўсе функцыі для працы з камерамі pco, заснаваныя на бягучай pco.sdk. Уключаны ўсе агульныя бібліятэкі для сувязі з камерай і наступнай апрацоўкі малюнкаў.
- Лёгкі ў выкарыстанні клас камеры
- Магутны API для pco.sdk
- Запіс і апрацоўка малюнкаў с pco.рэкордэр
1.1 Ўстаноўка
Усталяваць з pypi (рэкамендуецца):
$ pip ўсталяваць pco
1.2 Асноўнае выкарыстанне
імпартаваць matplotlib.pyplot як plt
імпарт pco
з pco.Camera() у якасці камеры:
cam.record()
выява, мета = cam.image()
plt.imshow(малюнак, cmap='шэры')
plt.show()1.3 Рэгістрацыя падзей і памылак
Каб актываваць вывад журнала, стварыце аб'ект Camera з параметрам debuglevel=.
Узровень адладкі можа быць усталяваны ў адно з наступных значэнняў:
- 'off' Адключае ўвесь выхад.
- 'error' Паказвае толькі паведамленні пра памылкі.
- 'verbose' Паказвае ўсе паведамленні.
- 'extra verbose' Паказвае ўсе паведамленні і значэнні.
Стандартны ўзровень адладкі "выключаны".
pco.Camera(debuglevel='verbose')
…
[][sdk] get_camera_type: ОК.
Неабавязковы часamp= параметр актывуе a tag у друкаванай прадукцыі. Магчымыя значэнні: "уключана" і "выключана". Значэнне па змаўчанні - "выключана".
pco.Camera(debuglevel='verbose', timestamp='уключана')
…
[2019-11-25 15:54:15.317855 / 0.016 с] [][sdk] get_camera_type: ОК.
Дакументацыя API
Клас pco.Camera прапануе наступныя метады:
- record() стварае, наладжвае і запускае новы асобнік запісу.
- stop() спыняе бягучы запіс.
- close() закрывае бягучую актыўную камеру і вызваляе занятыя рэсурсы.
- image() вяртае выяву з самапісца ў выглядзе масіва numpy.
- images() вяртае ўсе запісаныя выявы з дыктафона ў выглядзе спісу масіваў numpy.
- image_average() вяртае асераднёнае малюнак. Гэта выява вылічваецца з усіх запісаных выяваў у буферы.
- set_exposure_time() усталёўвае час экспазіцыі для камеры.
- wait_for_first_image() чакае першай даступнай выявы ў памяці запісвальніка.
Клас pco.Camera мае наступную зменную:
- канфігурацыя
Клас pco.Camera мае наступныя аб'екты:
- sdk прапануе прамы доступ да ўсіх асноўных функцый pco.sdk.
- дыктафон прапануе прамы доступ да ўсіх асноўных функцый pco.рэкордэр.
2.1 Метады
У гэтым раздзеле апісваюцца ўсе метады, якія прапануе клас pco.Camera.
2.1.1 Запіс
Апісанне Стварае, наладжвае і запускае новы асобнік запісу. Усю канфігурацыю камеры неабходна ўсталяваць перад выклікам запісу(). Адзіным выключэннем з'яўляецца каманда set_exposure_time(). Гэтая функцыя не ўплывае на аб'ект запісу і можа быць выклікана падчас запісу.
Прататып def record(self, number_of_images=1, mode='sequence'):
Параметр
Імя | Апісанне |
колькасць_малюнкаў | Задае колькасць малюнкаў, якія размяшчаюцца ў драйверы. Аператыўная памяць ПК абмяжоўвае максімальнае значэнне. |
рэжым | У рэжыме "паслядоўнасці" гэтая функцыя блакуецца падчас запісу. Дыктафон спыняецца аўтаматычна, калі будзе дасягнута колькасць_выяў. У рэжыме «неблакіравання паслядоўнасці» гэтая функцыя не блакіруецца. Перад прачытаннем выявы трэба праверыць статус. Гэты рэжым выкарыстоўваецца для чытання малюнкаў падчас запісу, напрыклад мініяцюр. У рэжыме «кальцовага буфера» гэтая функцыя не блакіруецца. Перад прачытаннем выявы трэба праверыць статус. Дыктафон не спыняе запіс, калі дасягнута колькасць_выяў. Калі гэта адбываецца, самыя старыя выявы перазапісваюцца. У рэжыме «fifo» гэтая функцыя неблакіраваная. Перад прачытаннем выявы трэба праверыць статус. Калі колькасць_малюнкаў у FIFO дасягнута, наступныя выявы выдаляюцца, пакуль выявы не будуць прачытаны з FIFO. |
2.1.2 Прыпынак
Апісанне Спыняе бягучы запіс. У рэжыме «кальцавы буфер» і «fifo» гэтая функцыя павінна быць выклікана карыстальнікам. У рэжыме «паслядоўнасць» і «неблакіроўка паслядоўнасці» гэтая функцыя аўтаматычна выклікаецца пры дасягненні колькасці_выяў.
Прататып дэф спыніць (сам):
2.1.3 Зачыніць
Апісанне Закрывае актываваную камеру і вызваляе заблакаваныя рэсурсы. Гэтую функцыю неабходна выклікаць перад завяршэннем працы прыкладання. У адваротным выпадку рэсурсы застаюцца занятымі.
Прататып дэф закрыць (сам):
Гэтая функцыя выклікаецца аўтаматычна, калі аб'ект камеры створаны аператарам with. Яўны выклік close() больш не патрэбны.
з pco.Camera() як cam: # зрабіць некаторыя рэчы
2.1.4 Малюнак
Апісанне Вяртае выяву з дыктафона. Тып выявы - numpy.ndarray. Гэты масіў фарміруецца ў залежнасці ад раздзялення і ROI выявы.
Прататып def выява (я, нумар_выявы=0, рэнтабельнасць=Няма):
Параметр
Імя | Апісанне |
нумар_выява | Вызначае нумар выявы для чытання. У рэжыме «паслядоўнасць» або «неблакіроўка паслядоўнасці» індэкс запісу адпавядае нумару выявы. Калі image_number усталяваны ў 0xFFFFFFFF, апошняя запісаная выява капіюецца. Гэта дазваляе ствараць жывы прэview падчас запісу. |
ROI | Усталёўвае цікавы рэгіён. Толькі гэтая вобласць выявы капіюецца ў вяртанае значэнне. |
Example >>> cam.record(number_of_images=1, mode='sequence')
>>> выява, мета = cam.image()
>>> увядзіце (малюнак) numpy.ndarray
>>> image.shape (2160, 2560)
>>> выява, метададзеныя = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 XNUMX малюнкаў
Апісанне Вяртае ўсе запісаныя выявы з дыктафона ў выглядзе спісу масіваў numpy.
Прататып выявы дэф (самастойны, ROI=Няма, памер блока=Няма):
Параметр
Імя | Апісанне |
ROI | Усталёўвае цікавы рэгіён. Толькі гэтая вобласць выявы капіюецца ў вяртанае значэнне. |
памер блока | Вызначае максімальную колькасць выяў, якія вяртаюцца. Гэты параметр карысны толькі ў рэжыме «fifo» і пры асаблівых умовах. |
Example >>> cam.record(number_of_images=20, mode='sequence')
>>> выявы, метададзеныя = cam.images()
>>> len(малюнкі) 20
>>> для выявы ў малюнках:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
Сярэдняе: 2147.64 DN
Сярэдняе: 2144.61 DN
…
>>> выявы = cam.images(roi=(1, 1, 300, 300))
>>> выявы[0].форма (300, 300)
2.1.6 Image_average
Апісанне Вяртае асераднёны відарыс. Гэта выява вылічваецца з усіх запісаных выяваў у буферы.
Прататып def image_average(я, ROI=Няма):
Параметр
Імя | Апісанне |
ROI | Вызначае цікавы рэгіён. Толькі гэтая вобласць выявы капіюецца ў вяртанае значэнне. |
Example >>> cam.record(number_of_images=100, mode='sequence')
>>> сярэдні = cam.image_average()
>>> сярэдняе = cam.image_average(рэнтабельнасць=(1, 1, 300, 300))
2.1.7 Set_exposure_time
Апісанне Задае час экспазіцыі камеры.
Прататып дэф 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().
Прататып дэф чакаць_першага_выява(сам):
2.2 Зменная канфігурацыя
Параметры камеры абнаўляюцца шляхам змены зменнай канфігурацыі.
cam.configuration = {'час экспазіцыі': 10e-3,
'roi': (1, 1, 512, 512),
часamp': 'ascii',
хуткасць пікселяў: 100_000_000,
'trigger': 'аўтаматычная паслядоўнасць',
'acquire': 'аўтаматычны',
'метададзеныя': 'уключана',
'binning': (1, 1)}
Зменную можна змяніць толькі перад выклікам функцыі record(). Гэта слоўнік з пэўнай колькасцю артыкулаў. Не трэба ўказваць усе магчымыя элементы. Наступныя сampкод файла змяняе толькі "частоту пікселяў" і не ўплывае на іншыя элементы канфігурацыі.
з 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, з'яўляюцца слоўнікамі. Не ўсе налады камеры зараз ахоплены класам Camera. Спецыяльныя параметры трэба задаць непасрэдна праз выклік адпаведнай функцыі sdk.
2.3.2 Дыктафон
Аб'ект rec прапануе прамы доступ да ўсіх асноўных функцый pco.рэкордэр. Неабавязкова выклікаць метад класа запісу непасрэдна. Усе функцыі цалкам пакрываюцца метадамі класа Camera.
https://www.pco.de/applications/
pco еўропа +49 9441 2005 50 info@pco.de pco.de |
pco амерыка +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 Software Development Kit, Software Development Kit, Development Kit, Kit |