Перейти к содержимому
Compvision.ru
Smorodov

Установка и первый проект OpenCV в картинках.

Recommended Posts

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

Изменял параметры, ставил исключительно Build для Shared libs, ставил все галочки для Build в CMAKE... весь отчет в моем предыдущем сообщении

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может промежуточную версию скачали (похоже в OpenCV-шных исходниках косяк)?

А снимок настроек CMAKE можете показать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вроде все верно, скачайте с гита свежие исходники, скорее всего в этих ошибка.

Вот мои настройки, собирается сразу, без проблем.

post-1-0-48542500-1346411571_thumb.jpg

post-1-0-67884900-1346411579_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Настроил на другой машине... Может и правда исходники\система глючат. 242 версию прям чистенько сделал

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня задача отбраковка таблеток на производственной линии. Программировал на матлабе, но он оказался медленным. Опыт на С близок к нулю. Уповаю на снисхождение. Мне только нужно сделать первые шаги, код более-менее на матлабе уже написан, его нужно переписать на С и подкорректировать. И обсудить я его бы хотел, но это дальше.Загрузил OpenCV отсюда http://sourceforge.n...ary/?source=dlp и раскрыл его в C:\OpenCV\

У меня win7 64 bit

Подключаю OpenCV к VC++ 2010 Express как сказано здесь http://locv.ru/wiki/1.6_%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0_%D0%B8_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0

Include Directories:

C:\OpenCV\include\opencv

C:\OpenCV\include\opencv2

C:\OpenCV\build\include\opencv

C:\OpenCV\build\include\opencv2

C:\OpenCV\modules

Library Directories:

C:\OpenCV\3rdparty\lib

Source Directories:

C:\OpenCV\modules

Что здесь неверно и чего не хватает?

Запускаю программу как сказано здесь

http://locv.ru/wiki/...%BD%D0%BA%D0%B8

#include "stdafx.h"

#include <highgui.h>

//#include "highgui.h"

/* хотел это подключить да не понял смысла обратной черты - /

#include "C:/OpenCV/include/opencv2/core/core.hpp"

#include "opencv2/core/gpumat.hpp"

#include "opencv2/core/opengl_interop.hpp"

#include "opencv2/gpu/gpu.hpp"

#include "opencv2/ml/ml.hpp"

#include "opencv2/highgui/highgui.hpp"

#include "opencv2/contrib/contrib.hpp"

#include "opencv2/video/tracking.hpp"

#include "opencv2/imgproc/imgproc.hpp"

*/

int _tmain(int argc, _TCHAR* argv[])

{

	IplImage* img = cvLoadImage(“D:\\Exam\\capture\\IMG_3722.JPG”); // Загружаем изображение

	cvNamedWindow(“Example1”, CV_WINDOW_AUTOSIZE); // Создаём окно

	cvShowImage(“Example1”, img); // Выводим картинку в окно

	cvWaitKey(0); // Ждём

	cvReleaseImage(&img); // Освобождаем память из под картинки

	cvDestroyWindow(“Example1”); // Удаляем окно

	return 0;

}

На что получаю ошибку

1>------ Build started: Project: targ1, Configuration: Debug Win32 ------

1> targ1.cpp

1>c:\opencv\include\opencv\highgui.h(45): fatal error C1083: Cannot open include file: 'opencv2/core/core_c.h': No such file or directory

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Не подключается highgui.h - а почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В инклудах я обычно включаю (автоматически cmake-скриптом) что то вроде:

c:/Users/USER/Documents/Visual Studio 2010/Projects/OpenCV_sln;
c:/Users/USER/Documents/opencv/opencv/include;
c:/Users/USER/Documents/opencv/opencv/include/opencv;
c:/Users/USER/Documents/opencv/opencv/modules/core/include;
c:/Users/USER/Documents/opencv/opencv/modules/imgproc/include;
c:/Users/USER/Documents/opencv/opencv/modules/flann/include;
c:/Users/USER/Documents/opencv/opencv/modules/highgui/include;
c:/Users/USER/Documents/opencv/opencv/modules/features2d/include;
c:/Users/USER/Documents/opencv/opencv/modules/calib3d/include;
c:/Users/USER/Documents/opencv/opencv/modules/ml/include;
c:/Users/USER/Documents/opencv/opencv/modules/video/include;
c:/Users/USER/Documents/opencv/opencv/modules/objdetect/include;
c:/Users/USER/Documents/opencv/opencv/modules/contrib/include;
c:/Users/USER/Documents/opencv/opencv/modules/nonfree/include;
c:/Users/USER/Documents/opencv/opencv/modules/photo/include;
c:/Users/USER/Documents/opencv/opencv/modules/legacy/include;
c:/Users/USER/Documents/opencv/opencv/modules/gpu/include;
c:/Users/USER/Documents/opencv/opencv/modules/stitching/include;
c:/Users/USER/Documents/opencv/opencv/modules/ts/include;
c:/Users/USER/Documents/opencv/opencv/modules/videostab/include;[/code] и либы (это отладочные, релизные без "d" в конце имени):
[code]C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_calib3d249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_contrib249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_core249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_features2d249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_flann249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_gpu249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_highgui249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_imgproc249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_legacy249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_ml249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_nonfree249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_objdetect249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_photo249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_stitching249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_ts249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_video249d.lib
C:\Users\USER\Documents\Visual Studio 2010\Projects\OpenCV_sln\lib\Debug\opencv_videostab249d.lib

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Извиняюсь за детские вопросы: инклуды следует добавить в Project->Properties->VC++ Directories->Include Directories?

