|
40 | 40 | 4. Отображение изображения (функции ```imshow```, ```waitKey```).
|
41 | 41 | 5. Копирование изображения (метод ```copyTo``` класса ```Mat```).
|
42 | 42 | 6. Методы фильтрации (размытие, сглаживание и др.).
|
| 43 | + 7. Преобразование изображения в различные цветовые пространства (функция ```cvtColor```). |
43 | 44 | 3. Изучить и реализовать с использованием OpenCV различные способы выделения контуров на изображении:
|
44 | 45 | 1. Бинаризация изображения (функция ```threshold```) + поиск контуров (функция ```findContours```). Примечание: для отображения контуров следует использовать функцию ```drawContours```.
|
45 | 46 | 2. Морфологический градиент (функция ```morphologyEx```).
|
46 | 47 | 3. Оператор Собеля (функция ```Sobel```).
|
47 | 48 | 4. Оператор Лапласа (функция ```Laplacian```).
|
48 |
| - 5. Детектор ребер Канни (функция ```Canny```). |
| 49 | + 5. Детектор ребер Канни (функция ```Canny```). Примечание: перед применением фильтра Канни потребуется выполнить фильтрацию и преобразование изображеня в оттенки серого. |
49 | 50 | 4. Разработать графический интерфейс, удовлетворяющий следующим требованиям:
|
50 | 51 | 1. Отображение исходного изображения.
|
51 | 52 | 2. Отображение изображения, на котором отображены контуры.
|
52 | 53 | 3. Наличие набора переключателей (кнопок) для применения различных методов выделения контуров.
|
53 | 54 |
|
54 | 55 | ## Инструкция по выполнению работы
|
| 56 | + |
| 57 | + 1. Создать аккаунт на [github.com](https://github.com), если такой отсутствует. Для определенности обозначим аккаунт ```github-account```. |
| 58 | + |
| 59 | + 2. Сделать fork репозитория ```https://github.com/Itseez-NNSU-SummerSchool2015/practice2-opencv-intro``` (в терминологии Git upstream-репозиторий) к себе в организацию с названием github-account. В результате будет создана копию репозитория с названием ```https://github.com/github-account/practice2-opencv-intro``` (origin-репозиторий). |
| 60 | + |
| 61 | + 3. Клонировать репозиторий ```https://github.com/github-account/practice2-opencv-intro```, воспользовавшись следующей командой: |
| 62 | + |
| 63 | + ``` |
| 64 | + $ git clone https://github.com/github-account/practice2-opencv-intro |
| 65 | + ``` |
| 66 | + |
| 67 | + 4. Настроить upstream-репозиторий: |
| 68 | + |
| 69 | + ``` |
| 70 | + $ git remote add upstream https://github.com/github-account/practice2-opencv-intro |
| 71 | + ``` |
| 72 | + |
| 73 | + 5. Настроить имя пользователя, из под которого будут выполняться все операции с репозиторией Git: |
| 74 | + |
| 75 | + ``` |
| 76 | + $ git config --global user.name "github-account" |
| 77 | + ``` |
| 78 | + |
| 79 | + 6. Создать ветку find-contours-implementation и перейти в нее: |
| 80 | + |
| 81 | + ``` |
| 82 | + $ git checkout -b find-contours-implementation |
| 83 | + ``` |
| 84 | + |
| 85 | + 7. В ветку find-contours-implementation поместить реализации различных методов поиска контуров, снабдив весь разработанный код необходимым набором тестов. |
| 86 | + |
| 87 | + 8. Создать ветку gui-implementation и перейти в нее: |
| 88 | + |
| 89 | + ``` |
| 90 | + $ git checkout -b gui-implementation |
| 91 | + ``` |
| 92 | + |
| 93 | + 9. В ветку gui-implementation поместить разработанную интерфейсную часть. Примечание: по существу необходимо разработать пример использования библиотеки поиска контуров. |
| 94 | + |
| 95 | + 10. После получения каждой стабильной версии не забывайте проверять работоспособность тестов и выкладывать изменения в ветку. |
| 96 | + |
| 97 | + ``` |
| 98 | + $ git commit [-m "<message_to_commit>"] [-a] |
| 99 | + [-a] - автоматически добавляет изменения для существующих на сервере файлов без выполнения команды git add |
| 100 | + [--amend] - перезаписывает последний коммит (используется, если не забыты изменения) |
| 101 | + ``` |
| 102 | + |
| 103 | + ``` |
| 104 | + git push origin <branch-name> |
| 105 | + ``` |
| 106 | + |
| 107 | + 11. Не забудьте сделать Pull Request, чтобы проверить работоспособность тестов на Travis-CI и позволить преподавателям сделать ревью Вашего кода. |
0 commit comments