Разработка на С++ класс взаимодействия с видеокамерой Basler

10 000 руб. за проект
09 апреля 2020, 13:35 • 5 откликов • 62 просмотра
Написать класс на С++ (далее BaslerCamera) взаимодействия с видеокамерой Basler через Pylon SDK, обеспечивающий:
⁃ Подключение к камере Basler
⁃ Получение видеопотока в виде последовательности кадров и передача их по-требителю в оригинальном формате в виде указателя на память
⁃ Получение текущих настроек камеры
⁃ Изменение настроек камеры:
1) Коррекция изображения
2) фокус-диафрагма
3) по модулю Acquisition Control: Exposure Auto, Exposure Time,
Acquisition Frame Rate ( флаг Enable Acquisition Frame Rate активен)
4) Analog Control - используется полностью
5) Auto Function Control - используются : Exposure Time Lower Limit и Exposure Time Upper Limit
Gain Limit - остаются значения по умолчанию.
6) Digital I/O Control - используется для запуска\отключения ИК
В частности параметры : Line Inverter, Line Selector и User Output Selector
7) модуль Image Quality Control - используется PGI Control (non-Bayer only)
8)FPS
9)resolution
Разработать тестовое консольное приложение работающее с BaslerCamera, которое должно работать в следующих режимах:
⁃ получение всех кадров из памяти и запись их на диск в оригинальном формате в режиме реального времени (просто бинарные дампы)
⁃ записи AVI файла средствами OpenCV (cv::VideoWriter)
⁃ отображение видео в реальном времени (cv::imshow)
⁃ запись текущих настроек в conf.ini
⁃ настройка камеры через значения передаваемые в параметрах консольного приложения (или по значениям из conf.ini)

Приложение будет запускаться на компьютере с архитектурой x86 с Linux Ubuntu 18.04

Камера подключается по USB 3.0 и передает несжатые кадры

Для разработки и тестирования будет предоставлено SSH соединение с сервером, к которому подключена видеокамера Basler

Перед началом работы будет предоставлена библиотека Pylon SDK, примеры ее использова-ния на C++ (свободно скачивается с сайта www.basler.com)
При необходимости может быть предоставлена документация на камеру

Результат должен быть оформлен в виде .tar.gz архива с исходными кодами и CMakeLists.txt, сборка должна быть через Cmake с использованием компилятора GCC/G++. В архиве долж-на быть инструкция по сборке, в которой также указать дополнительные зависимости, кото-рые пришлось установить для работы.