You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(документация к классу [cv::VideoCapture](http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture)
109
-
для работы с видео).
108
+
(документация к классу [cv::VideoCapture](http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture)
109
+
для работы с видео).
110
110
111
111
## Детальная инструкция по выполнению работы
112
112
@@ -122,18 +122,22 @@ __Дополнительные задачи:__
122
122
действий описана в разделе
123
123
[Сборка проекта с помощью CMake и MS VS](https://github.com/Itseez-NNSU-SummerSchool2015/practice1-devtools#Сборка-проекта-с-помощью-cmake-и-microsoft-visual-studio)
124
124
в [практической работе по освоению инструментов разработки ПО](https://github.com/Itseez-NNSU-SummerSchool2015/practice1-devtools)).
125
-
4. Создать копию директории с сэмплом, дав ей название `YOUR_NAME`, и
125
+
4. Создать новую ветку для разработки собственного приложения
126
+
необходимые команды описаны в разделе
127
+
[Общие инструкции по работе с Git](https://github.com/Itseez-NNSU-SummerSchool2015/practice1-devtools#Общие-инструкции-по-работе-с-git)
128
+
в [практической работе по освоению инструментов разработки ПО](https://github.com/Itseez-NNSU-SummerSchool2015/practice1-devtools)).
129
+
5. Создать копию директории с сэмплом, дав ей название `YOUR_NAME`, и
126
130
добавить ее построение в общий `CMakeLists.txt` (`add_subdirectory(YOUR_NAME)`).
127
-
5. Убедиться, что новый сэмпл с шаблонной реализацией успешно собирается
131
+
6. Убедиться, что новый сэмпл с шаблонной реализацией успешно собирается
128
132
и запускается (подробная последовательность
129
133
действий описана в разделе
130
134
[Сборка проекта с помощью CMake и MS VS](https://github.com/Itseez-NNSU-SummerSchool2015/practice1-devtools#Сборка-проекта-с-помощью-cmake-и-microsoft-visual-studio)
131
135
в [практической работе по освоению инструментов разработки ПО](https://github.com/Itseez-NNSU-SummerSchool2015/practice1-devtools)).
132
-
6. Прислать Pull Request с еще неизмененным сэмплом. Пометить в конце
136
+
7. Прислать Pull Request с еще неизмененным сэмплом. Пометить в конце
133
137
названия `(NOT READY)`. По мере готовности решений основных задач Pull
134
138
Request можно будет переименовать, нажав кнопку `Edit` напротив его
135
139
названия.
136
-
7. Сделать так, чтобы регион фильтрации менял со временем свое положение и
140
+
8. Сделать так, чтобы регион фильтрации менял со временем свое положение и
137
141
размеры.
138
142
139
143
1. Для этого необходимо в методе `processFrame` класса `Processing`
@@ -148,7 +152,7 @@ __Дополнительные задачи:__
148
152
изображения, если вышло, то обрезать лишние части окна.
149
153
3. По окончании решения данной задачи следует прислать Rull Request.
150
154
151
-
4. Добавить третью кнопку, позволяющую сохранить текущее изображение
155
+
9. Добавить третью кнопку, позволяющую сохранить текущее изображение
152
156
на экране. Сохранять можно в текущую директорию с меткой времени.
153
157
154
158
1. В структуру `GUIElementsState` добавить поле `cv::Rect saveButtonPlace`.
@@ -158,79 +162,80 @@ __Дополнительные задачи:__
158
162
добавить надпись `Save`. Положение кнопки сохранить в поле `saveButtonPlace`
159
163
объекта `guiState`.
160
164
3. В структуру `GUIElementsState` добавить поле `bool saveState` -
161
-
флаг, обозначающий необходимость сохранения текущего окна с изображениями.
162
-
Изначально присвоить ему значение `false` в конструкторе класса
163
-
`Application`.
164
-
4. В реализацию метода `onButtonsOnOffClick` добавить еще одно условие
165
-
для обработки события, связанного с нажатием кнопки сохранения.
165
+
флаг, обозначающий необходимость сохранения текущего окна с изображениями.
166
+
Изначально присвоить ему значение `false` в конструкторе класса
167
+
`Application`.
168
+
4. В реализацию метода `onButtonsOnOffClick` добавить еще одно условие
169
+
для обработки события, связанного с нажатием кнопки сохранения.
166
170
167
171
```
168
172
if (onButtonClicked(elems->saveButtonPlace, x, y))
169
173
{
170
174
elems->saveState = true;
171
-
return;
175
+
return;
172
176
}
173
177
```
174
178
175
179
5. В реализацию метода `showFrame` класса `Application` после отрисовки
176
-
пары изображений и до отрисовки кнопок необходимо вставить условие
177
-
для проверки необходимости сохранения текущей пары изображений.
180
+
пары изображений и до отрисовки кнопок необходимо вставить условие
181
+
для проверки необходимости сохранения текущей пары изображений.
178
182
179
-
```
183
+
```
180
184
if (elems->saveState)
181
185
{
182
-
// получить текущее время
183
-
// сгенерировать название изображения
184
-
// <image_name> - сгенерированное название изображения
185
-
// с меткой текущего времени
186
+
// получить текущее время
187
+
// сгенерировать название изображения
188
+
// <image_name> - сгенерированное название изображения
189
+
// с меткой текущего времени
186
190
// вызвать функцию сохранения imwrite(<image_name>, display)
187
191
}
188
192
```
189
-
190
-
6. Прислать Pull Request.
191
-
192
-
5. Добавить несколько дополнительных кнопок, позволяющих менять тип фильтра
193
-
(см. п.3 раздела [Основные задачи](https://github.com/Itseez-NNSU-SummerSchool2015/practice2-opencv-intro#Задачи)).
194
-
195
-
1. В класс `Processing` добавить перечисление для обозначения типа
196
-
фильтра, который применяется к изображению.
197
-
193
+
194
+
6. Прислать Pull Request.
195
+
196
+
10. Добавить несколько дополнительных кнопок, позволяющих менять тип фильтра
0 commit comments