12
Compvision.ru Часть перваяПолучение последних исходников» 1) Скачиваем TortoiseSVN отсюда: http://tortoisesvn.net/downloads.html 2) Устанавливаем 3) Перезагружаемся 4) Создаем директорию. Например в MyDocuments 5) Щелкнуть правой кнопкой по созданной директории и выбрать SVN Checkout Вводите путь к репозотарию: https://code.ros.org/svn/opencv/trunk/opencv

Установка и первый проект OpenCV_v2

  • Upload
    mall20

  • View
    131

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Установка и первый проект OpenCV_v2

Compvision.ru  

Частьпервая:«Получениепоследнихисходников» 

1) Скачиваем TortoiseSVN отсюда: http://tortoisesvn.net/downloads.html 

2) Устанавливаем 

3) Перезагружаемся 

4) Создаем директорию. Например в MyDocuments 

 5) Щелкнуть правой кнопкой по созданной директории и выбрать SVN Checkout 

Вводите путь к репозотарию: https://code.ros.org/svn/opencv/trunk/opencv 

 

Page 2: Установка и первый проект OpenCV_v2

Compvision.ru  Нажимаете ОК. 

6) Начнется передача файлов 

 Если нужно обновить исходники из репозитария,  то нужно щелкнуть правой кнопкой по 

директории, которую мы создали выше и выбрать пункт SVN Update. 

 

Теперь у вас последняя версия исходников библиотеки. 

   

Page 3: Установка и первый проект OpenCV_v2

Compvision.ru  Часть2:«Конфигурированиепроектабиблиотеки» 

1) Скачиваем CMAKE отсюда: http://www.cmake.org/ 

2) Устанавливаем 

3) Запускаем 

 4) В строке «Where is the source code:» Указываем директорию со скачанными недавно исходниками, в 

строке  «Where  to  build  the  binaries:»  указываем  директорию,  в  которой  будет  размещаться 

сконфигурированный проект библиотеки. 

   

Page 4: Установка и первый проект OpenCV_v2

Compvision.ru  5) У  меня  установки  сделаны  так,  но  у  меня  установлены  tbb,  IPP  и  CUDA,  если  что‐то  из  этого  не 

установлено, то в разделе With надо снять соответствующие отметкии и нажать «Configure»,  набор 

пунктов установится в соответствии с Вашей конфигурацией. 

 6) Жмем «Configure» 

Page 5: Установка и первый проект OpenCV_v2

Compvision.ru  

 Устанавливаем желаемый компилятор, под который будет создан проект. И жмем «Finish». 

7) Еще  раз  проверяем  установки,  указываем  пути,  куда  будут  размещены  исполняемые  файлы  и 

скомпилированные библиотеки. 

8) Еще раз жмем «Configure» 

 9) Жмем «Generate» и получаем проект для VS2008. 

10) Открываем проект в VS2008 и компилируем (жмем Build All) , release и debug конфигурации. 

   

Page 6: Установка и первый проект OpenCV_v2

Compvision.ru  Часть3:«ХелоВорлд» 

1) Запускаем VS2008 

2) В меню жмем File ‐> New ‐> Project 

 3) Выбираем “Win32ConsoleApplication” Задаем имя проекта и его директорию. Жмем «OK» 

4) В следующем диалоге жмем «Next» 

5) В следующем диалоге жмем «Finish» 

Page 7: Установка и первый проект OpenCV_v2

Compvision.ru  

 6) Проект создан, нужно его сконфигурировать. 

 

Page 8: Установка и первый проект OpenCV_v2

Compvision.ru  7) Правой кнопкой по названию прокта в дереве слева и выбрать пункт меню «Properties» 

 8) Устанавливаем пути к заголовочным файлам 

 9) Указываем пути к .lib файлам (в дебаг и релиз версиях пути разные) 

Page 9: Установка и первый проект OpenCV_v2

Compvision.ru  

  

10)Указываем подключаемые библиотеки 

 В  дебаг  версии  библиотеки  имеют  названия,  заканчивающиеся  на  «d»,  это  касается  и  DLL. 

Библиотеки релиза называются так же, но без буквы «d» на конце. 

   

Page 10: Установка и первый проект OpenCV_v2

Compvision.ru  Часть4:«Текстпрограммы» 

1) Вводим текст программы: 

//Указываем заголовочники #include <opencv2/objdetect/objdetect.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/calib3d/calib3d.hpp> #include <opencv2/imgproc/imgproc_c.h> #include <opencv2/imgproc/imgproc.hpp>

// точка входа int main(int argc, char** argv) { CvCapture* capture = 0; // Подключаем камеру capture = cvCaptureFromCAM(0); if( capture ) { // Создаем окно cvNamedWindow( "HelloWorld", 1 ); // Главный цикл for(;;) { IplImage* image = cvQueryFrame( capture ); if( !image ) break; cvShowImage( " HelloWorld ", image ); // Выход из цикла по нажатию клавиши

