使用GCC和CMake编译OpenCV应用
注意:
此教程认为你已经成功的在你的工作平台上安装了OpenCV。
- 在你的代码中使用OpenCV最简单的方式就是利用CMake。它的一些优点(摘自Wiki)
- Linux和Windows相互移植项目的时候不需要做任何修改。
- CMake可以很容易地与其他的工具相结合。(例如。Qt、ITK和VTK)
- 如果你不熟悉CMake,可以参考这个网站上的教程。
步骤
使用OpenCV创建一个程序
来看一个简单的程序例如DisplayImage.cpp如下:
#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;
}
创建一个CMake文件
现在你需要创建你的CMakeLists.txt文件。它应当像这个:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
创建可执行程序
这部分比较简单,就是和其他项目一样的使用CMake
cd <DisplayImage_directory>
cmake .
make
结果
直到现在你应该有一个可执行程序(在这个例子中叫做DisplayImage)。你仅需要在运行的时候,通过参数给她一个本地图片。
./DisplayImage lena.jpg
你会看到一个新的窗口,展示下面的内容:
出处:http://docs.opencv.org/master/db/df5/tutorial_linux_gcc_cmake.html