Xcode配置opencv4.0.1
2019-07-22 本文已影响0人
冠军的试练
标签(空格分隔): 计算机图形学 OpenCV
由于本人第一次在xcode配置opencv,难免会踩到一些坑。下面将详细讲解opencv安装过程,我不建议直接到官网https://opencv.org/下载安装,因为很多人试过都不成功,在安装过程中很可能会报各种各样的错误,这实际上对初学者入门计算机视觉设置了障碍。由于缺乏值得信赖的文档,我建议还是直接下载Homebrew来管理opencv,Homebrew是负责管理缺失macOS包管理器,相当于python的pip包管理器。
1、首先你要安装好Xcode,才能跳过这一步。
2、安装Homebrew
如果你已经安装了Homebrew就不需要再重新安装了
zhoujianwendeMacBook-Air:~ zhoujianwen.cn$ brew --version
Homebrew 2.0.3-28-gd8c6f6b
Homebrew/homebrew-core (git revision 07849; last commit 2019-03-09)
否则执行以下操作
sudo /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
image_1d5g82bmo197g1tkk1nr69d91q429.png-36.3kB
brew install opencv
安装过程
zhoujianwendeMacBook-Air:~ zhoujianwen.cn$ brew install opencv
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/opencv-4.0.1.sierra.bottle.
Already downloaded: /Users/zhoujianwen.cn/Library/Caches/Homebrew/downloads/3402a3f010ed79e2cbead1051823884070b1829c92e6eb26aa59d6ea13e4034f--opencv-4.0.1.sierra.bottle.tar.gz
==> Pouring opencv-4.0.1.sierra.bottle.tar.gz
Warning: opencv dependency gcc was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
/usr/local/Cellar/opencv/4.0.1: 679 files, 227.3MB
检验一下OpenCV4是否安装成功
其中/usr/local/Cellar/opencv/4.0.1就是opencv文件库路径,你可以终端命令打开看下
open /usr/local/Cellar/opencv/4.0.1
查看一下OpenCV链接器标志,请运行。
pkg-config --cflags --libs opencv4
,其中数字4是你的版本号。执行成功之后,会显示如下信息。
image_1d5gsdrsng84vec1psa18ilfhp13.png-26.6kB
如查获取链接器的命令不起作用,你可能需要指定一下openct4.pc文件位置
pkg-config --cflags --libs /usr/local/Cellar/opencv/4.0.1/lib/pkgconfig/opencv4.pc
image_1d5gsnt6kdho3887m9cvj4qg1t.png-30.3kB
上面显示OpenCV包含的库的所有路径。
3、在Xcode中运行演示代码
首先在Xcode中创建C++项目,语言选择C++。
3.1、设置标题搜索路径
image_1d5jj7peqbj94t8rnl1c5d17aa9.png-102.1kB3.2、设置库搜索路径
image_1d5jjcp3um611rgc1rvvobskttm.png-45.3kB3.3、在项目中右键新建一个 new group,命名为lib,由于要添加文件目录的文件在隐藏路径中,需要shift+command+g才能访问,并把/usr/local/cellar/opencv/4.0.1/lib 路径目录下的所有*.dylib文件都添加到新建的group
image_1d5jjs05kklf1mrod2fk2jh0e1g.png-107.6kB image_1d5jjso3917mp5d1h091u3q17671t.png-79.7kB3.4、配置工作目录,方便使用相对路径访问图片资源
image_1d5jk8e08ur91j7g1k8ig4b1tpu2a.png-106.9kBimage_1d5jkd0cjvjprqe145s1vektqm2n.png-79kB
3.5、测试Demo
我在opencv4.0.1版本上挣扎了一段时间,决定换回3.4的版本,由于新版本变化比较大,并不完全兼容旧版本,有时候为了修改旧版本参数类型,不得已要翻看官方的文档资料,即使查到也对不上号,是非常麻烦的事情。
比如CvPoint2D32f这种类型在3.4版本是存在,在4.0版本完全是不存在。
image_1d5jp87q81a2r17481860vulqu34.png-154kB
参考