在Linux系统中,QT是一个很不错的C++的框架,并提供了IDE。很多想学习OpenCV的朋友都想把OpenCV集成到QT中,本文就简单介绍一下怎样在QT中集成OpenCV。
编译安装OpenCV
参考官方的教程 ,安装依赖包的时候会遇到无法找到libjasper-dev包的问题。在Ubuntu中执行如下命令即可:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
编写QT测试程序
创建Console程序,在Project文件中加入如下配置:
INCLUDEPATH += /usr/local/include/opencv4
DEPENDPATH += /usr/local/include/opencv4
LIBS += -L/usr/local/lib/ \
-lopencv_calib3d \
-lopencv_core \
-lopencv_dnn \
-lopencv_features2d \
-lopencv_flann \
-lopencv_gapi \
-lopencv_highgui \
-lopencv_imgcodecs \
-lopencv_imgproc \
-lopencv_ml \
-lopencv_objdetect \
-lopencv_photo \
-lopencv_stitching \
-lopencv_videoio \
-lopencv_video
请注意我的OpenCV的安装目录是/usr/local,如果你安装在其他路径上,请把INCLUDEPATH和DEPENDPATH变量修改为你的安装路径。 在main.cpp文件中包含OpenCV的头文件,和使用cv命名空间。
#include "opencv2/opencv.hpp"
using namespace cv;
在main函数中加入如下代码:
Mat img = cv::imread(argv[1]); //加载命令行指定的图片
if(img.empty())
{
return 0;
}
imshow("实例图片", img);
如果一切正常将会输出如下图片。
注意QT有自己的消息循环,不需要用轮训等待的方式显示图片。你可以在这里下载。