之前先试了试最简单的Makefile环境配置,接下来就要增加oepncv后来编译简单的工程试试了。
一、编译opencv 先使用cmake直接进行编译,注意选择相关环境方便生成相关配置文件。
最后我的生成环境在/usr/local/lib64下。然后在pkgconfig文件夹下,有个opencv.pc的文件,这个文件可以通过pkg-config这个工具进行方便的配置。

vim /etc/profile export PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH"
注意,这个地方的等号两边不能有空格,地址不包含文件。然后断开连接重新连接上即可。
先写个简单的转灰度的程序
#include <stdio.h>
#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/imgproc/types_c.h"
using namespace cv;
//将图片灰度化并保存
int main()
{
Mat image;
image = imread("./img.jpg");
if(!image.data)
{
printf("No image data \n");
return -1;
}else{
printf("read the image!\n");
}
Mat dst;
cvtColor(image,dst,CV_BGR2GRAY);
imwrite("dst.jpg", dst);
printf("change success!\n");
return 0;
}
因为使用命令行,所以就直接输入输出图片测试一下。
然后编写Makefile文件
因为是c++文件,需要引用g++编译器。
cc = g++
includes = test.o
INCLUDE = $(shell pkg-config --cflags opencv)
LIBS = $(shell pkg-config --libs opencv)
OBJECTS =test.o
SOURCE =test.cpp
test:test.o
g++ -o test $(OBJECTS) -I $(INCLUDE) $(LIBS)
test.o :
clean:
-rm $(OBJECTS) test
这样通过pkg-config即可连接相关库文件。底下编译参照第一篇即可。
然后运行测试一下

成功!

Comments NOTHING