Логотип EXCELITAS TECHNOLOGIESЛоготип EXCELITAS TECHNOLOGIES 1Комплект розробки програмного забезпечення Python
Посібник користувачаEXCELITAS TECHNOLOGIES Python Software Development KitЛоготип EXCELITAS TECHNOLOGIES 2

Комплект розробки програмного забезпечення Python

PCO просить вас уважно прочитати і дотримуватися інструкцій у цьому документі.
З будь-якими запитаннями чи коментарями зв’яжіться з нами в будь-який час.
телефон: +49 (0) 9441 2005 50
факс: +49 (0) 9441 2005 20
поштова адреса: Excelitas PCO GmbH Donaupark 11 93309 Kelheim, Germany
електронна пошта: info@pco.de
web: www.pco.de
посібник користувача pco.python 0.1.7
Випущено грудень 2021 року
©Авторське право Excelitas PCO GmbH
EXCELITAS TECHNOLOGIES Python Software Development Kit — значок 1Цей твір ліцензовано за міжнародною ліцензією 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.recorder

Установка 1.1
Встановити з pypi (рекомендовано):
$ pip встановити pco
1.2 Базове використання
імпортувати matplotlib.pyplot як plt
імпорт pco
з pco.Camera() як cam:
cam.record()
зображення, мета = cam.image()
plt.imshow(image, cmap='gray')
plt.show ()EXCELITAS TECHNOLOGIES Python Software Development Kit — базове використання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: OK.

Документація 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.recorder.

2.1 Методи
У цьому розділі описано всі методи, які пропонує клас pco.Camera.
Запис 2.1.1
опис Створює, налаштовує та запускає новий екземпляр запису. Усю конфігурацію камери необхідно встановити перед викликом record(). Єдиним винятком є ​​команда set_exposure_time(). Ця функція не впливає на об’єкт запису та може бути викликана під час запису.
Прототип def record(self, number_of_images=1, mode='sequence'):
Параметр

Назва опис
кількість_зображень Встановлює кількість зображень, виділених у драйвері. Оперативна пам'ять ПК обмежує максимальне значення.
режим У режимі «послідовність» ця функція блокується під час запису. Записувач зупиняється автоматично, коли досягнуто кількість_зображень. У режимі «неблокування послідовності» ця функція не блокується. Перед читанням зображення необхідно перевірити статус. Цей режим використовується для читання зображень під час запису, наприклад мініатюр.
У режимі «кільцевого буфера» ця функція не блокується. Перед читанням зображення необхідно перевірити статус. Записувач не припиняє запис, коли досягнуто кількість_зображень. Коли це станеться, найстаріші зображення буде перезаписано.
У режимі «fifo» ця функція є неблокуючою. Перед читанням зображення необхідно перевірити статус. Коли кількість_зображень у fifo досягнуто, наступні зображення відкидаються, доки зображення не будуть прочитані з fifo.

2.1.2 Зупинка
опис Зупинка поточного запису. У режимі «кільцевого буфера» та «fifo» цю функцію має викликати користувач. У режимах «sequence» і «sequence non blocking» ця функція автоматично викликається, коли досягається кількість_зображень.
Прототип def stop(self):
2.1.3 Закрити
опис Закриває активовану камеру та звільняє заблоковані ресурси. Цю функцію необхідно викликати перед завершенням роботи програми. В іншому випадку ресурси залишаються зайнятими.
Прототип def close(self):
Ця функція викликається автоматично, якщо об’єкт камери створено оператором with. Явний виклик close() більше не потрібен.
з pco.Camera() як cam: # робити деякі речі
2.1.4 Зображення
опис Повертає зображення з рекордера. Тип зображення – numpy.ndarray. Цей масив формується залежно від роздільної здатності та ROI зображення.
Прототип def image(self, image_number=0, roi=None):
Параметр

