Skip to content

Base cource about Computer Vision

Notifications You must be signed in to change notification settings

slipmetal/ElinsCV

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Привет

Этот репозиторий для начинающих познавать прекрасный мир компьютерного зрения (CV). В данном репозитории будут располагаться:

  • Презентации в папке Presentation ;
  • Различные задания и наработки по практическим занятиям в папках Ex#.

С чего начать?

Операционная система

Для наших целей подойдёт любая ОС из семейства Ubuntu. Предлагаю остановиться на Ubuntu 18.04 или Kubuntu 18.04. Инструкцию по установке Ubuntu на виртуальную машину VirtualBox для Windows можно найти здесь.

Установка OpenCV

Правильная ОС у нас есть. Теперь потребуется установить OpenCV. Открываем консоль и выполняем команды

foo@bar:~$ sudo apt update
foo@bar:~$ sudo apt install libopencv-dev cmake

И идём заваривать чай. Пока мы ходили, всё установилось! Теперь можем перейти к делам гитовым.

Получение репозитория

Для успешного выполнения заданий нам потребуется проделать некоторую работу с репозиторием ElinsCV.

Fork

Для начала переходим по ссылке выше и в правом верхнем углу нажимаем кнопку Fork. Таким образом мы можем работать с данным репозиторием не мешая другим.

Установка Git

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.

Pull requests

Это последний шаг в нашем не легком пути к отправке результатов.

Шаг 1. Переходим в наш репозиторий на GitHub.

Шаг 2. Находим там вкладку Pull requests (она находится между Code и Projects) и переходим в неё.

Шаг 3. Там нажимаем на New pull request.

Шаг 4. Далее нажимаем Create pull request. Видим поле, в котором можно оставить комментарии.

Шаг 5. Опять жмём Create pull request. Готово!

About

Base cource about Computer Vision

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.1%
  • CMake 4.9%