适用Cmake的CMakeLists.txt来编译一个OpenCV的测试例子。
CMakeLists.txt的写法为:
project( main )
#添加头文件路径
include_directories(/usr/local/opencv347/include /usr/local/opencv347/include/opencv /usr/local/opencv347/include/opencv2)
#添加库文件路径
link_directories(/usr/local/opencv347/lib)
add_executable( main main )
target_link_libraries( main -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs)
OpenCV的测试例子代码为:
#include <opencv.hpp>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread(argv[1], 1);
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
imshow( "Display Image", image );
waitKey(0);
return 0;
}
然后在控制台进入到代码的根目录下,执行一下操作:
mkdir build
cd build
cmake ..
make
基本上,前面的CMakeLists.txt中的配置都写对了的话,也没啥问题,仅作测试用而已。make完成之后,可以测试下编译出来的可执行文件:
./main l_unpub.jpg
如果没有问题,应该就会显示输入的图像,如下:
有点儿童不宜,就不显示全部了...
丹阳郭里送行舟,一别心知两地秋。
日晚江南望江北,寒鸦飞尽水悠悠。
--严维 《丹阳送韦参军》
上善若水,为而不争。