去年暑假用QT做了一件简单的基于SIFT+RANSAC的拼接小程序,当时用的opencv版本是2.4.10.
一年过去。。。。做毕设的时候再次用到,电脑上opencv的版本已经到了3.3.0.
从新在QT上配置opencv经历了一整天的持续作战。。。。
首先参考如下教程用mingw编译适合qt的动态库:
https://blog.csdn.net/qq_17550379/article/details/78277313
opencv3.3的cmake过程真的非常多雷区啊!!最后生成的时候因为opencv_hdf和电脑上的Anaconda好像有冲突,所以这个库就没有编译。
编译好之后在qt中的.pro文件里填好
INCLUDEPATH += E:/OpenCV3.3_Qt/install/include \
E:/OpenCV3.3_Qt/install/include/opencv \
E:/OpenCV3.3_Qt/install/include/opencv2
LIBS += -LE:/OpenCV3.3_Qt/install/x86/mingw/lib \
-llibopencv_aruco330 \
-llibopencv_bgsegm330 \
-llibopencv_bioinspired330 \
-llibopencv_calib3d330 \
-llibopencv_ccalib330 \
-llibopencv_core330 \
-llibopencv_datasets330 \
-llibopencv_dnn330 \
-llibopencv_dpm330 \
-llibopencv_face330 \
-llibopencv_features2d330 \
-llibopencv_flann330 \
-llibopencv_highgui330 \
-llibopencv_img_hash330 \
-llibopencv_imgcodecs330 \
-llibopencv_imgproc330 \
-llibopencv_line_descriptor330 \
-llibopencv_ml330 \
-llibopencv_objdetect330 \
-llibopencv_optflow330 \
-llibopencv_phase_unwrapping330 \
-llibopencv_photo330 \
-llibopencv_reg330 \
-llibopencv_rgbd330 \
-llibopencv_saliency330 \
-llibopencv_shape330 \
-llibopencv_stereo330 \
-llibopencv_stitching330 \
-llibopencv_structured_light330 \
-llibopencv_superres330 \
-llibopencv_surface_matching330 \
-llibopencv_text330 \
-llibopencv_tracking330 \
-llibopencv_video330 \
-llibopencv_videoio330 \
-llibopencv_videostab330 \
-llibopencv_xfeatures2d330 \
-llibopencv_ximgproc330 \
-llibopencv_xobjdetect330 \
-llibopencv_xphoto330
这时看起来编译是都能通过的,但是程序总是异常退出 T_T
陆陆续续查了很多资料,这篇博文给了我启发:
https://blog.csdn.net/qq_21078557/article/details/78962135
QT中是可以自己设定build时的环境的!!!
于是就发现
![](https://i-blog.csdnimg.cn/blog_migrate/3ef1c0bacd739c4d2f6cc7df1fcaad95.jpeg)
这个PATH这里果然保存的最后一条还是opencv2.4.10时的路径!!
改成今天mingw编译之后和lib文件夹一起的bin的路径就好辣!!
希望之后做界面成功!!!!