Там я добавил C:\OpenCV\include\opencv ....... т.е. '\' - обратный

У меня C:\OpenCV\include\ почти пустая

3e3473e95afb.jpg

У меня OpenCV-2.4.3, может быть мне поставить более раннюю версию как у Вас вероятно?

В инклудах я обычно включаю (автоматически cmake-скриптом)...
Как это?

С либами тот же вопрос: их указать в Project->Properties->VC++ Directories->Library Directories?

У Вас там '/' прямой, я же указывал его с обратным

Неясно какие либы мне брать

d6027dceebac.jpg

В коде если вставляю

#include <C:/OpenCV/include/opencv/cv.h>

#include <C:/OpenCV/include/opencv/cv.hpp>

и т.д тогда выскакивают возможности подключения но всегда какого то одного файла, т.е. VC видит эти файлы, пути к ним

может быть таким путем пойти? но тогда каждый файл подключать отдельно

post-5877-0-91018500-1354111730_thumb.pn

post-5877-0-56001800-1354111739_thumb.pn

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вы делаете совершенно не то, надо сначала запустить среду VS2010, создать консольный проект.

Слева будет структура проекта (это НЕ директории на диске).

Щелкнуть правой кнопкой по названию проекта (не решения, а проекта) и задать его свойства.

Описание создания консольного проекта в vs2010, требует от меня печатать очень много букв.

К тому же это оффтоп.

Поищите, в интернете полно информации по этому вопросу.

Первый попавшийся: http://z-prog.info/viewtopic.php?f=30&t=115

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Консольный проект я сделал и устанавливаю там

cf3232bf79fb.png

может быть просто добавить туда установки как Вы предложили?

прикрепил файл с указанием инклюдес

post-5877-0-63045500-1354113596_thumb.pn

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделал по ссылке http://z-prog.info/v....php?f=30&t=115 lesson1

Что добавлять в нашем случае (в моем конкретно случае с 2.4.3)

в строке Additional Dependencies

в строке Delay Loaded DLL's

в строке Include Directories

в строке Library Directories

в строке Exclude Directories ?

В строке Include Directories то, что Вы писали

c:/Users/USER/Documents/Visual Studio 2010/Projects/OpenCV_sln;

c:/Users/USER/Documents/opencv/opencv/include;

c:/Users/USER/Documents/opencv/opencv/include/opencv;

c:/Users/USER/Documents/opencv/opencv/modules/core/include;...............

подойдет ли? Ну путь я поставлю свой напр C:\OpenCV\include\opencv, а в остальных случаях? Напр такого пути у меня нет C:\OpenCV\modules\core\include, но есть такой

C:\OpenCV\modules\core\include\opencv2\core

Все пути к файлу highgui.h у меня были указаны в Include Directories, это C:\OpenCV\include\opencv и C:\OpenCV\build\include\opencv,

это два разных файла с тем же именем и все же была ошибка, что файл этот не найден. В папке C:\OpenCV всего два файла highgui.h

Попробую подключить эти инклюды в lesson1 и вставлю туда код с выводом картинки.

Та же ошибка

c:\opencv\build\include\opencv\highgui.h(45): fatal error C1083: Cannot open include file: 'opencv2/core/core_c.h': No such file or directory

Поставил еще два инклюда C:\OpenCV\build\include\opencv2\core и C:\OpenCV\modules\core\include\opencv2\core к файлу core_c.h,

но ошибка сохранилась.

Добавил #include "stdafx.h" и теперь не находит и его

d:\prog\c\targilim\lesson1\lesson1\lesson1.cpp(1): fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory

Добавил инклюд к этому файлу (поставил его сверху остальных инклюдов)

C:\Program Files %28x86%29\Microsoft Visual Studio 10.0\VC\VCWizards\AppWiz\.NET\Console\Templates\1033

но ошибка вернулась

c:\opencv\build\include\opencv\highgui.h(45): fatal error C1083: Cannot open include file: 'opencv2/core/core_c.h': No such file or directory

