Archive for June 17, 2011
Linux下Matlab使用Mex调用OpenCV库函数
June 17, 2011
Leave a comment
唉,用CPP+OpenCV2.2写代码,想调到Matlab下方便调参数和进一步分析。于是,就有了下面的工作。
mex基础就不多说了。首先,自己用mex标准写一个A.cpp函数。然后把乱七八糟的*.h, *.cpp都放到同一个目录下。
Matlab中输入mex -v可以看到一个FILE=xxx/mexopts.sh的文件,直接右击该地址,打开即可修改mex的Makefile文件。
我的机器是32位Linux,于是找到glnx86,里面加上
CXXFLAGS=”$CXXFLAGS -I /usr/local/include/opencv”
CXXFLAGS -L /usr/loca/lib”
CXXLIBS=”$CXXLIBS -lopencv_core -lopencv_imgproc -lopencv_calib3d -lopencv_video -lopencv_features2d -lopencv_ml -lopencv_highgui -lopencv_objdetect -lopencv_contrib -lopencv_legacy”
接下来,mex A.cpp *.cpp即可编译成功!
只是,运行A时发现两个错误:
- `GLIBCXX_3.4.11′ not found opencv
这是因为Matlab目录下自带libstdc++.so的问题,将其软链接到/usr/lib/libstdc++.so.6.0.13即可。 - Undefined symbol: _ZN8QMapData10createDataEi.
这是由于在编译安装OpenCV2.2时选择了With_QT,重新编译安装OpenCV,将With_QT关掉,即可解决。
于是,就可以欢快地在Matlab里面使用mex调用OpenCV2.2了。
Categories: Vision
Linux下GCC配制安装OpenCV2.2
June 17, 2011
Leave a comment
现在都在Ubuntu下面工作了,于是必须得装个OpenCV才行。Intel OpenCV 2.2 是目前的最新版。
- 下载OpenCV 2.2,地址http://www.opencv.org.cn/download/OpenCV-2.2.0.tar.
- 安装cmake
sudo apt-get install cmake
sudo apt-get install cmake-qt-gui - 打开cmake
sudo cmake-gui
其中,Browse Source对应源码文件夹,Browse Build对应OpenCV-build文件夹。点configure,再点Generate就可以了。 - 进入OpenCV-build,运行sudo make
- 安装,输入sudo make install
这样就完成了!