OpenCV学习——各个环境的装配总结(汇总)
Windows
MS Visual C++
Install OpenCV
Download
OpenCV installer and install it. I assume you have installed onto C:/Program Files/OpenCV.
Setup MS Visual C++
I write details based on MS Visual Studio 2005. Follow menus of MS Visual C++ window as:
- Tools > Options > Projects and Solutions > VC++ directories >
- Show Directory for: > Include Files. Now add
C:/Program Files/OpenCV/cv/include C:/Program Files/OpenCV/cvaux/include C:/Program Files/OpenCV/cxcore/include C:/Program Files/OpenCV/otherlibs/highgui C:/Program Files/OpenCV/ml/include C:/Program Files/OpenCV/otherlibs/cvcam/include
- Show Directory for: > Library Files. Now add
C:/Program Files/OpenCV/lib
- (Option) Show Directory for: > Source Files. Now add
C:/Program Files/OpenCV/cv/src C:/Program Files/OpenCV/cvaux/src C:/Program Files/OpenCV/cxcore/src C:/Program Files/OpenCV/otherlibs/highgui C:/Program Files/OpenCV/otherlibs/cvcam/src/windows
Setup MS Visual C++ for each project
- Right Click Project > Property >
- Configuration Proeperties > Linker > Input > Additional Dependencies. Now add
- cv.lib cxcore.lib cvaux.lib highgui.lib ml.lib cvcam.lib
- Change 'Configuration' drop down menu from Release (Debug) to Debug (Release).
- Do the same thing (Add .libs to Input)
Or, add below codes into your source codes above #include(s).
#ifdef _MSC_VER #pragma comment(lib, "cv.lib") #pragma comment(lib, "cxcore.lib") #pragma comment(lib, "cvaux.lib") #pragma comment(lib, "highgui.lib") #pragma comment(lib, "ml.lib") #pragma comment(lib, "cvcam.lib") #endif
MinGW gcc/g++
Install MinGW
MinGWis a collection of freely available and freely distributable Windowsspecific header files and import libraries, augmenting the GNU CompilerCollection, (GCC), and its associated tools, (GNU binutils). MinGWprovides a complete Open Source programming tool set which is suitablefor the development of native Windows programs that do not depend onany 3rd-party C runtime DLLs.
- Download Automated MinGW Installer from
MinGW project page
and install.
- Install gcc and g77
- Assume MinGW is installed on C:/MinGW
- MinGW originally does not include gdb debugger. If you want it, download .tar.bz2 of GNU Source-Level Debugger from
MinGW project page
and unarchive it.
- Copy files into C:/MinGW
How To Compile
g++ test.cpp -I"C:/Program Files/OpenCV/cv/include" -I"C:/Program Files/OpenCV/cxcore/include" -I"C:/Program Files/OpenCV/otherlibs/highgui" -L"C:/Program Files/OpenCV/lib" -lcxcore -lcv -lhighgui -lcvaux -lml
How to Use MinGW on cygwin
Cygwinis a Linux-like environment for Windows. It consists of two parts: ADLL (cygwin1.dll) which acts as a Linux API emulation layer providingsubstantial Linux API functionality. A collection of tools whichprovide Linux look and feel.
http://www.cygwin.com/
Setup to use MinGW g++ instead of cygwin g++
$ export PATH=/cygdrive/c/MinGW/bin:$PATH
Linux
gcc/g++
Download
OpenCV source codes (.tar.gz)
Root user
tar zxvf opencv-1.0.0.tar.gz; cd opencv-1.0.0 ./configure make make install
General user
tar zxvf opencv-1.0.0.tar.gz; cd opencv-1.0.0 ./configure --prefix=$HOME/usr make make install # configuration export PATH=$HOME/usr/bin/:$PATH export LD_LIBRARY_PATH=$HOME/usr/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=$HOME/usr/lib/pkgconfig:$PKG_CONFIG_PATH export MANPATH=$HOME/usr/man:$MANPATH
Compilation is as
g++ `pkg-config --cflags opencv` foo.c -o foo `pkg-config --libs opencv`
It must be equivalent with
g++ -I$HOME/usr/include/opencv foo.c -o foo -L$HOME/usr/lib -lcxcore -lcv -lhighgui -lcvaux -lml
where $HOME/usr is the prefix specified at the ./configure step.
MacOS X
I tried long time ago, there should exist easier ways nowadays.
- Install Xcode from OS CD, 'custome' to install everything.
- Get OpenCV and
http://lestang.org/article45.html.
- Copy these files into OpenCV.
- ./configure to create cvconfig.h.
- Double click Xcode project in _make, add path of the cvconfig.h to highgui.
- Build, try projects of samples.
- Toexecute builded program on command line, copy_make/build/Debug/*.framework into ~/Library/Frameworks. If Frameworksdoes not exist, create it.
$ _make/build/Debug/kmeans.app/Contents/MacOS/kmeans
Sample Test code
#include #include #include #include #include int main(int argc, char *argv[]) { // Nothing but create a window cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); cvMoveWindow("mainWin", 100, 100); cvWaitKey(0); return 0; }