Еще надо уроки по VC почитать, не видно правда как это поможет с этими ошибками.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ЕЩе вопрос где найти описания функций цвешных?? а то без понятия даж с чего начать то

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Официальное руководство здесь: http://docs.opencv.org/modules/refman.html

Официальные обучалки здесь: http://docs.opencv.org/doc/tutorials/tutorials.html

По-русски можно посмотреть здесь: http://locv.ru/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0

и здесь: http://robocraft.ru/blog/computervision/

Ну еще встроенные примеры (папка opencv/samples) в помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

еще вопрос как только зарегался на code.ros.org сайт сразу перестал работать, это только у меня или нет?? не могу установить опенцв потому что требуется скачать исходники а без регистрации не скачивается, что делать? или это просто у них сервер лёг?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не нужно там регистрироваться,последние исходники лежат на GutHub-е:

https://github.com/itseez/opencv

Там есть кнопка ZIP на нее нажимаешь и скачиваются исходники одним архивом.

post-1-0-53225300-1354453014_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

До сих пор мне так и не удалось подключить opencvКомпиляция проходит, но при запуске программы получаю ошибку

464a8fefa6f5.png

Output добавил после нажатия на ОК

Скачал отсюда http://www.cmake.org/cmake/resources/software.html cmake-2.8.10.2-win32-x86.exe, хотя у меня win 7 64 bit

Он дал странный результат

190e4e3b3305.png

Если меняю папку исходного кода на C:\opencv, то получаю

7c7bf6ee3b22.png

Что делать? Подскажите пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

У Вас, судя по ошибкам, выбран borland-овский (bcc32.exe), а нужно 64 разрядный Microsoft Visual C++.

Его в системе нет, вот и ошибка.

У меня тоже win7x64.

OpenCV скомпилирован под 64 разряда, все работает.

Проекты все тоже под 64 разряда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

да, так и есть, хотя я следил за этим. Интересно что там есть и Visual Studio 10 Win64, но это не работает, а работает только опция Visual Studio 10

Вот поправил

16f7b5fc48e2.png

1. Но если в верхней строчке вместо C:\opencv вставляю C:\opencv\include, то не работает cmake?

2. Неясно где скрипт, который генерирует cmake

3. После установки всех путей для инклюдов и либ осталась та же ошибка как указано в предыдущем посту на первом рисунке 0x000007b

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так в верхней строчке и не должна быть директория include, там должна быть корневая директория opencv.

Проект будет в директории, указанной Вами во второй строчке.

Чтобы его получить нужно нажать Configure, проверить чтобы все было правильно, еще раз Configure, и затем Generate.

CMake создаст проект из которого можно будет построить библиотеку. (OpenCV.sln) Его и нужно открыть в студии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот сделал

77fa09c32616.png

75acba5cbd73.png

Какой именно проект открывать в VC? Файл с именем OpenCV ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Открыл OpenCV.sln в VC и откомпилировал его

Вот папка liba до (слева) и после (справа) компиляции

c03e0edf1206.png

Справа появились новые папки напр bin и lib

По размеру эта папка liba почти такая же как и весь opencv.

Вы писали

В инклудах я обычно включаю (автоматически cmake-скриптом) что то вроде:

Где эти списки всех линков?

В конце компиляции OpenCV.sln появилось сообщение

e25dec16a825.png

Это терпимо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня CMAKE скрипт для проектов есть.

Я его сам соорудил.

Создаешь директорию, кидаешь туда сишные файлы, для которых нужно создать проект, и скрипт. Запускаешь CMAKE, созаешь .sln файл, который и компилируешь в студии.

Файл-скрипт приаттачил.

Там "Fun" - это название проекта (может быть любым, только английскими буквами, без пробелов и т.д.) можно оставить как есть.

CMakeLists.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сумел запустить версию 2.1, но появились замечания по поводу dll в SysWOW64

8b81785618f0.png

Так ведь не должно быть? Как этого избежать? Что сделал неверно?

В инклудах C:\opencv\include\opencv

В директорис C:\opencv\sln\lib\Debug

В инпут

cxcore210d.lib

cv210d.lib

highgui210d.lib

cvaux210d.lib

Кроме того скопировал dlls из C:\opencv\sln\Debug в Debug проекта

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да нет, все нормально, PDB это отладочная информация (разметка машинного кода, где какая С-шная функция, чтобы ее при отладке показывать).

Видимо для системных файлов ее нет.

Вы же не собираетесь отлаживать windows :)

В этом нет ничего страшного.

Для OpenCV-шных файлов и для Вашей программы все загрузилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

IntelliSense: не удается открыть источник файл "opencv2/calib3d/calib3d.hpp"

Как решить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×