在ubuntu环境下,在QT中使用OpenCV有两种方法:
1.使用cmake的方式
2.使用qmake的方式
首先说一说第一种方式:
(1).首先编写好CMakeLists.txt,上过小学的你一定会知道,重点部分会有特殊的标记。CMakeLists.txt的重点在于一个字母都不能错,大小写必须注意了。
CMakeLists.txt的内容一般如下:
cmake_minimum_required(VERSION 2.8)
project( filter )
find_package( OpenCV REQUIRED )
add_executable( filter filter.cpp )
target_link_libraries( filter ${OpenCV_LIBS} )
稍微说一下:
1.每行括号前面的字符也可大写
2.project()里面的filter是项目名称,可以根据自己的名字修改
3.同理,add_executable( filter filter.cpp )里的filter.cpp是函数名字,可根据自己需求修改。
(2).打开QT,然后如下图所示:
找到自己想要选择的CMakeLists.txt,然后选中。
第二种方式:
(1).打开QT,选择新建文件
(2)选择如下图所示
最右下角的choose是第四步。
(3)然后写入程序的名字,选择程序目录
(4)之后就是,一个next和一个finish,就可以了
最关键的步骤来了,点击finish之后,应该会出现如下的画面,
注意imread是我的程序名字,所有可能每个人的名字都不一样。
打开.pro文件,加入下面的内容:
INCLUDEPATH += /usr/include
INCLUDEPATH += /usr/include/opencv
INCLUDEPATH += /usr/include/opencv2
LIBS += /usr/lib/i386-linux-gnu/libopencv_highgui.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_legacy.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_imgproc.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_flann.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_ml.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_core.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_photo.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_contrib.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_video.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_objdetect.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_nonfree.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_calib3d.so
LIBS += /usr/lib/i386-linux-gnu/libopencv_features2d.so
上面的内容既和配置有关,也和文件所在目录有关。大家可以通过查看自己的目录和文件来确定。
opencv一般在usr/include中。
接下来就可以验证了:
//#include "imread.h"
//#include <QApplication>
#include <opencv/cv.h>
#include <opencv/highgui.h>
using namespace cv;
int main(int argc, char *argv[])
{
/*QApplication a(argc, argv);
imread w;
return a.exec();
w.show();*/
Mat img = imread("0.png"); //声明Mat变量并调入照片
imshow("Lena", img);
waitKey(); //等待按键
return 0;
}
“0.jpg”就是你要加载的图片名字,值得注意的是,该图片应放在debug文件中,即生成执行程序所在的目录下。
如果你能顺利地加载出图片,证明你的操作成功了。