opencv+Qt+cmake安装配置

opencv+Qt+cmake安装配置,第1张

Qt5.7.1

CMake 3.10.2

opencv-3.3.0-vc14

右键“我的电脑”——属性——高级系统设置——环境变量,我的型渗路径是C:\Qt\Qt5.7.1\Tools\mingw530_32\bin,如图所示

打开CMake,设置源码的路径和输出路径,然后点击Configure,选择如所示

Next,配置c和c++,我的路径如下

点击Finish,等待加载完毕,暴很多红项

在Search框内搜索WITH_QT和WITH_OPENGL,都打上勾,再点击Configure

此时还有这几项是红的,点击ADD Entry,添加“QT_MAKE_EXECUTABLE”,并选择qmake的路径如图所示

在Search搜索CMAKE_BUILD_TYPE,修改value成  Release 或RelWithDebInfo

再次点击Configure,然后点击Generate

打开cmd命令提示符卜锋脊,进入输出文件夹并编译

这里的8根据自己电脑配置而定,8核cpu  我这里填8

如果编译过程中出现类似这样的错误:

解决办法:在CMake搜索ENABLE_PRECOMPILED_HEADERS,把这个项的打勾去掉,然后点Configure,Generate,再执行编译:ming32-make -j 8

如果遇到类似这样的错误

解决基局办法:根据提示的路径去opencv源码文件找cap_dshow.cpp文件,我的在D:\tmp\opencv\sources\modules\videoio\src文件夹里,用记事本打开cap_dshow.cpp,搜索

然后在上面添加

再次执行编译:ming32-make -j 8

方法同上,把D:\tmp\opencv-build\install\x86\mingw\bin添加到path里

打开Qt,新建一个项目,Qt Widgets Application 

调试

如果出现错误:

解决办法:点击左侧的项目,填好构建目录,如图所示:

修改.pro文件,添加

这里需要注意一下330,有些版本是320

修改完后,点击构建 ,执行qmake

修改mainwindow.cpp

效果:

你的pro文件里OPENCV_PATH = C:/opencv/build # 你的opencv folderINCLUDEPATH += $${OPENCV_PATH}/include \$${OPENCV_PATH}/include/opencv \猜逗$${OPENCV_PATH}/include/opencv2 CONFIG(release, debug|release) {LIBS+= $${OPENCV_PATH}/x64/vc11/lib/opencv_highgui249.lib \$${OPENCV_PATH}/x64/vc11/lib/opencv_imgproc249.lib \$${OPENCV_PATH}/x64/vc11/lib/opencv_core249.lib # .... 你想用的库 release 版本 /x64, /vc11 对应你的编译器版本}CONFIG(debug, debug|release) {LIBS+= $${OPENCV_PATH}/x64/vc11/lib/opencv_highgui249d.lib \$${OPENCV_PATH}/x64/枯激vc11/穗败卖lib/opencv_imgproc249d.lib \$${OPENCV_PATH}/x64/vc11/lib/opencv_core249d.lib # .... 你想用的库 debug 版本, /x64, /vc11 同上

1、opencv2.2编译不成功问题:

make的时候出现error: 'ptrdiff_t' does not name a type造成编译错误,这个也是我搞来很多次没有成功只好选择系统库中腊培自带的opencv。具体原因是没有加一个命名空间。具体可以镇局培见:http://web.archiveorange.com/archive/v/b6fbFdu0fh9uQC9aVdpF,只要在cxcore.hpp的命名空间地方加入(cxcore.hpp的位置在要根据你编译的时候出现的错误的位置来确定。):

[cpp] view plain copy

using std::ptrdiff_t

2、No accelerated colorspace conversion found from yuv422p to bgr24

这是在显示视频的时候(一般是avi格式)可能出现的问题,解决办法是要安装x264和libvpx(别御唯执行,先看下面)

[cpp] view plain copy

sudo apt-get update

sudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev \

libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \

libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev

[cpp] view plain copy

cd

git clone git://git.videolan.org/x264

cd x264

./configure --enable-static

make

sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \

awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \

--fstrans=no --default

[cpp] view plain copy

sudo apt-get remove libvpx-dev

cd

git clone http://git.chromium.org/webm/libvpx.git

cd libvpx

./configure

make

sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \

--deldoc=yes --fstrans=no --default

根据自己的测试,其实不用安装上面的东西就可以,单纯的安装ffmpeg就可以来。

[cpp] view plain copy

cd ~

wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz

tar -xvzf ffmpeg-0.7-rc1.tar.gz

cd ffmpeg-0.7-rc1

./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

make

sudo make install

3、Qt下的opencv2.2环境配置

配置opencv文件:

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/pkgconfig

export PKG_CONFIG_PATH

拷贝库:

sudo cp /usr/local/lib/python2.7/site-packages/cv.so /usr/local/lib/python2.7/dist-packages/cv.so

可以直接在pro文件下添加包含路径以及库的路径,不用修改配置文件。


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

原文地址: http://outofmemory.cn/tougao/8217730.html

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

发表评论

登录后才能评论

评论列表(0条)

保存