使用OpenCV与gcc和CMake
- 注意
- 我们假设您已经在工作站中成功安装了OpenCV。
- 在代码中使用OpenCV的最简单方法是使用CMake。几个优点(从维基获取):
- 在Linux和Windows之间移植时,无需更改任何内容
- 可以轻松地与CMake(即Qt,ITK和VTK)的其他工具组合使用
- 如果您不熟悉CMake,请在其网站上查看教程。
Steps
使用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
你应该得到一个漂亮的窗口,如下所示: