需要知识:
- Linux系统shell命令基础
- 编译原理基础知识,预编译->编译->汇编->链接
- make 、cmake知识
- IDE使用经验
- gcc,g++编译器知识
1. 命令行形式
直接编写C 或者C++ 程序,然后分别用gcc,g++编译器生成可执行程序。
1) C++程序版:
#include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { printf("usage: DisplayImage.out <Image_Path>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }
编译过程:
$ g++ first.cpp -o first `pkg-config opencv --cflags --libs` // 包含、链接参数一定要放在后面
2. CMake运行形式
cmake 是先将程序所需的依赖、原料组织起来,产生Makefile,然后在又经过make来编译生成可执行程序。最重要的就是编写CMakeList.txt文件。以上文C++程序为例,CMakeList.txt为:
cmake_minimum_required(VERSION 2.8) project( first ) find_package( OpenCV REQUIRED ) include_directories( ${OpenCV_INCLUDE_DIRS} ) add_executable( first first.cpp ) target_link_libraries( first ${OpenCV_LIBS} )
然后,CMake,再make:
$ cmake . $ make $ ./first first.jpg
1与2的运行结果如下:
3. IDE开发工具
在IDE工具(如VS,Eclipse)中利用opencv库,和以上两种方法考虑的地方一样,都是要配置好include 和 lib 部分。