01.linux下搭建opencv并在qt中使用
- 格式:docx
- 大小:554.02 KB
- 文档页数:8
opencv在QT中的配置和使⽤教程本⽂使⽤的软件包:QT、cmake、opencv库由于主要参考的是以下两个博客,这⾥就根据他们的内容关键点截图加上⼀些⾃⼰遇到的问题来写,具体细节可参考下⾯两个链接。
1. 2. ⼀、软件安装(1)QT下载地址:QT安装具体细节见博客2,注意以下⼏步同时注意系统变量的添加,博客⼆中有详细说明。
(2)cmake下载地址:选最新版本即可(3)opencv下载地址:根据⾃⼰的系统选择⼆、使⽤cmake编译opencv(1)根据⾃⼰的opencv版本号选择解压(2)等待源代码解压完成(3)解压完成后,启动刚刚安装好的Cmake程序,⾃⼰填写OpenCV刚刚解压的源码⽬录,以及⾃⼰新建⼀个⽂件夹⽤于存放编译完成的opencv,填写到下⼀⾏的编译⽬标⽬录,然后点击下⽅的configure按钮进⾏第⼀次配置。
(4)选择MinGw Makefiles,然后选择第⼆项,完成后点击下⼀步(5)指定c编译器和c++编译器的路径,请找到你的QT⽬录\Tools\mingw730_64\bin下的gcc.exe和g++.exe程序,依次对应填写。
(6)等待第⼀次configure完成。
(configure到最后可能会下载opencv_videoio_ffmpeg相关库⽂件,如果没有梯⼦的话可能会⽐较久)(7)configure完成后,需要配置⼀些参数。
在第三⾏的Search中,搜索WITH_QT,打勾。
搜索WITH_OPENGL,打勾。
搜索ENABLE_PRECOMPILED_HEADERS,取消打勾。
搜索QT5_DIR,将“你的QT路径\5.13.0\mingw73_64\lib\cmake\Qt5”填进去。
例如我的是:D:\WorkApp\QT\5.13.0\mingw73_64\lib\cmake\Qt5,完成以上操作后点击Configure进⾏第⼆次Configure。
(8)第⼆次Configure完成后,点击Generate⽣成opencv编译⽂件到⽬标⽬录。
3、这就是本文用的方法,就是下载源码包,自己编译安装,最为麻烦,但是本来就是学习的,况且现在只能下载到源码包,那就先学习这种方法把。
软件下载QT有好几个下载网站,这里汇总介绍,自从诺基亚公司放弃Meego、遣散Qt开发团队以后,Qt商业版本的网站移到了,而开源版本则放到了 :1、首先是诺基亚的官方网站/这个是不太方便的,想快速下载的接着看后面的。
此网站需要填写用户名和邮箱地址,下载地址会发送到邮件里,我就把我收到的地址贴出来吧。
下面是邮件中的地址汇总。
这里面的linux源码是commercial版本。
Qt 4.8.4 for embedded Linux/developer/download/qt-everywhere-commercial-sr c-4.8.4.tar.gzInstalling Qt for embedded Linux/doc/qt-4.8/qt-embedded-install.htmlQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.tar.gzQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.tar.gzQt 4.8.4 for Windows (Src and VS2008 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 008.exeQt Visual Studio Addin 1.1.11 for Qt4 (Binary)/developer/download/qt-vs-addin-1.1.11.exeQt 4.8.4 for Windows (Src and VS2010 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010.exeQt 4.8.4 for Windows (Src and MinGW 32bit Binary)/developer/download/qt-win-commercial-4.8.4-min gw.exeQt Creator 2.6.1 for Windows (32bit Binary)/developer/download_creator/qt-creator-win-comm ercial-2.6.1.exeQt 4.8.4 for Windows (Src and VS2010 64bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010-64bit.exeQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.zipQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.zipQt 5.0.0 Offline SDK for Windows (32-bit Binary)/developer/download_50/qt-windows-commercial-5.0.0-msvc2010_32-x86-offline.exeQt Visual Studio Addin 1.2.0 for Qt5 (Binary)/developer/download_50/qt-vs-addin-1.2.0.exe2、QT-project网站下载/downloads这个网站就直接而且清晰多了,分类很清楚,如下图所示。
OpenCV与Qt的环境搭建及Demo前⾔:前段时间写了很多OpenCV的程序,虽然重点在算法上,但图像窗⼝只能靠cvNamedWindow,效果很不理想。
遂希望⽤Qt配合OpenCV使⽤,为我的程序建⽴图形化界⾯。
然⽽,依我对OpenCV的了解,环境配置⼀定是⽞学,在解决了多个问题后,终于实现了Demo,在这⾥分享下我的成果,也感谢⽂末参考资料中的各位博主。
Qt在Windows环境下有两种编译⽅式,MinGW和msvc。
msvc就是微软的VC运⾏库,只要安装了Visual Studio就⾃带了,在编译速度上⽐较有优势。
缺点是,采⽤msvc编译的话,需要单独安装cdb调试⼯具,才能在Qt中进⾏单步调试,本⽂将采⽤Win10 64bit+opencv 2.4.10 + Qt5.8.0 + VS2013配置环境。
第⼀步:安装与配置OpenCV在此,我们假设你的电脑上已经安装了Visual Studio,本⽂将不再赘述。
因为某些历史问题,我的OpenCV的版本为2.4.10,如果你的版本也是2.x.x,那么你可以直接将2410替换成你的版本。
1. 从下载OpenCV并解压到⼀个⽬录中,我们假设解压到了"D:\opencv\"中。
2. 配置环境变量,在系统->⾼级系统设置->环境变量->系统变量中,找到Path,并添加"D:\opencv\build\x64\vc12\bin"。
请注意上⾯路径中的x64/vc12是需要根据你系统的版本⾃⾏替换的。
第⼆步:安装与配置Qt1. 从下载Qt,并注册账户、开始安装。
注意在安装过程中需要选择MSVC2013 64bit的kit,当然,这也需要根据你系统的版本进⾏替换。
2. 新建⼀个Qt Widges Application,注意勾选VSVC2013。
如果⼀切就绪,Qt Creator中应该为下图所⽰。
3.4. 可以看到,⼀个简单的Qt项⽬由.pro⽂件,头⽂件、源⽂件、界⾯⽂件组成,今后我们都将⽤到。
在Linux操作系统上进行Qt开发随着计算机科学和技术的迅速发展,软件开发在我们日常生活中扮演着越来越重要的角色。
而在软件开发领域中,Qt框架是一个备受推崇的选择。
1. 简介Qt是一种跨平台的应用程序开发框架,可以在Linux、Windows和Mac等操作系统上进行开发。
它提供了丰富的工具和库,使开发者能够轻松构建出跨平台的应用程序。
2. Linux操作系统Linux是一种自由开源的操作系统,它以其稳定性和安全性而闻名。
对于Qt开发来说,Linux提供了一个理想的开发环境。
2.1 安装Qt首先,我们需要在Linux操作系统上安装Qt。
可以从Qt官方网站下载适用于Linux的Qt安装程序,并按照提示进行安装。
2.2 配置开发环境安装完成后,我们需要配置Qt开发环境。
在终端中输入以下命令,将Qt添加到系统路径中:```export PATH=$PATH:/path/to/qt/bin```这样,我们就能够在任何位置运行Qt开发工具。
3. Qt开发工具Qt提供了一系列开发工具,使我们能够高效地进行软件开发。
3.1 Qt CreatorQt Creator是一个集成开发环境(IDE),具有代码编辑、调试和构建等功能。
它提供了一个直观的界面,使我们能够轻松创建和管理项目。
3.2 Qt DesignerQt Designer是Qt的可视化界面设计器,可帮助我们设计GUI界面。
它提供了丰富的界面组件和布局工具,使我们能够快速创建出漂亮的界面。
4. Qt应用程序的创建和编译在Qt Creator中,我们可以创建一个新的Qt项目。
选择适当的项目模板,并按照向导的指示进行配置。
在项目中,我们可以使用C++或Qt自身的脚本语言QML进行编码。
在代码编写完成后,我们可以使用Qt Creator进行编译和构建。
它会自动处理依赖关系,并生成可执行文件。
5. 调试和测试在Qt Creator中,我们可以使用调试器进行调试。
它提供了断点、变量监视和堆栈跟踪等功能,帮助我们追踪和修复程序中的错误。
详细的步骤,在ubuntu14.04上安装OpenCV2.4.3成功。
安装OpenCV:1.安装必要的软件apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev2.下载OpenCV,我的OpenCV-2.4.3.tar.bz2是在csdn上下载的3.解压到任意目录进入到压缩包存放的目录tar xvf OpenCV-2.4.3.tar.bz2cd OpenCV-2.4.3/mkdir releasecd release4.cmake编译OpenCV源码,所有的lib文件都会被安装到/usr/local目录下cmake-D CMAKE_BUILD_TYPE=RELEASE-D CMAKE_INSTALL_PREFIX=/usr/local..5.安装makesudo make installNow you have to configure OpenCV.First,open the opencv.conf file with the following code: 1sudo gedit/etc/ld.so.conf.d/opencv.confAdd the following line at the end of the file(it may be an empty file,that is ok)and then save it:1/usr/local/libRun the following code to configure the library:1sudo ldconfigNow you have to open another file:sudo gedit/etc/bash.bashrcAdd these two lines at the end of the file and save it:PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATHFinally,close the console and open a new one,restart the computer or logout and then login again.OpenCV will not work correctly until you do this.Now you have OpenCV2.4.1installed in your computer with Python,TBB,OpenGL, video,and Qt support./*下面这段可忽略环境变量pkg_config_path提供编译时和运行时库的路径查询。
Opencv版本:2.4.4二、安装步骤:1、解压缩OpenCV-2.4.4a.tar.bz2安装包:tar jxvf OpenCV-2.4.4a.tar.bz2cd opencv-2.4.42、用cmake进行编译:mkdir release244 //目录名可以任意命名cd release244cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/public/software/opencv244-D BUILD_PYTHON_SUPPORT=ON ..//注意-D CMAKE_INSTALL_PREFIX表示安装目录,我这里选为/public/software/opencv2443、编译和安装上面的步骤执行成功后再执行:makemake install即可完成编译和安装三、安装后的配置1、准备环境变量文件:vi /etc/profile.d/opencv-env.shexport LD_LIBRARY_PATH=/public/software/opencv244/lib:$LD_LIB RARY_PATHexport INCLUDE=/public/software/opencv244/include/opencv:/publi c/software/opencv244/include/opencv2:$INCLUDEexport PKG_CONFIG_PATH=/public/software/opencv244/lib/pkgconf ig//这个文件是根据之前的安装目录写的,PKG_CONFIG_PATH这个必须写,其他两个貌似也可以不写2、载入环境变量:. /etc/profile.d/opencv-env.sh四、算例演示1、准备算例:cat myopencv.cpp#include "highgui.h"int main( int argc, char** argv )IplImage* img = cvLoadImage( argv[1] ); cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE ); cvShowImage( "Example1", img );cvWaitKey(0);cvReleaseImage( &img );cvDestroyWindow( "Example1" );}2、编译g++ `pkg-config opencv --libs --cflags opencv` myopencv.cpp -o myopencv编译成功后会生成可执行文件myopencv3、运行向此目录下上传一张图片,比如我这里是Lena.jpg执行:./myopencv Lena.jpg便可弹出图片。
linux下第一个OpencV程序今天在linux下安装了OpenCV,下面是我的linux下第一个OpencV程序,很简单,但是在编译的过程中还是遇到了不少的问题。
下面就简单总结一下。
源代码如下(hello.c):#include "cv.h"#include "highgui.h"int main(int argc,char **argv){IplImage* pImage;if (argc == 2 && (pImage=cvLoadImage(argv[1],1)) !=0){cvNamedWindow("Image",1);cvShowImage("Image",pImage);cvWaitKey(0);cvDestroyWindow("Image");cvReleaseImage(&pImage);return 0;}return -1;}1.编译:gcc hello.c -o hello报错如下:hello.c:1:16: 错误:cv.h:没有该文件或目录hello.c:2:21: 错误:highgui.h:没有该文件或目录hello.c: 在函数‘main’ 中:hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其hello.c:6: 错误:所在的函数内只报告一次。
)hello.c:6: 错误:‘pImage’ 未声明(在此函数内第一次使用)hello.c:20:2: 警告:文件未以空白行结束解决方法:把目录/usr/local/include/opencv拷贝到/usr/include下,即执行命令:sudo cp -r /usr/local/include/opencv /usr/include再编译:gcc hello.c -o hello仍然报错:hello.c:1:16: 错误:cv.h:没有该文件或目录hello.c:2:21: 错误:highgui.h:没有该文件或目录hello.c: 在函数‘main’ 中:hello.c:6: 错误:‘IplImage’ 未声明(在此函数内第一次使用)hello.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其hello.c:6: 错误:所在的函数内只报告一次。
linuxqt步骤“LinuxQt步骤”是指在Linux操作系统下使用Qt框架进行开发的一系列步骤。
Qt是一个流行的跨平台应用程序开发框架,可以为开发者提供丰富的工具和库,帮助他们创建各种类型的应用程序,包括图形用户界面(GUI)应用程序。
下面将详细解释在Linux操作系统下使用Qt框架进行开发的步骤。
第一步:安装Qt开发环境在开始Qt开发之前,您需要在Linux操作系统中安装Qt开发环境。
您可以从Qt官方网站上下载Qt安装程序。
选择适用于Linux系统的版本并按照安装向导的指示进行安装。
第二步:配置Qt环境变量安装完成后,您需要配置Qt环境变量,以便在终端或命令提示符中访问Qt工具和库。
打开一个终端窗口,并编辑您的bash配置文件(通常是`.bashrc`或`.bash_profile`)。
添加以下行:export PATH=PATH:/path/to/qt/binexport LD_LIBRARY_PATH=LD_LIBRARY_PATH:/path/to/qt/lib请确保将`/path/to/qt`替换为您实际安装Qt的路径。
保存文件后,运行`source`命令使更改生效:source ~/.bashrc第三步:创建Qt项目要创建一个新的Qt项目,您可以使用Qt Creator——一个专门的IDE (Integrated Development Environment)用于Qt应用程序开发。
打开Qt Creator,单击“新建项目”选项。
选择适合您需求的项目类型,例如Qt Widgets应用程序或Qt Quick应用程序。
在“新建项目”向导中,选择项目名称、存储位置和其他选项。
您还可以选择使用C++作为主要开发语言,或选择其他语言,如QML(一种用于构建用户界面的声明性语言)。
第四步:设计用户界面一旦项目创建完成,在Qt Creator的设计模式下可以设计您的用户界面。
Qt Creator提供了一个直观的拖放界面,可让您轻松添加、编辑和布置各种界面元素,如按钮、文本框和标签等。
Linux+Qt+OpenGL配置方案早想在Linux下搞开发了,几年前开始研究Linux游戏编程,但是那时候的确没有找到一个好的框架。
现在游戏引擎那么多,跨平台已经成为游戏引擎的一大卖点了,我们的选择也逐渐增多,对于像我这样游戏的初学者来说,要在Linux下创出一份事业来,还是学习稍微底层的好。
这里我选择了Linux+Qt+OpenGL作为游戏开发的方案。
首先安装Qt开发环境QtCreator就挺麻烦了(见我以前的博客:/jiangcaiyang123/article/details/8018696),然后就是应对复杂的OpenGL 开发环境的配置,真的很费心啊。
这里我选择了Mesa的OpenGL实现。
如果在安装Mesa的OpenGL有问题,可以查看这些文章:/blog/847574/leon032/至于我自己,以前的Ubuntu9.10不被支持,所以我将这些软件包都一个一个地下载了。
这里把这些文件再打包,供给需要的朋友们:安装完了后,我们可以试试QtSDK文件夹下Example的Hellogl。
当初没有安装OpenGL开发环境的时候,它是不能找到gl.h文件的。
现在就可以找到并且能够成功地编译了。
编译后的效果如下:?好吧,我来告诉你。
它在Qt安装目什么?缺少qtlogo.h“录/QtSDK/Examples/4.7/opengl/shared中,添加在项目中,一起编译就好了。
编译成功运行结果”如下所示:下面就是另外一个例子的问题了。
在构建例子程序cube时,遇到了这样一个问题:glDeleteBuffers和glGenBuffers没有定义,我也找了很久,最后在上找到了解决方案。
原帖子地址:/topic/422358-glgenbuffers-not-declared/在geometryengine.cpp文件前面的包含关系改成这样:#define GL_GLEXT_PROTOTYPES#include"geometryengine.h"#include<QVector2D>#include<QVector3D>#include<GL/glext.h>再编译,就不会出错了。
Linux下配置opencv(opencv2.3.1为例) 1.建立一个文件夹命令:mkdir opencv2.进入该文件夹中命令:cd opencv/3.先配置系统:命令:sudo apt-get update命令:sudo apt-get upgrade4.工具准备(安装必要的依赖包)命令:sudo apt-get install cmakesudo apt-get install cmake-curses-guisudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-devlibopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev sudo apt-get install build-essential checkinstall git cmakelibfaac-devlibjack-jackd2-dev libmp3lame-dev libopencore-amrnb-devlibopencore-amrwb-devlibsdl1.2-devlibtheora-dev libva-dev libvdpau-devlibvorbis-dev libx11-devlibxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev(注意:这些库文件缺一不可)5.读取摄像头需要安装lib4:命令:wget /downloads/v4l-utils/v4l-utils-0.8.5.tar.bz2解压该文件命令:tar -xvfv4l-utils-0.8.5.tar.bz2进入该文件夹:cd v4l-utils-0.8.5/安装文件:sudo make install6.安装ffmpeg1(1)命令:cd ../(2)找到文件:wget/releases/ffmpeg-0.7-rc1.tar.gz //下载ffmpeg-0.7-rc1.tar.gz安装包,建议直接从网下载速度较快,这样第2步可以省略直接进入第3步(3)解压文件命令:tar -xvzf ffmpeg-0.7-rc1.tar.gz (4)进入该文件夹命令:cd ffmpeg-0.7-rc1命令:./configure --enable-gpl --enable-libfaac--enable-libmp3lame --enable-libopencore-amrnb--enable-libopencore-amrwb --enable-libtheora--enable-libvorbis --enable-libx264 --enable-libxvid--enable-nonfree --enable-postproc --enable-version3--enable-x11grab –enable-shared(#命令:./configure --enable-gpl --enable-version3--enable-nonfree --enable-postproc --enable-libfaac--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid--enable-x11grab --enable-swscale –enable-shared?)(若有些错误通过apt-get install进行安装,其他可通过apt-get install xxx-dev进行安装。
LINUX开发工具-QT的配置与使用(一)了解QTSDK 和QTCREATOR两个软件的用途:编程的工具是Qt Creator,打开:使用Qt给的GUI例子演示:编辑源码的位置在qtcreator目录下:打开qt command and promqt工具,命令行进入源码存放的目录里,然后执行下面几个命令:最后执行make命令即可生成windows平台标准的可执行文件exe了,在Debug目录里:命令行进入Debug目录下,看看是不是有个Test.exe:执行命令运行Test.exe文件:qmake是QT4自带的命令,但是make是MinGW自带的命令,Qt Creator是源码编辑和UI 设计的工具,故必须安装3个工具。
(二)编写hello world程序1.运行Qt Creator,首先弹出的是欢迎界面,这里可以打开其自带的各种演示程序。
2.用文件->新建菜单来新建工程。
选择Qt4 Gui Application。
输入工程名和要保存到的文件夹路径。
这里的工程名为helloworld。
软件自动添加基本的头文件,因为这个程序我们不需要其他的功能,所以直接点击下一步。
base class选为QDialog对话框类。
然后点击下一步。
点击完成,完成工程的建立。
可以看见工程中的所有文件都出现在列表中了。
可直接按下下面的绿色的run按钮或者按下Ctrl+R快捷键运行程序。
程序运行会出现空白的对话框,如下图。
双击文件列表的dialog.ui文件,便出现了下面所示的图形界面编辑界面。
在右边的器件栏里找到Label标签器件, 按着鼠标左键将其拖到设计窗口上,如下图。
双击它,并将其内容改为helloworld, 在右下角的属性栏里将字体大小由9 改为15, 拖动标签一角的蓝点,将全部文字显示出来, 再次按下运行按钮,便会出现helloworld。
Qt Creator编译的程序,在其工程文件夹下会有一个debug文件夹,其中有程序的.exe可执行文件。
Linux下QtCreator的安装使用Qt Creator 是一款跨平台的集成开发环境 (IDE),非常适合开发基于 Qt 框架的应用程序。
在 Linux 下安装和使用 Qt Creator 也非常简单,本文将介绍如何在 Linux 系统上安装和使用 Qt Creator。
##1.安装依赖项在安装 Qt Creator 之前,我们需要确保一些依赖项已经安装在系统中。
在绝大多数 Linux 发行版中,这些依赖项通常称为 `build-essential`(用于构建软件所需的工具和库)和 `qt5-default`(用于构建 Qt 应用程序的默认库和头文件)。
在 Debian/Ubuntu 系统上,可以使用以下命令安装这些依赖项:```shellsudo apt install build-essential qt5-default```其他 Linux 发行版上的包管理器可能有所不同,但通常对于这两个依赖项都有相应的软件包。
```shellcd ~/Downloadschmod +x <Qt_Creator_版本号>.run```然后运行 `.run` 文件,根据提示进行安装。
建议选择默认安装路径。
```shell./<Qt_Creator_版本号>.run```安装完成后,可以在应用程序菜单或者 Dash 中找到 Qt Creator。
##3.创建一个新的Qt项目打开 Qt Creator 后,点击 "New Project" 创建一个新的 Qt 项目。
- 在左侧选择 "Qt Widgets Application"(或其他适合的项目类型)。
-在右侧选择项目信息,包括项目名称、路径和类似。
- 点击 "Next",选择所需的配置。
- 在编译系统中选择 "Desktop Qt <版本号> ..." ,并选择所需的构建套件。
OpenCV学习⼀《Linux下安装OpenCV》第⼀步:安装源码前先安装好需要的第三⽅⽅环境需要的编译环境■ [compiler] sudo apt-get install build-essential# 注释说明64位ubuntu在安装build-essential遇到依赖问题的解决办法依赖的库■ [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-devlibswscale-dev可以选择安装的■ [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-devlibtiff-dev libjasper-dev libdc1394-22-dev还有⼀点需要重要的特殊说明,就是在Ubuntu可视化界⾯操作的时候不要随便取消更新勾选中的东西,不然很容易出现问题将上传的两个OpenCV源码解压到 ~ ⽬录中解压好后 依次执⾏以下的命令cd opencvmkdir buildcd build最后执⾏编译命令cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -D CMAKE_INSTALL_PREFIX=/usr/local .. 出现这个结果的话 就表⽰成功的安装了中间可能会遇到 下载⼀个⽂件下载不完的问题,只要将提前下载好的⽂件复制进去 即可解决这个问题最后的⼀步在 ~/opencv/build 中分别执⾏命令makesudo make install # 如果不加上sudo的话就会报⼀个权限的错误!编辑配置⽂件vim /etc/ld.so.conf在下⾯⼀⾏加上/usr/local/lib重新加载配置sudo ldconfig检测OpenCV是否安装好的代码test_opence.cpp#include <opencv2/highgui/highgui.hpp>int main(int argc,char* argv[]){const std::string window_name = "lena";const std::string input_pic = "lena.jpg";cv::Mat test_pic = cv::imread(input_pic);if(test_pic.empty()){std::cout<<"no input image"<<std::endl;return -1;}cv::namedWindow(window_name);cv::imshow(window_name,test_pic);cv::waitKey(0);return0;}编译代码g++ -o test_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs 执⾏代码./test_opencv.cpp执⾏效果 ,如果出现lena.jpg 图 就证明安装成功!。
Qt中使用opencv中得cvSetMouseCallback回调函数在Qt中使用OpenCV的cvSetMouseCallback回调函数实际上是将OpenCV的图像窗口嵌入到Qt的窗口中。
借助Qt的QLabel类来实现这一功能。
首先,我们需要在Qt中创建一个新的窗口,可以使用QWidget或QMainWindow类实现。
然后,我们再创建一个QLabel对象,作为显示OpenCV图像的区域。
现在,我们需要在窗口中嵌入OpenCV的图像窗口。
可以通过继承QLabel类,然后重写paintEvent函数来实现。
paintEvent函数将调用OpenCV的cvSetMouseCallback回调函数。
下面是一个简单的示例代码,不包括图像加载和鼠标事件处理的具体逻辑:```cpp#include <opencv2/opencv.hpp>#include <QMainWindow>#include <QLabel>#include <QPainter>class CvQLabel : public QLabelQ_OBJECTpublic:explicit CvQLabel(QWidget *parent = nullptr): QLabel(parent)//设置鼠标跟踪,保证鼠标事件可以被捕获setMouseTracking(true);}void paintEvent(QPaintEvent *event) overrideQLabel::paintEvent(event);// 获取OpenCV的图像数据cv::Mat cvImage = ...; // 从一些地方获取图像数据// 将OpenCV图像数据转换为Qt的图像数据QImage qtImage(cvImage.data, cvImage.cols, cvImage.rows, cvImage.step, QImage::Format_RGB888);QPainter painter(this);painter.drawImage(0, 0, qtImage);}void mousePressEvent(QMouseEvent *event) override//处理鼠标按下事件int x = event->x(;int y = event->y(;//处理鼠标事件}};class MainWindow : public QMainWindowQ_OBJECTpublic:explicit MainWindow(QWidget *parent = nullptr): QMainWindow(parent)//创建一个新窗口QWidget* centralWidget = new QWidget(this); setCentralWidget(centralWidget);// 创建OpenCV图像显示区域CvQLabel* imageLabel = new CvQLabel(centralWidget); // 设置QGridLayout用于放置图像和其它组件QGridLayout* layout = new QGridLayout(centralWidget); layout->addWidget(imageLabel, 0, 0);//设置窗口大小resize(800, 600);}};```在上述代码中,我们将OpenCV的图像数据转换为Qt的图像数据,然后使用QPainter对象将图像显示在QLabel上。
linux下的qt中qopenglfunctions下函数的用法一、QOpenGLFunctions概述QOpenGLFunctions是一个用于处理OpenGL函数调用的类,它在Qt框架中提供了一组用于访问OpenGL功能的接口。
通过使用QOpenGLFunctions,开发者可以在Qt应用程序中轻松地调用OpenGL 函数,而不必关心底层细节。
1. 获取QOpenGLFunctions对象要使用QOpenGLFunctions,首先需要获取一个QOpenGLFunctions 对象。
可以通过调用QOpenGLContext类的functions()函数来获取该对象。
示例如下:```scssQOpenGLContext *context = ... // 获取OpenGL上下文对象QOpenGLFunctions *functions = context->functions();```2. 注册OpenGL函数为了使用QOpenGLFunctions调用OpenGL函数,需要将所需的函数名称注册到该对象中。
可以使用registerFunctions()函数来完成此操作。
示例如下:```scssfunctions->registerFunctions(QOpenGLContext::Functions::AllFunctions);```这将注册所有OpenGL函数,以便后续调用。
3. 调用OpenGL函数一旦获得了QOpenGLFunctions对象并注册了所需的函数,就可以使用该对象来调用OpenGL函数了。
可以使用该对象的方法来执行各种OpenGL操作,例如绘制几何图形、设置着色器参数等。
示例如下:```scss// 绘制矩形functions->glDrawArrays(GL_TRIANGLES, 0, 3);// 设置着色器程序functions->glUseProgram(shaderProgram);```4. 清理资源完成OpenGL函数的调用后,记得释放QOpenGLFunctions对象占用的资源。
Linux Ubuntu 安装Opencv作者:Tiger(xia)1.我们需要安装一个cmake(我这里用的是2.8.12.2版本)2.首先下载一个cmake3.Tar zxvf cmake的压缩报4.进入解压的文件夹输入./bootstrap5.make6.make install7.还需要一些库libgtk2.0-dev build-essential pkg-config (用apt-get install +对应的库)8.在下载Opencv(我是2.4.9版本)(默认安装在/usr/local/bin 和/usr/local/include)$ cd OpenCV-2.4.9$ cmake CMakeLists.txt$ make && make install9.export LD_LIBRARY_PATH=/usr/local/lib10.测试就加个Opencv的头文件就知道了11.pkg-config --modversion opencv12.编译gxx `pkg-config opencv --libs --cflags opencv` opencv_test.c -o test注意:一定先安装gtk库再安装opencvOpencv 移植编译说明:我们移植opencv 到itop arm板,交叉编译器是arm-none-linux-gnueabi-gcc,和arm-none-linux-gnueabi-g++前面已经介绍了opencv和cmake 的安装,这里用的是图形界面安装cmake-gui来进行opencv的交叉编译。
1.安装cmake-qt-gui (cmake的界面终端)sudo apt-get install cmake-qt-gui2.解压opencv2.4.9 tar -xzvf opencv2.4.9.tar.gz3.对opencv的交叉编译的相关配置在点击Configure那个按钮后要选择交叉编译如图:编译时要去掉几个cmake的复选框的BUILD_opencv_ocl 、WITH_OPENCL、WITH_TIFF 选项(不去掉编译时要出错哦)。
linux下搭建opencv并在qt中使用
作者:vmezr
由于最近要着手做pcduino上的视频聊天的项目,从未接触过pcduino,经过讨论决定使用qt来实现。
其实qt和opencv 我都没有接触过,也打算趁机学习一下。
言归正传,首先得搭建好需要的环境,第一步是安装配置opencv,然后在qt中使用opencv的库。
(opencv的安装方法部分参考雷雨同鞋哒~)
首先,在官网/中下载opencv原码,选择linux版本进行下载。
以opencv2.4.8为例:(我用的是opencv2.4.13)
1.将压缩包解压到/usr/local/
2.直接使用sudo apt-get install cmake下载并安装cmake
3.为了方便后续摄像头捕捉等功能还需要下载opencv依赖的一些包:
apt-cache search opencv
使用此命令可以直接查到需要下载的依赖包
leo@leo-virtual-machine:/usr/local/opencv/release$ apt-cache search opencv
libcv-dev - Translation package for libcv-dev
libcv2.3 - computer vision library - libcv* translation package
libcvaux-dev - Translation package for libcvaux-dev
libcvaux2.3 - computer vision library - libcvaux translation package
libhighgui-dev - Translation package for libhighgui-dev
libhighgui2.3 - computer vision library - libhighgui translation package
libopencv-calib3d-dev - development files for libopencv-calib3d
libopencv-calib3d2.3 - computer vision Camera Calibration library
libopencv-contrib-dev - development files for libopencv-contrib
libopencv-contrib2.3 - computer vision contrib library
libopencv-core-dev - development files for libopencv-core
libopencv-core2.3 - computer vision core library
libopencv-dev - development files for opencv
libopencv-features2d-dev - development files for libopencv-features2d
libopencv-features2d2.3 - computer vision Feature Detection and Descriptor Extraction library libopencv-flann-dev - development files for libopencv-flann
libopencv-flann2.3 - computer vision Clustering and Search in Multi-Dimensional spaces library libopencv-gpu-dev - development files for libopencv-gpu
libopencv-gpu2.3 - computer vision GPU Processing library
libopencv-highgui-dev - development files for libopencv-highgui
libopencv-highgui2.3 - computer vision High-level GUI and Media I/O library
libopencv-imgproc-dev - development files for libopencv-imgproc
libopencv-imgproc2.3 - computer vision Image Processing library
libopencv-legacy-dev - development files for libopencv-legacy
libopencv-legacy2.3 - computer vision legacy library
libopencv-ml-dev - development files for libopencv-ml
libopencv-ml2.3 - computer vision Machine Learning library
libopencv-objdetect-dev - development files for libopencv-objdetect
libopencv-objdetect2.3 - computer vision Object Detection library
libopencv-video-dev - development files for libopencv-video
libopencv-video2.3 - computer vision Video analysis library
opencv-doc - OpenCV documentation and examples
python-opencv - Python bindings for the computer vision library
4.安装上述所依赖的包(sudo apt-get install xxx就ok)
5.接着就要编译opencv的原码并安装:
执行以下命令:
sudo mv opencv-2.4.8 opencv
cd opencv
mkdir release
cd release
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D BUILD_opencv_python2=ON -D
BUILD_NEW_PYTHON_SUPPORT=ON -D
WITH_V4L=ON-DINSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON-DBUILD_EXAMPLES= ON -D WITH_QT=ON -D WITH_OPENGL=ON -D
WITH_VTK=ON..
注意上面命令最面的“空格..”(make编译的过程会很久~耐心等待吧)
sudo make
sudo make install(昨晚已做完这一步)
6.接着安装完成后进行配置:
添加库的路径:
sudo gedit /etc/ld.so.conf.d/opencv.conf
添加内容:
/usr/local/lib
然后输入,使设置生效:
sudo ldconfig
配置环境变量:
sudo gedit /etc/bash.bashrc
在文件最后加入以下两行并保存:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/p kgconfig
export PKG_CONFIG_PATH
(此时opencv的安装基本完成了~~~)
7.可以测试下opencv自带测试程序:
执行以下命令:
cd /usr/local/opencv/samples/c
sudo chmod +x build_all.sh
./build_all.sh
运行:
python /usr/local/opencv/samples/python2/turing.py 会显示出如下效果图:
经过以上步骤opencv安装配置完成。
需要在qt中使用opencv只用经过非常简单的步骤:(我自己走了弯路,所以遇到很多问题不过最后解决了)只需每次在qt工程文件.pro中加入一下内容:
(在#input之前加入,第一个opencv库的位置根据自己的路径来添加,比如我是在/usr/local/include/opencv下的,有人却在/usr/include/opencv下)
INCLUDEPATH += /usr/local/include/opencv
LIBS += -lopencv_core \
-lopencv_imgproc \
-lopencv_highgui \
-lopencv_ml \
-lopencv_video \
-lopencv_features2d \
-lopencv_calib3d \
-lopencv_objdetect \
-lopencv_contrib \
-lopencv_legacy \
-lopencv_flann
然后尽管qmake,make,运行。
可以使用这样的测试程序:(1.jpg图片可自行添加)
然后:
qmake --project
修改.pro文件加入上述库的路径qmake xx.pro
make
./xx
以下是我的测试结果:
(如果编译成功就说明在qt中使用opencv成功了,如果编译出错,有可能是之前的库路径添加有误。
)
简单的安装配置就到这里了,其它的还没有学习~。