
Комплет за развој на софтвер 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 International License. На view копија од оваа лиценца, посетете http://creativecommons.org/licenses/by-nd/4.0/ или испратете писмо до Creative Commons, PO Box 1866, Mountain View, CA 94042, САД.
Општо
Пакетот Python pco ги нуди сите функции за работа со pco камери кои се базираат на струјата pco.sdk. Вклучени се сите споделени библиотеки за комуникација со камерата и последователна обработка на слики.
- Лесна за употреба класа на камера
- Моќен API за pco.sdk
- Снимање и обработка на слики со pco.рекордер
1.1 Инсталација
Инсталирајте од pypi (препорачано):
$ pip инсталирајте PC
1.2 Основна употреба
увезете matplotlib.pyplot како plt
увоз PCC
со pco.Camera() како камера:
cam.record()
слика, мета = камера.слика()
plt.imshow (слика, cmap='сиво')
plt.show()
1.3 Пријавување на настани и грешки
За да го активирате излезот за логирање, креирајте го објектот Камера со параметарот debuglevel=.
Нивото за отстранување грешки може да се постави на една од следниве вредности:
- „исклучено“ Го оневозможува целиот излез.
- 'грешка' Прикажува само пораки за грешка.
- 'Разбоен' Ги прикажува сите пораки.
- „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 s] [][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.рекордер.
2.1 Методи
Овој дел ги опишува сите методи понудени од класата pco.Camera.
2.1.1 Запис
Опис Создава, конфигурира и стартува нов примерок на рекордер. Целата конфигурација на камерата мора да се постави пред да се повика record(). Командата set_exposure_time() е единствениот исклучок. Оваа функција нема ефект врз објектот на рекордерот и може да се повика за време на снимањето.
Прототип def запис (само, број_на_слики=1, режим='секвенца'):
Параметар
| Име | Опис |
| број_на_слики | Го поставува бројот на слики доделени во двигателот. RAM меморијата на компјутерот ја ограничува максималната вредност. |
| режим | Во режимот „секвенца“, оваа функција се блокира за време на снимањето. Снимачот автоматски запира кога ќе се достигне бројот_на_слики. Во режимот „секвенца без блокирање“, оваа функција е неблокирачка. Статусот мора да се провери пред да прочитате слика. Овој режим се користи за читање слики додека снимате, на пр. сликички. Во режимот 'ring buffer' оваа функција не е блокирана. Статусот мора да се провери пред да прочитате слика. Снимачот не го прекинува снимањето кога ќе се достигне бројот_на_слики. Штом се случи ова, најстарите слики се препишуваат. Во режимот 'fifo', оваа функција не е блокирана. Статусот мора да се провери пред да прочитате слика. Кога ќе се достигне бројот_на_слики во fifo-то, следните слики се испуштаат додека не се прочитаат сликите од fifo-то. |
2.1.2 Стоп
Опис Го прекинува тековното снимање. Во режимот „ring buffer“ и „fifo“, оваа функција мора да ја повика корисникот. Во режимите „секвенца“ и „секвенца не блокирање“, оваа функција автоматски се повикува кога ќе се достигне бројот_на_слики.
Прототип дефинитивна станица (само):
2.1.3 Затвори
Опис Ја затвора активираната камера и ги ослободува блокираните ресурси. Оваа функција мора да се повика пред да се прекине апликацијата. Во спротивно, ресурсите остануваат окупирани.
Прототип дефинитивно блиску (само):
Оваа функција се повикува автоматски ако објектот на камерата е создаден од изјавата со. Експлицитен повик за затворање() повеќе не е неопходен.
со pco.Camera() како камера: # направи некои работи
2.1.4 Слика
Опис Враќа слика од рекордерот. Типот на сликата е numpy.ndarray. Оваа низа е обликувана во зависност од резолуцијата и ROI на сликата.
Прототип дефинитивна слика (себе, слика_број=0, roi=Никој):
Параметар
| Име | Опис |
| слика_број | Го одредува бројот на сликата што треба да се прочита. Во режимот „секвенца“ или „секвенца неблокирачка“, индексот на рекордерот се совпаѓа со бројот на сликата. Ако image_number е поставен на 0xFFFFFFFF, последната снимена слика се копира. Ова овозможува да се создаде живо предview додека снимате. |
| рои | Го поставува регионот на интерес. Само овој регион од сликата се копира на повратната вредност. |
Example >>> cam.record (број_на_слики=1, режим='секвенца')
>>> слика, мета = cam.image()
>>> тип(слика) numpy.ndarray
>>> image.shape (2160, 2560)
>>> слика, метаподатоци = cam.image(roi=(1, 1, 300, 300))
>>> image.shape (300, 300)
2.1.5 Слики
Опис Ги враќа сите снимени слики од рекордерот како листа на откачени низи.
Прототип дефинитивни слики (само, roi=Никој, blocksize=Никој):
Параметар
| Име | Опис |
| рои | Го поставува регионот на интерес. Само овој регион од сликата се копира на повратната вредност. |
| големина на блок | Го дефинира максималниот број на слики што се враќаат. Овој параметар е корисен само во режимот 'fifo' и под посебни услови. |
Example >>> cam.record (број_на_слики=20, режим='секвенца')
>>> слики, метаподатоци = cam.images()
>>> леќа (слики) 20
>>> за слика во слики:
…
print('Mean: {:7.2f} DN'.format(image.mean()))
…
Средна вредност: 2147.64 DN
Средна вредност: 2144.61 DN
…
>>> слики = cam.images(roi=(1, 1, 300, 300))
>>> images[0].shape (300, 300)
2.1.6 Слика_просек
Опис Ја враќа просечната слика. Оваа слика се пресметува од сите снимени слики во баферот.
Прототип def image_average(self, roi=Никој):
Параметар
| Име | Опис |
| рои | Го дефинира регионот на интерес. Само овој регион од сликата се копира на повратната вредност. |
Example >>> cam.record (број_на_слики=100, режим='секвенца')
>>> просек = cam.image_average()
>>> просек = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Постави_време на изложеност
Опис Го поставува времето на експозиција на камерата.
Прототип def set_exposure_time(self, exposure_time):
Параметар
| Име | Опис |
| време на изложеност | Мора да се даде како пловечка или цел број вредност во единицата „втора“. Основните вредности за функцијата sdk.set_delay_exposure_time(0, 'ms', време, временска база) ќе се пресметуваат автоматски. Времето на одложување е поставено на 0. |
Example >>> cam.set_exposure_time (0.001)
>>> cam.set_exposure_time(1e-3)
2.1.8 Чекај_за_првата_слика
Опис Ја чека првата достапна слика во меморијата на рекордерот. Во режимот на рекордер „секвенца не блокирање“, „ринг тампон“. и 'fifo', функцијата record() се враќа веднаш. Затоа, оваа функција може да се користи за да се чекаат слики од камерата пред да се повикаат image(), images() или image_average().
Прототип def wait_for_first_image(self):
2.2 Конфигурација на променлива
Параметрите на камерата се ажурираат со промена на променливата за конфигурација.
cam.configuration = {'време на експозиција': 10e-3,
'roi': (1, 1, 512, 512),
„времеamp': 'асци',
„стапка на пиксели“: 100_000_000,
„активира“: „автоматска секвенца“,
'добива': 'автоматски',
'метаподатоци': 'вклучено',
'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 се речници. Не сите поставки на камерата моментално се покриени од класата Камера. Посебните поставки треба да се постават директно со повикување на соодветната SDK функција.
2.3.2 Рекордер
Објектот rec нуди директен пристап до сите основни функции на pco.рекордер. Не е неопходно директно да се повика метод на класа на рекордер. Сите функции се целосно покриени со методите на класата Камера.
https://www.pco.de/applications/
| ПЦО Европа +49 9441 2005 50 info@pco.de pco.de |
ПЦО Америка +1 866 678 4566 info@pco-tech.com pco-tech.com |
ПЦО Азија +65 6549 7054 info@pco-imaging.com pco-imaging.com |
ПЦО Кина +86 512 67634643 info@pco.cn pco.cn |


Документи / ресурси
![]() |
Комплет за развој на софтвер EXCELITAS TECHNOLOGIES Python [pdf] Упатство за користење Комплет за развој на софтвер Python, комплет за развој на софтвер, комплет за развој, комплет |




