Linux中QT中配置OpenCv环境

Linux中QT中配置OpenCv环境,第1张

环境:Ubuntu18.04.6

Qt:4.5.2-3ubuntu

OpenCv:4.5.5

Cmake:3.12.2


一、获取OpenCv编码

opencv官网网址下载opencv源Releases - OpenCV


二、在自己linux下搭建OpenCv编译环境

1.创建一个opencv文件夹,如下所示:

mkdir opencv

2.把下载好的OpenCV压缩包移动到新创的opencv文件夹中解压,可以在终端用 ‘tar’ 命令解压或者直接点压缩包提取;

3.在opencv文件夹下再创建两个文件夹 build和install

mkdir build install

4.安装Cmake和Cmake-gui以及所依赖的库(若出错可以思考一下是否执行了sudo apt update与sudo apt upgrade)

sudo apt-get install cmake-gui
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install cmake cmake-qt-gui cmake-curses-gui

5.进入build文件夹下编译Cmake 

cd /opencv/build
cmake-gui

会出现cmake配置界面

6. 配置cmake工具

如下图去设置路径第一个路径是你解压出来的opencv文件夹,第二个路径是咱们自己创的build文件夹。


 路径设置完后勾选 Advanced,点击Configure会出现如下界面,选择Unix Makefiles后选择Use default native compilers,然后点击Finish。


 在CMAKE_BUILD_TYPE 值处输入RELEASE再在 CMAKE_INSTALL_PREFIX 处指定安装目录, 我们在上面已经新建了 install 安装目录。


我们直接指定到该目录即可。


如果不指定,它会默认安装到 Ubuntu 系统目录/usr/local 下。


 

 等这个步骤构建完,我们先点击 Configure,再点击 Generate就可以生成了。


成功界面如下,且上面的空间没有飘红。



三、编译Opencv源码

修改完后,切换至build文件夹,可以得到如下图示,然后去make,在make完成之后,输入sudo make install来安装opencv源码,会安装在刚才指定的路径下。



四、配置opencv环境变量

环境配置

cd /etc/ld.so.conf.d/
sudo gedit opencv.conf
#创建文件后插入 /home/wang/opencv/install 保存并退出
sudo ldconfig

配置bash 

sudo gedit /etc/bash.bashrc
#在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/wang/opencv/install/pkgconfig export PKG_CONFIG_PATH 
#保存退出
source /etc/bash.bashrc
sudo updatedb


五、Qt下Opencv的环境搭建 

打开Qt去创建一个项目,如下图所示

在test.pro后去添加路径,如下图

 添加如下路径,指定了头文件的位置与动态链接库的位置。



/home/ge/opencv/install即为自己指定的安装opencv的目录

INCLUDEPATH +=  /home/ge/opencv/install/include\
                /home/ge/opencv/install/include/opencv4 \
                /home/ge/opencv/install/include/opencv4/opencv2

LIBS += /home/ge/opencv/install/lib/libopencv_highgui.so \
        /home/ge/opencv/install/lib/libopencv_highgui.so.405 \
        /home/ge/opencv/install/lib/libopencv_core.so    \
        /home/ge/opencv/install/lib/libopencv_imgproc.so \
        /home/ge/opencv/install/lib/libopencv_imgcodecs.so

然后可以添加如下代码做测试:

#include 
#include 

using namespace cv;
using namespace std;

int main() {

	Mat src = imread("/home/ge/图片/lena.png");
	namedWindow("输入", WINDOW_FREERATIO);
	if (src.data != NULL)
		imshow("输入", src);  //图像必须是8位的
	else
		cout << "error!!" << endl;
	waitKey(0);
	destroyAllWindows();
	return 0;
}

 其中Mat src = imread("/home/ge/图片/lena.png");该代码中imread的参数是图片的位置;

参考:(43条消息) linux下编译opencv_wang@xing的博客-CSDN博客_linux编译opencvhttps://blog.csdn.net/chengziwang/article/details/112145116?spm=1001.2014.3001.5502

若有侵权,请联系作者删除。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/577981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存