Этот репозиторий для начинающих познавать прекрасный мир компьютерного зрения (CV). В данном репозитории будут располагаться:
- Презентации в папке
Presentation
; - Различные задания и наработки по практическим занятиям в папках
Ex#
.
Для наших целей подойдёт любая ОС из семейства Ubuntu. Предлагаю остановиться на Ubuntu 18.04 или Kubuntu 18.04. Инструкцию по установке Ubuntu на виртуальную машину VirtualBox для Windows можно найти здесь.
Правильная ОС у нас есть. Теперь потребуется установить OpenCV. Открываем консоль и выполняем команды
foo@bar:~$ sudo apt update
foo@bar:~$ sudo apt install libopencv-dev cmake
И идём заваривать чай. Пока мы ходили, всё установилось! Теперь можем перейти к делам гитовым.
Для успешного выполнения заданий нам потребуется проделать некоторую работу с репозиторием ElinsCV.
Для начала переходим по ссылке выше и в правом верхнем углу нажимаем кнопку Fork
. Таким образом мы можем работать с данным репозиторием не мешая другим.
foo@bar:~$ sudo apt install git
Свою версию репозитория мы получили. Хорошо. А что дальше? А теперь мы готовы клонировать репозиторий к себе на компьютер. Для это копируем ссылку на него: находим зеленую кнопку Clone or download
, нажимаем и видим заветную ссылку. Теперь перемещаемся в консоль и выполняем команду (свою ссылку вставляем после clone
)
foo@bar:~$ git clone https://github.com/[ваш ник]/ElinsCV.git
foo@bar:~$ cd ./ElinsCV
А теперь можно смело приступать к выполнению заданий!
Наконец-то мы добрались до практики. Для начала перейдём в папку с заданием
foo@bar:~/ElinsCV$ cd ./Ex#
Вместо #
вставляем цифру занятия.
Вот мы проделали много работы и написали много кода. А как это теперь запустить? Для начала создадим папку (её достаточно создать один раз) и переходим в неё
foo@bar:~/ElinsCV/Ex#$ mkdir build
foo@bar:~/ElinsCV/Ex#$ cd build
Теперь можем приступить к сборке
foo@bar:~/ElinsCV/Ex#/build$ cmake ..
foo@bar:~/ElinsCV/Ex#/build$ make
Если сборка не прошла и консоль пестрит ошибками, то не беда. Исправляем их и запускаем снова make
.
"Live. Die. Repeat." Ой, извините, немного из другой оперы.
Ждём. И вот мы готовы к запуску своего кода.
Всё просто
foo@bar:~/ElinsCV/Ex#/build$ ./ex# n
Напоминаю, что #
- номер занятия, а n
- номер вашего варианта.
Если вас не устроил результат, то исправляем свой код и снова повторяем, начиная с make
.
А я же говорил... "Live. Die. Repeat."
А вот теперь мы готовы зафиксировать наши результаты в репозитории. Вернёмся в нашу папку ElinsCV
. Все последующие действия будем выполнять из нее.
Все это мы изменяли какой-то файл. Допустим, что это был Var0.cpp
. Выполним такую команду
foo@bar:~/ElinsCV$ git status
Вывод её будет довольно многословным, но нас интересует такие строки
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
- modified: Var0.cpp
Файл Var0.cpp
находится в секции “Changes not staged for commit” — это означает, что отслеживаемый файл был изменён в рабочем каталоге, но пока не проиндексирован. Чтобы проиндексировать его, необходимо выполнить команду git add
. Выполним git add
, чтобы проиндексировать Var0.cpp
,
foo@bar:~/ElinsCV$ git add ./path_to_file/Var0.cpp
а затем снова выполним git status
и получим вывод, где
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
+ modified: Var0.cpp
Теперь можно переходить к написанию коммита.
Теперь вы можете зафиксировать свои изменения. Запомните, всё, что до сих пор не проиндексировано — любые файлы, созданные или изменённые вами, и для которых вы не выполнили git add
после момента редактирования — не войдут в этот коммит. Они останутся изменёнными файлами на вашем диске. В нашем случае, когда вы в последний раз выполняли git status
, вы видели что всё проиндексировано, и вот, вы готовы к коммиту.
foo@bar:~/ElinsCV$ git commit -m "Краткое описание того, что вы сделали"
И вот теперь мы готовы отправить все свои труды в наш удаленный репозиторий.
foo@bar:~/ElinsCV$ git push origin master
Вас попросят ввести ваши логин и пароль для входа на GitHub.
Это последний шаг в нашем не легком пути к отправке результатов.
Шаг 1. Переходим в наш репозиторий на GitHub.
Шаг 2. Находим там вкладку Pull requests
(она находится между Code
и Projects
) и переходим в неё.
Шаг 3. Там нажимаем на New pull request
.
Шаг 4. Далее нажимаем Create pull request
. Видим поле, в котором можно оставить комментарии.
Шаг 5. Опять жмём Create pull request
. Готово!