1. install subversion
aptitude install subversion
2. check out source code
cd ~/<my_working_directory>
svn co https://code.ros.org/svn/opencv/trunk
svn co https://code.ros.org/svn/opencv/trunk
3. install cmake
aptitude install cmake
4.利用cmake产生makefile,新建一个folder,cd folder
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local sourcecode/path
cmake产生的文件都存在这个folder下面。
5. 编译源代码,生成动态链接库
sudo make install
6.这个时候lib已经编译并且安装在/usr/local/lib里
6.1 将动态链接库.so,加入LD_LIBRARY_PATH环境变量中
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
sudo ldconfig
7.加入PKG_CONFIG_PATH环境变量
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
export PKG_CONFIG_PATH
export PKG_CONFIG_PATH
8.sample readimg.cpp
#include "cv.h"
#include "highgui.h"
using namespace cv; //下面的所有cv相关类型不用加上前缀了
int main(int argc, char* argv[])
{
Mat img = imread("lena.jpg"); //声明Mat变量并调入lena小妞(老妞了现在?)的照片
if(!img.data) //判断图片调入是否成功
return -1; //调入图片失败则退出
namedWindow("loveLena", CV_WINDOW_AUTOSIZE); //创建窗口,并确定其为大小不可变类型窗口
imshow("loveLena", img); //显示图片。如果你不介意窗口大小可变,可以直接注释掉上一句。因为imshow可以直接创建窗口
waitKey(); //等待按键
return 0;
}
#include "highgui.h"
using namespace cv; //下面的所有cv相关类型不用加上前缀了
int main(int argc, char* argv[])
{
Mat img = imread("lena.jpg"); //声明Mat变量并调入lena小妞(老妞了现在?)的照片
if(!img.data) //判断图片调入是否成功
return -1; //调入图片失败则退出
namedWindow("loveLena", CV_WINDOW_AUTOSIZE); //创建窗口,并确定其为大小不可变类型窗口
imshow("loveLena", img); //显示图片。如果你不介意窗口大小可变,可以直接注释掉上一句。因为imshow可以直接创建窗口
waitKey(); //等待按键
return 0;
}
编译:
gcc `pkg-config --cflags --libs opencv` -o readimg readimg.cpp
执行:
./readimg