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文件下添加包含路径以及库的路径,不用修改配置文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)