<!doctype html>
OS X 10.10 环境通过Homebrew同时安装OpenCV 2和3
前述
我在Mac上配置OpenCV花费过很长时间,使用Win平台的同学大多数会给VS安装OpenCV库,在尝试过使用Xcode配置并建立OpenCV工程后,由于对Xcode环境的陌生以及其本身对C++支持的不完善,边很快放弃了。
下面,具体但不是精简地说下OS X 10.10 中使用OpenCV的两种方式。
1、CMake + OpenCV + 文本编辑器
2、CMake + CLion
依赖环境
本文章使用环境:OS X 10.10.5(最新,今秋会推出10.11正式版)
Xcode以及Command Line Tools
Apple使用的是Clang编译器,然而Mac系统本身并不自带编译器,顺便说一句Linux的发行版附有编译器gcc,所以我们需要安装Xcode使我们的Mac具有编译环境。 (btw,最近的XcodeGhost事件其中一个原因就是因为Xcode包含了Clang编译器,进而被修改使得编译出的App有一些后门)
- Xcode可以再App Store下载安装(CLT并不会附带安装)
- Command Line Tools有两种安装方式:
- 1、在Terminal中输入参考链接
xcode-select --install
- 2、官网下载安装https://developer.apple.com/downloads/选择
Command Line Tools OS X 10.10 for Xcode 7
Homebrew
再我重装了一次系统后深刻地体会到了Homebrew这一Mac缺少的包管理器的重要性,是的,我给Mac重装了系统。 官网地址 - 或者直接Terminal输入命令
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装步骤
安装CMake,Terminal输入
brew update
brew install cmake
养成习惯在brew安装其他包之前进行brew update,并且作为Homebrew是否安装成功的检验
安装OpenCV 2以及3,Terminal输入
brew tap homebrew/science
//安装OpenCV 2
brew install opencv
//安装OpenCV 3
brew install opencv3
至此,OpenCV的安装工作已经完成,下面介绍建立OpenCV工程
OpenCV Tutorial
新建CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
//OpenCVTutorial是我的工程名,可以替换为你自己的
project( OpenCVTutorial )
//这里将会使用OpenCV 2,所以是OpenCV
find_package( OpenCV )
include_directories( ${OpenCV_INCLUDE_DIRS} )
//OpenCVTutorial是工程名,OpenCVTutorial.cpp是源文件
add_executable( OpenCVTutorial OpenCVTutorial.cpp )
//OpenCVTutorial是工程名
target_link_libraries( OpenCVTutorial ${OpenCV_LIBS} )
新建OpenCVTutorial.cpp源文件
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"
using namespace cv;
int main(){
VideoCapture cap(0);
while (true){
Mat Webcam;
cap.read(Webcam);
imshow("Webcam", Webcam);
}
waitKey(1);
}
将上述的的两个源文件放入同一目录
在我这里是~/Documents/OpenCVProjects/OpenCVTutorial 如你所知,~表示你的Home主目录
cd ~/Documents/OpenCVProjects/OpenCVTutorial
开始CMake和编译,Terminal输入
cmake .
make
编译成功,运行
./OpenCVTutorial
以上的例程使用了OpenCV 2的库,下面会在演示OpenCV 3的配置
OpenCV 3单独说明
使用OpenCV 3需要改变两样东西
一个是库文件的链接
另一个是CmakeLists
断开OpenCV 2的库链接,Terminal输入
brew unlink opencv
链接OpenCV 3的库文件
brew ln opencv3 --force
更改CnakeLists.txt
把
find_package( OpenCV )
改为
find_package( OpenCV 3 )
保存
重新CMake和编译
时间: 2024-10-25 05:23:36