ЗАДАНИЕ К ПРАКТИЧЕСКОЙ РАБОТЕ №4




КОММЕНТАРИЙ К ПРАКТИЧЕСКОЙ РАБОТЕ №4

Часть 1. OpenCV

На мой взгляд OpenCV – самая интересная часть в курсе. Все остальное – работа с командной строкой, а здесь – с изображением, получаемым с web-камеры, которое Вам нужно обработать. При этом на методы обработки и на получающееся в итоге изображение не накладывается практически никаких ограничений!

Инструментарий, который вам предстоит освоить – библиотека OpenCV. Данная библиотека содержит множество функций, накладывающих на всё изображение в целом различные фильтры. Также вы можете обрабатывать изображение попиксельно (такой пример также приведен в тексте лабы 5).

Первый вариант: можете установить библиотеку OpenCV себе на ноутбук/компьютер и получать видео со своей камеры. Второй вариант: можете работать с USB-камерой, подключенной к серверу, с которым мы работаем в течение семестра (84.237.52.21).

Для реализации второго варианта необходима возможность запускать графические приложения. В стандартном режиме, если мы будем подключаться через putty как ранее, то сможем работать только с консольными программами. Необходимо выполнить следующие шаги:

1) Скачать и установить X-сервер для Windows. Одним из самых популярных X-серверов является программа Xming. Она небольшая и бесплатная. Взять ее можно, например, отсюда: https://sourceforge.net/projects/xming/ Буду исходить из того, что у вас Windows, а если нет, то без особого труда разберетесь как выполнить аналогичные действия в вашей операционной системе. Добавлю только, что в UNIX-подобных ОС команде ssh нужно добавить ключ «-X».

2) Запустить утилиту настройки XLaunch, входящую в состав Xming. Ярлык Xlaunch после установки должен появиться у Вас на рабочем столе.

3) В запустившемся мастере настройки в первом окне «Select dispay settings» в поле «Display number» указать цифру 0 (см. скриншот ниже).

4) Нажать кнопку «Далее». В остальных окнах мастера ничего не менять, нажимая «Далее». По окончанию мастера в трее появится значок «Xming Server:0.0».

5) Запустить putty, указав, как ранее, ip-адрес сервера, порт, приватный ключ. Но теперь в настройках еще на странице меню Connection -> SSH -> X11 ставим галочку «Enable X11 forwarding» и в строку «X display location» пишем «localhost:0». Жмем кнопку «Open».

6) Окно putty будет выглядеть как раньше, но теперь у нас будет возможность запускать графические приложения, которые при помощи механизма X11forwarding будут транслироваться в окно Xming.

7) Можно взять ровно ту программу, которая приведена в тексте лабораторной, откомпилировать ее указанной там командой с прилинковкой необходимых библиотек и запустить. При этом должно появиться следующее окно:

Часть 2. LibUSB

Программа, относящаяся к данной части практической работы — пожалуй самое простое, что есть в нашем курсе. К готовой программе, приведенной в описании лабы №6, нужно добавить всего несколько строчек.

Направлена эта часть практической работы на изучение низкоуровневой библиотеки для работы со стандартом USB. Кстати в практической деятельности тем из вас, кто все-таки захочет стать программистами, с высокой вероятностью в конкретной организации придется решать конкретные специфичные для этой организации задачи, используя ту или иную предметную библиотеку. Например, писать драйверы для устройств собственного производства. И libusb – характерный представитель такого рода библиотек.

Единственное, что хочу добавить к тексту описания лабы – команда, отображающая список usb-устройств и ее ключ «-v» (verbose):

lsusb [-v]

Рекомендую сопоставить вывод этой команды с той информацией, которая будет на выводе вашей программы.

ВНИМАНИЕ:

Вдобавок к функции печати серийного номера, которую Вам нужно включить в исходную программу по заданию, во время приема данной лабораторной я еще буду спрашивать о каком именно устройстве выводит информацию Ваша программа в определенной строке (клавиатура, мышь, web-камера, …) Эту информацию можно получить с некоторых сайтов в интернете, определяющих наименование устройства по идентификатору. А еще лучше – найти специальную функцию в библиотеке libusb и дополнить вывод программы.

ЗАДАНИЕ К ПРАКТИЧЕСКОЙ РАБОТЕ №4

1. Реализовать программу№1 с использованием OpenCV, которая получает поток видеоданных с камеры и выводит его на экран.

2. Выполнить произвольное преобразование изображения (кроме указанных в computerlab5.pdf сглаживания и установки значений цветовых каналов в константу).

3. Измерить количество кадров, обрабатываемое программой в секунду.

Оценить долю времени, затрачиваемого процессором на обработку (ввод, преобразование, показ) видеоданных, получаемых с камеры.

4. Реализовать программу №2, получающую список всех подключенных к машине USB устройств с использованием libusb. Для каждого найденного устройства напечатать его класс, идентификатор производителя, идентификатор изделия и серийный номер.

5. Требования к содержанию отчета:

- «чистое» неоткорректированное изображение, полученное с камеры;

- это же изображение в преобразованном виде;

- полный код программы №1, выполняющей преобразование изображения;

- оценку скорости обработки видео (кадров в секунду) и долю времени, затрачиваемого процессором на ввод, обработку и показ видеоданных;

6. Полный код программы №2, выводящей информацию по USB-устройствам.

7. Описание обнаруженных USB-устройств,

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-28 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: