Opencv配置方法汇总:Xcode/CLion/Qt

Opencv版本3.4.1

重复的基本步骤我会给出网上各位大神的链接,下面是我自己遇到的一些特殊问题(网上又很难找到)的汇总,希望对你有帮助!

我自己的opencv是通过CMake编译安装的。

Xcode:

具体步骤这位大神写的,

这里是传送门:https://blog.csdn.net/baidu_36316735/article/details/53168438

注意,最后一步Other Linker flags如果配置不成功,可以试试设置成-all_load


这样在Xcode环境下就配置好了。Mac 系统下建议先配置Xcode,这个应该是另外两个IDE配置的基础。

CLion

基本不需要配置,但是每个工程的CMakeLists.txt都需要修改,否则会出现symbol(s) not found for architecture x86_64

传送门指向我自己写的另一篇博文https://blog.csdn.net/isee_nh/article/details/80386369

Qt

我自己的版本是

Qt Creator 4.5.1

Based on Qt 5.10.1 (Clang 7.0, 64 bit)

我自己做的是一个Qt界面读取摄像头,拍照,然后图像处理,最后保存为bmp文件的程序。因为涉及到的库比较多,还有调用摄像头需要VideoCapture模块,所以光是imgproc,core,highgui这几个模块就不够用了,Qt一直很不配合地报错。

重点是添加pro文件后面包含的动态库路径

INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/opencv2

LIBS += -L/usr/local/lib \
     -lopencv_core \
     -lopencv_highgui \
     -lopencv_imgproc \
     -lecomlodr \
     -lopencv_calib3d \
     -lopencv_dnn \
     -lopencv_features2d \
     -lopencv_flann \
     -lopencv_imgcodecs \
     -lopencv_ml \
     -lopencv_objdetect \
     -lopencv_photo \
     -lopencv_shape \
     -lopencv_stitching \
     -lopencv_superres \
     -lopencv_video \
     -lopencv_videoio \
     -lopencv_videostab \

干脆一次把17个动态链接库全部添加上了,终于库链接这块不再报错了

不过这个动态库该从哪里找呢?是在/usr/local里面,但是直接点图标是进不去的。点击访达->前往->前往文件夹手动输入地址就可以了。打开lib,里面就是我们需要的动态库。左下角有小箭头的不要管他,文件名里面的版本号也不要管他,把文件名里的lib改成-l,按照上面的方式添加就可以了。

如果编译还是报错,可能是运行时的环境变量有问题,附上另外一篇传送门https://blog.csdn.net/tianzhaixing2013/article/details/52077064 最后一幅图画的很清楚

这样Qt配置OpenCV就基本解决了

后面是我自己写程序的一个小小的错误:在MainWindow.cpp里面忘了给图像处理函数mySobel前面加上MainWindow::,导致调用它的函数找不到它。编译器输出:Undefined symbols for architecture x86_64:

后面给出了找不到的函数和调用它的函数。这是因为我把所有的子函数(除了槽函数)都放在MainWindow这个类的private里面,但是在MainWindow.cpp里声明图像处理函数mySobel时,如果没有加上类名,编译器就默认它MainWindow不是这个类的成员,而在类MainWindow的private区域里声明了的void mySobel(&Mat image),在主函数里又找不到它的定义,自然会报错。出现这个错误的根本原因是对C++理解不够,还要再学习理论基础



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值