Skip to content

Commit aafe31e

Browse files
author
Kirill Kornyakov
committed
Readme update
1 parent d055f87 commit aafe31e

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

README.md

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ __Цель данной работы__ - изучить базовые прим
1515
(методы класса `cv::Mat` для представления изображения).
1616
- Обработка изображений с помощью простеших фильтров модуля `opencv_imgproc`
1717
(линейные фильтры, вычисление градиентов на изображении).
18-
- Основные операции модуля `opencv_highgui` (загрузка изображения
18+
- Основные операции модуля `opencv_highgui` (загрузка изображения
1919
средствами `imread`, сохранение изображения с использованием
2020
`imwrite`, отображение изображения с помощью функций `imshow` и `waitKey`,
2121
реализация сложных сценариев обработки событий).
@@ -24,14 +24,14 @@ __Цель данной работы__ - изучить базовые прим
2424

2525
Структура проекта:
2626

27-
- `sample_template` - исходные коды шаблонного проекта. Шаблонное
28-
приложение отображает исходное изображение и изображение, полученное
29-
в результате медианной фильтрации центральной части исходного изображения.
27+
- `sample_template` - исходнодные коды шаблонного проекта. Шаблонное
28+
приложение отображает исходное изображение и изображение, полученное в
29+
результате медианной фильтрации центральной части исходного изображения.
3030
Также в окне имеется 2 кнопки, позволяющие включить/отключить действие
3131
фильтра.
3232
- `testdata` - директория с данными для тестов.
33-
- `.gitignore` - перечень расширений файлов, которые не выкладываются
34-
в проект.
33+
- `.gitignore` - перечень расширений файлов, которые не выкладываются в
34+
проект.
3535
- `.travis.yml` - конфигурационный файл для системы автоматического
3636
тестирования Travis-CI.
3737
- `CMakeLists.txt` - общий файл для сборки проекта с помощью CMake.
@@ -45,12 +45,12 @@ __Цель данной работы__ - изучить базовые прим
4545
- Модуль `processing` содержит метод медианной фильтрации центральной области
4646
изображения.
4747
- Модуль графичекого приложения `application`. Содержит метод обработки
48-
аргументов командной строки `parseArguments`; обертку `processFrame`
49-
над функцией обработки изображения с использованием метода,
50-
реализованного в модуле `processing`; метод отображения окна с двуми
51-
изображениями - исходным и обработанным, если фильтр включен, либо двумя
52-
исходными, если фильтр выключен; методы, необходимые для обработки событий
53-
нажатия на кнопки включение/выключения фильтра.
48+
аргументов командной строки `parseArguments`; обертку `processFrame` над
49+
функцией обработки изображения с использованием метода, реализованного в
50+
модуле `processing`; метод отображения окна с двуми изображениями - исходным
51+
и обработанным, если фильтр включен, либо двумя исходными, если фильтр
52+
выключен; методы, необходимые для обработки событий нажатия на кнопки
53+
включение/выключения фильтра.
5454

5555
## Задачи
5656

@@ -76,17 +76,17 @@ __Дополнительные задачи:__
7676
## Общая последовательность действий
7777

7878
1. Сделать форк upstream-репозитория, затем клонировать origin к себе на
79-
локальную машину. Для инструкций смотри раздел [Общие инструкции по работе с Git][git-intro] в
80-
[практической работе 1][practice1].
79+
локальную машину. Для инструкций смотри раздел
80+
[Общие инструкции по работе с Git][git-intro] в [практической работе 1][practice1].
8181
2. Скомпилировать и запустить сэмпл на картинке (раздел
8282
[Сборка проекта с помощью CMake и MS VS][cmake-msvs]
8383
в [практической работе 1][practice1].
8484
4. Создать копию директории с сэмплом, добавить ее построение в корневой
8585
`CMakeLists.txt`.
8686
5. Убедиться, что новый сэмпл успешно собирается и запускается.
87-
6. Прислать Pull Request с еще неизмененным сэмплом. Пометить в конце
88-
названия `(NOT READY)`. По мере готовности решений основных задач Pull
89-
Request можно будет переименовать.
87+
6. Прислать Pull Request с еще неизмененным сэмплом. Пометить в конце названия
88+
`(NOT READY)`. По мере готовности решений основных задач Pull Request можно
89+
будет переименовать.
9090
7. Сделать так, чтобы регион фильтрации менял со временем свое положение и
9191
размеры. Обновить Rull Request.
9292
4. Добавить третью кнопку, позволяющую сохранить текущее изображение на
@@ -134,15 +134,15 @@ __Дополнительные задачи:__
134134
cv::Rect region(src.rows/4, src.cols/4, src.rows/2, src.cols/2);
135135
```
136136
137-
2. При генерации следует учитывать, что окно фильтрации должно попадать
138-
в область изображения. Решение 1: пределы генерации координат должны
139-
быть зафиксированы так, чтобы окно всегда накрывало какую-то часть
137+
2. При генерации следует учитывать, что окно фильтрации должно попадать в
138+
область изображения. Решение 1: пределы генерации координат должны быть
139+
зафиксированы так, чтобы окно всегда накрывало какую-то часть
140140
изображения. Решение 2: проверять, не вышло ли окно за пределы
141141
изображения, если вышло, то обрезать лишние части окна.
142142
3. По окончании решения данной задачи следует обновить Rull Request.
143143
144-
4. Добавить третью кнопку, позволяющую сохранить текущее изображение
145-
на экране. Сохранять можно в текущую директорию с меткой времени.
144+
4. Добавить третью кнопку, позволяющую сохранить текущее изображение на
145+
экране. Сохранять можно в текущую директорию с меткой времени.
146146
147147
1. В структуру `GUIElementsState` добавить поле `cv::Rect saveButtonPlace`.
148148
2. В метод `drawButtons` класса `Application` добавить отрисовку третьей
@@ -185,8 +185,8 @@ __Дополнительные задачи:__
185185
5. Добавить несколько дополнительных кнопок, позволяющих менять тип фильтра
186186
(см. п.3 раздела [Основные задачи][tasks].
187187
188-
1. В класс `Processing` добавить перечисление для обозначения типа
189-
фильтра, который применяется к изображению.
188+
1. В класс `Processing` добавить перечисление для обозначения типа фильтра,
189+
который применяется к изображению.
190190
191191
```
192192
enum FilterType
@@ -203,7 +203,8 @@ __Дополнительные задачи:__
203203
3. В реализации метода `processFrame` класса `Processing` вместо вызова
204204
функции медианной фильтрации `medianBlur(roi, roi, kSize)` добавить
205205
оператор множественного выбора по параметру `filter`. В зависимости от
206-
типа фильтра необходимо вызывать тот или набор функций библиотеки OpenCV.
206+
типа фильтра необходимо вызывать тот или набор функций библиотеки
207+
OpenCV.
207208
4. Отрисовать дополнительные кнопки по аналогии с кнопкой сохранения
208209
изображений. Положение кнопок сохранить в структуре `GUIElementsState`.
209210
Замечание: кнопку `On` можно только переименовать в `Median`.

0 commit comments

Comments
 (0)