Skip to content

Commit ae9fdbb

Browse files
Updated description of the second practice (purpose and tasks).
1 parent 4d64ff1 commit ae9fdbb

File tree

1 file changed

+38
-14
lines changed

1 file changed

+38
-14
lines changed

README.md

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,51 @@
44

55

66
Проект представляет собой инфраструктуру для освоения основ работы с библиотекой OpenCV:
7-
- Загрузка/сохранение изображений (базовые примитивы и операции модуля opencv_core)
8-
- Разработка простейшего интерфейса средствами библиотеки (базовые операции модуля opencv_highgui)
7+
- Загрузка/сохранение изображений (базовые примитивы и операции модуля ```opencv_core```).
8+
- Обработка изображений с помощью простеших фильтров библиотеки (операции модуля ```opencv_imgproc```).
9+
- Разработка простейшего интерфейса средствами библиотеки (базовые операции модуля ```opencv_highgui```).
910

1011
## Общая структура проекта
1112

1213
Структура проекта:
13-
- ```3rdparty``` - библиотека gtest
14-
- ```include``` - директория для размещения заголовочных файлов
15-
- ```samples``` - директория для размещения примеров использования
16-
- ```src``` - директория с исходными кодами
17-
- ```test``` - директория с тестами
18-
- ```.gitignore``` - перечень расширений файлов, которые не выкладываются в проект
19-
- ```.travis.yml``` - конфигурационный файл для системы автоматического тестирования Travis-CI
20-
- ```CMakeLists.txt``` - общий файл для сборки проекта с помощью CMake
21-
- ```README.md``` - информация о проекте, которую вы сейчас читаете
22-
23-
В проекте имеются следующие модули:
14+
- ```3rdparty``` - библиотека gtest.
15+
- ```include``` - директория для размещения заголовочных файлов.
16+
- ```samples``` - директория для размещения примеров использования.
17+
- ```src``` - директория с исходными кодами.
18+
- ```test``` - директория с тестами.
19+
- ```.gitignore``` - перечень расширений файлов, которые не выкладываются в проект.
20+
- ```.travis.yml``` - конфигурационный файл для системы автоматического тестирования Travis-CI.
21+
- ```CMakeLists.txt``` - общий файл для сборки проекта с помощью CMake.
22+
- ```README.md``` - информация о проекте, которую вы сейчас читаете.
23+
24+
В шаблонном проекте имеются следующие модули:
2425
- Модуль вспомогательных функций (```./include/auxiliaries.hpp```, ```./src/auxiliaries.hpp```), в частности, функция обработки аргументов командной строки.
2526
- Модуль, содержащий объявление и реализацию функций загрузки, обработки и отображения изображений (```./include/img_proc.hpp```, ```./src/img_proc.hpp```).
26-
- Примеры тестов (```aux_test.cpp```)
27+
- Примеры тестов (```aux_test.cpp```).
2728
- Пример приложения, полностью решающего задачу (```sample_template.cpp```).
2829

2930
## Цели и задачи
3031

32+
**_Цель данной работы_** - изучить базовые примитивы модуля ```opencv_core``` и простейшие операции обработки изображений модуля ```opencv_imgproc```, научиться разрабатывать интерфейс средствами модуля ```opencv_highgui``` на примере задачи определения ребер на изображении.
33+
34+
Для этого необходимо решить следующие **_задачи_**:
35+
1. Изучить базовые методы класса ```Mat``` (модуль ```opencv_core```), который применяется для представления изображений.
36+
2. Рассмотреть основные операции работы с изображениями:
37+
1. Создание изображения (с помощью конструкторов или метода ```create``` класса ```Mat```).
38+
2. Загрузка изображения (функция ```imread```).
39+
3. Сохранение изображения (функция ```imwrite```).
40+
4. Отображение изображения (функции ```imshow```, ```waitKey```).
41+
5. Копирование изображения (метод ```copyTo``` класса ```Mat```).
42+
6. Методы фильтрации (размытие, сглаживание и др.).
43+
3. Изучить и реализовать с использованием OpenCV различные способы выделения контуров на изображении:
44+
1. Бинаризация изображения (функция ```threshold```) + поиск контуров (функция ```findContours```). Примечание: для отображения контуров следует использовать функцию ```drawContours```.
45+
2. Морфологический градиент (функция ```morphologyEx```).
46+
3. Оператор Собеля (функция ```Sobel```).
47+
4. Оператор Лапласа (функция ```Laplacian```).
48+
5. Детектор ребер Канни (функция ```Canny```).
49+
4. Разработать графический интерфейс, удовлетворяющий следующим требованиям:
50+
1. Отображение исходного изображения.
51+
2. Отображение изображения, на котором отображены контуры.
52+
3. Наличие набора переключателей (кнопок) для применения различных методов выделения контуров.
53+
54+
## Инструкция по выполнению работы

0 commit comments

Comments
 (0)