Назва опис
номер_зображення Визначає номер зображення для читання. У режимі «sequence» або «sequence non blocking» індекс записуючого пристрою збігається з image_number. Якщо image_number встановлено на 0xFFFFFFFF, копіюється останнє записане зображення. Це дозволяє створювати живий преview під час запису.
рої Встановлює область інтересу. Лише ця область зображення копіюється до поверненого значення.

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
опис Повертає всі записані зображення з рекордера як список масивів numpy.
Прототип def images(self, roi=None, blocksize=None):
Параметр

Назва опис
рої Встановлює область інтересу. Лише ця область зображення копіюється до поверненого значення.
розмір блоку Визначає максимальну кількість зображень, які повертаються. Цей параметр корисний лише в режимі «fifo» та за особливих умов.

Example >>> cam.record(number_of_images=20, mode='sequence')
>>> зображення, метадані = cam.images()
>>> len(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 Image_average
опис Повертає усереднене зображення. Це зображення обчислюється з усіх записаних зображень у буфері.
Прототип def image_average(self, roi=None):
Параметр

Назва опис
рої Визначає регіон інтересу. Лише ця область зображення копіюється до поверненого значення.

Example >>> cam.record(number_of_images=100, mode='sequence')
>>> avg = cam.image_average()
>>> avg = cam.image_average(roi=(1, 1, 300, 300))
2.1.7 Set_exposure_time
опис Встановлює час експозиції камери.
Прототип 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 Wait_for_first_image
опис Очікує на перше доступне зображення в пам’яті диктофона. У режимі запису «послідовність не блокується», «кільцевий буфер». і 'fifo', функція record() повертає негайно. Тому цю функцію можна використовувати для очікування зображень із камери перед викликом image(), images() або image_average().
Прототип def wait_for_first_image(self):
2.2 Конфігурація змінної
Параметри камери оновлюються шляхом зміни змінної конфігурації.
cam.configuration = {'час витримки': 10e-3,
'roi': (1, 1, 512, 512),
часamp': 'ascii',
«частота пікселів»: 100_000_000,
'trigger': 'автоматична послідовність',
'acquire': 'авто',
'metadata': 'on',
'binning': (1, 1)}
Змінну можна змінити лише до виклику функції record(). Це словник з певною кількістю статей. Не потрібно вказувати всі можливі елементи. Наступні sampкод файлу змінює лише «частоту пікселів» і не впливає на інші елементи конфігурації.
з pco.Camera() як cam:
cam.configuration = {'піксельна швидкість': 286_000_000}
cam.record()
...
2.3 об'єкти
У цьому розділі описано всі об’єкти, які пропонує клас pco.Camera.
Пакет SDK 2.3.1 року
SDK об’єкта забезпечує прямий доступ до всіх базових функцій pco.sdk.
>>> cam.sdk.get_temperature()
{'температура датчика': 7.0, 'температура камери': 38.2, 'температура живлення': 36.7}
Усі значення, що повертаються функціями sdk, є словниками. Не всі налаштування камери зараз охоплюються класом Camera. Спеціальні параметри потрібно встановити безпосередньо, викликавши відповідну функцію sdk.
2.3.2 Recorder
Об’єкт rec пропонує прямий доступ до всіх базових функцій pco.recorder. Немає необхідності безпосередньо викликати метод класу запису. Всі функції повністю покриваються методами класу Camera.

EXCELITAS TECHNOLOGIES Python Software Development Kit - код QRhttps://www.pco.de/applications/

pco європа
+49 9441 2005 50
info@pco.de
pco.de
pco america
+1 866 678 4566
info@pco-tech.com
pco-tech.com
pco asia
+ 995 5913 00000
info@pco-imaging.com
pco-imaging.com
pco Китай
+ 995 5913 00000
info@pco.cn
pco.cn

Логотип EXCELITAS TECHNOLOGIESЛоготип EXCELITAS TECHNOLOGIES 1

Документи / Ресурси

EXCELITAS TECHNOLOGIES Python Software Development Kit [pdf] Посібник користувача
Комплект розробки програмного забезпечення Python, Комплект розробки програмного забезпечення, Комплект розробки, Комплект

посилання

Залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *