安装 OpenCV C++ 库以及运行相应程序

扯两句废话

之前用惯了 Python,以为使用 C++ 的模块也是直接一行命令安装然后再直接编译就可以了,没想到并没有这么简单,还是需要其他的一些步骤。

于是这两天在不会 C++ 上吃了大亏 orz。

Ubuntu 安装 OpenCV

1
sudo apt-get install libopencv-dev

没错,一行命令完事。

一开始我是老老实实下载、编译的(因为搜安装教程完全没看到用 apt 安装的,于是我以为只能编译来安装了 orz),结果配了半天环境变量还是找不到 OpenCV 的包,最后这行命令下去直接就一切 ok 了。

检查 OpenCV 是否安装成功:

1
pkg-config --cflags --libs opencv

如果输出的那一大堆不是报错的那就说明安装成功了。

Mac 安装 OpenCV

1
brew install opencv

这样安装了还是要配置环境变量

配置 pkg-config 环境变量

1
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

把 OpenCV .pc 文件链接到 PKG_CONFIG_PATH

1
ln -s /usr/local/opt/opencv3/lib/pkgconfig/opencv.pc $PKG_CONFIG_PATH

这一步具体的路径就要看 opencv.pc 文件在哪里了,我的 Mac 上的是 opencv4.pc 文件

然后

环境变量配置好了之后应该就可以了,之后还是运行上面的命令来检查是否安装成功。详细的安装过程可以看这个教程

运行相应程序

如果源程序中引用了相应的模块那么编译的时候就要加入一些其他的内容了,比如如下:

1
g++ -std=c++11 main.cpp mangaLineSeparator.cpp -o main $(pkg-config --cflags --libs opencv4)

然后就生成了可执行程序 main 了。

总结

C++ 的模块的使用和 Python 还是有一些不同的,在处理问题的时候不要根据惯性思维来思考,不然就会在一些你意想不到的地方纠结……比如明明是编译的命令写错了,我却一直以为是模块没有正常安装……