if( cvWaitKey(10) >= 0 ) break; } // Отключаем камеру cvReleaseCapture( &capture ); // Разрушаем окно cvDestroyWindow( "HelloWorld" ); } return 0; }  

2) Жмем «F5». 

3)  Enjoy  

   

Page 11: Установка и первый проект OpenCV_v2

Compvision.ru  FAQ (посты с форума) 

1. Q. Возможно ли запороть уже работающую программу, использующую OpenCV№.№ если обновиться через SVN? R. Существующая программа может перестать компилироваться. Правда у меня такого с появления версии 2.2 не случалось, но если сменится номер версии, то скорее всего надо будет перенастраивать. Указать пути к библиотекам,сами библиотеки и пути к заголовкам, а так же проверить чтобы правильно подключались заголовки (#include<>).

2. Q. После каждого обновления надо ребилдить либы? R. Это по желанию. Но пока библиотеки не перестроены, будут использоваться те, что были построены в прошлый раз и обновленные заголовочники, что может вызвать проблемы, но в рамках одной подверсии этого обычно не случается.

3. Q. Что будет если в VS2008 в VC++ Directories будет указано и C:\OpenCV2.1\include\opencv и C:\Program Files\OpenCV2.2\include C:\Program Files\OpenCV2.2\include\opencv (а то у меня походу от этого unresolved external symbol лезут) и еще в VS2010 VC++ Directories я так понимаю вынесены в свойства проекта так что будет без разницы,т.к. все привязано не к студии, а к самому проекту? R. Лучше оставить что-то одно. В vs2008 можно пути указывать в Directories, а можно в самом проекте, как 2010 не знаю.

4. Q. Не написано насчет PATH надо ли ее вообще использовать? если посмотреть cmd->path то у меня включено C:\OpenCV2.1\bin и C:\Program Files\OpenCV\bin которой вообще нет и которая видимо была создана CMake, достаточно ли включить например C:\OpenCV2.1 или C:\? или в папке должны лежать все связанные с библиотекой dll-ки? (как дебаг так и релиз? для 2.2 они почему то разделились *_220d.dll и *_220.dll соответственно) R. Пути, я думаю, лучше задавать явно не надеясь на PATH, хотя если там ничего лишнего нет, то почему бы и не использовать (я так не делал, могу ошибаться). ДЛЛки у меня лежат в c:\OpenCV-2.2.0\bin\Release\ и c:\OpenCV-2.2.0\bin\Debug\ Проект в конфигурации отладки будет использовать библиотtки с "d" в конце названия, в конфигурации релиза будут использованы библиотеки без "d". Для запуска программы DLL нужно скопировать в папку с экзешником.

5. Q. Обязательно ли указывать так заголовки? #include <opencv2/objdetect/objdetect.hpp> или есть какой то способ полегче? R. Да. Это "фича" последних версий, и думаю она сохраниться дальше.

6. Q. Можно ли как то использовать source код в своем проекте, не компилирую все в либы?(скажем из include папки взять *.h и подключить всю папку с сорцами .cpp) (и зачем это нужно готовить либы вообще? только появляются зависимости под студию 2008\2010, компилятор или ИДЕ) R. Opencv допускает статическую линковку (проект одним файлом без DLL), но для этого не нужно каждый раз компилировать библиотеку. Да, и компиляция библиотеки достаточно длительное дело. Именно для отвязывания от компиляторов и IDE и используется CMAKE. А конечному пользователю это не важно.

Page 12: Установка и первый проект OpenCV_v2

Compvision.ru  

7. Q. Еще шаг 9-10 не ясен там и там мы подключаем одни и те же либы? R. В 9) указываем пути , а 10) файлы. Да, это касается одних и тех же либов.

8. Q. Какие библиотеки нужно кинуть в папку с программой,что подключать?Использую visual c++2008 и open cv 2.2. R. В папке с программой должны лежать все длл из директория Opencv\bin\release. Если запускаемый файл собран как релиз. Если собран отладочный, обычно их не поставляют заказчикам, то в папке с программой должны лежать все длл из папки Opencv\bin\debug. И при запуске программа обычно пишет какой ей не хватает длл. Программа редко использует все длл, так что методом удаления по одной (они вообще-то должны соответствовать подключенным lib файлам), можете найти какие не нужны. Длл от VS, которые могут понадобиться лежат в диретории c:\Program Files\Microsoft Visual Studio9.0\VC\redist\ ,а конкретно, по-моему, вот отсюда надо скопировать все файлы c:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\ файл с расширением .manifest тоже нужен.