1. 先下载OpenCV的源码 http://opencv.org/downloads.html
2. 解压到任意目录
unzip opencv-2.4.9.zip
3.进入源码目录
cd opencv-2.4.9
4. 事先安装下列软件
sudoapt-getinstallbuild-essentialcmakelibgtk2.0-devpkg-configpython-devpython-numpylibavcodec-devlibavformat-devlibswscale-dev
5. 进入cmake
cd cmake
6. cmake编译生成Makefile,
cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local..
安装所有的lib文件都会被安装到/usr/local目录
7. 编译,并安装
sudomakeinstall
8. 测试
1)源代码:
新建test.cpp:
#include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using namespace std; int main (int argc,char **argv) { Mat image,image_gray; image = imread(argv[1],CV_LOAD_IMAGE_COLOR ); if (argc != 2 || !image.data) { cout << "No image data\n"; return -1; } cvtColor(image,image_gray,CV_RGB2GRAY); namedWindow("image",CV_WINDOW_AUTOSIZE); namedWindow("image gray",CV_WINDOW_AUTOSIZE); imshow("image",image); imshow("image gray",image_gray); waitKey(0); return 0; }
新建名为makefile的文件:
CC = g++ # 可执行文件 TARGET = test # C文件 SRCS = test.cpp # 目标文件 OBJS = $(SRCS:.cpp=.o) # 库文件 DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui # 链接为可执行文件 $(TARGET):$(OBJS) $(CC) -o $@ $^ $(DLIBS) clean: rm -rf $(TARGET) $(OBJS) # 编译规则 $@代表目标文件 $< 代表第一个依赖文件 %.o:%.cpp $(CC) -o $@ -c $<
注意1:
12行、14行、17行前面为Tab,而非空格,否则会出现
“makefile:12: *** 遗漏分隔符 。 停止。”
这样的错误。
注意2:
由于示例中使用了opencv中的核心部分(opencv_core)、图像处理部分(opencv_imgproc)和GUI部分(opencv_highgui),所以依次增加opencv_core、opencv_imgproc、opencv_highgui动态链接库。
即由DLIBS = -lopencv_core -lopencv_imgproc -lopencv_highgui
语句实现。
2)make
cd 文档 # 进入程序所在目录 make
3) test
./test lena.bmp
- 1
运行结果
上面程序test的作用就是将输入的图像转换为灰度图像,可以看到,程序实现了该功能,也就证明了opencv安装成功。
原文链接:https://www.f2er.com/ubuntu/350205.html