macOS 下配置 OpenCV3 与 Python3 环境指南
本文介绍在 macOS 系统中通过 Homebrew 配置 OpenCV3 与 Python3 环境的完整流程。针对常见编译错误、protobuf 下载失败及 C++ 链接冲突等问题提供解决方案,并说明如何在 OpenCV2 与 OpenCV3 之间进行版本切换,确保开发环境稳定可用。
原系统已手动通过 CMake 和 make 安装了 OpenCV3,并预装了系统自带的 Python 2.x。现计划将开发环境迁移至 Python 3 配合 OpenCV 3 的组合。
安装 Python 3
brew install python3
若系统中尚未安装 Homebrew,请先行完成安装。
注意:不要直接使用 pip3 进行安装。
起初尝试使用如下命令:
pip3 install numpy pip3 install opencv-python
尽管该方式看似成功,但无法调用 imshow 及视频处理相关功能,导致实际开发受限。
移除原有 OpenCV 版本
进入之前 CMake 生成的 build 目录,执行以下命令:
make uninstall
安装 OpenCV 3
brew install opencv3 --with-contrib --with-python3 --without-python
参数 --with-contrib 用于安装额外的 contrib 模块。
若未添加 --without-python 参数,编译过程会报错,提示无法同时支持 Python 3 和 Python 2。
随后进入漫长的下载与编译阶段。
编译期间涉及 gcc 的构建,耗时约一个半小时。
部分步骤开启 VPN 可加速,但部分步骤反而可能更慢。
关于 protobuf 报错处理
在 OpenCV 3 的 CMake 配置阶段,可能会遇到 protobuf 下载失败的错误。
此时可执行以下命令手动安装:
brew install protobuf
之后重新执行之前的安装命令。
建立链接
安装完成后的提示信息指出,由于 OpenCV 3 与原有 OpenCV 存在文件冲突,因此未将其直接放置于 /usr/local 目录下。
此时 Python 环境已可使用,但 C++ 调用仍不可用。
需执行以下命令以解决链接问题:
brew link opencv3 --overwrite --force
版本切换
若需同时使用 OpenCV 2 和 OpenCV 3,可通过以下命令在两者间切换:
brew unlink opencv3 brew link opencv --force --overwrite
以上即为 macOS 下配置 OpenCV3 与 Python3 环境的相关步骤,供参考。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













