1:下载opencv包
https://opencv.org/releases.html (我选的3.2,下载个iOSpage和source)
2.安装Homebrew,这是个软件管理工具
直接执行命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装好后可以执行:brew -v 查看版本 brew update 更新 brew list 查看已安装的软件
可以open /usr/local/cellar 这里可以看到利用brew下载安装的所有软件
3.安装cmake
利用brew安装: brew install cmake
4.安装opencv
cd到下载好的opencv source包下
执行命令:
命令一:mkdir build
命令二:cd build
命令三:make -G "Unix Makefiles" ..
命令四:make
命令五:sudo make install
到此安装就完成了
可以利用下面代码测试,不过Xcode要建立C++项目
Xcode新建 --Mac OS -- Command Line Tools
选择C++语言
另外配置Xcode环境,在build setting下搜索 search path,设置一下四项
Always search User paths : true
Framework search path: /usr/local/lib
Header Search Paths :/usr/local/include
Library Search Paths :/usr/local/lib
在项目中新建一个文件夹,选"Add files to ...",按command+shift+g输入路径/usr/local/lib,把需要的dylib库导入项目。
运行一下代码
#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main( int argc, char** argv ){
//下面有个图片路径,改下自己的图片路径
string imageName("/Users/zhengqiankun/Desktop/001.jpg"); // by default
if( argc > 1) {
imageName = argv[1];
}
Mat image;
image = imread(imageName.c_str(), IMREAD_COLOR); // Read the file
if( image.empty() ){
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", WINDOW_AUTOSIZE ); // Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
运行打开图片就没问题了。
再搭建过程中遇到的问题。
之前按照另一种方式,就说opencv没从官网下载而是直接用brew install opencv安装的,下载好后发现/usr/local/cellar里下了好多东西,
要的只是下面的一个opencv。
这种方式步骤为
1.安装Homebrew
2.安装cmake
brew install cmake
3.安装opencv
brew install opencv
这就可以了,用xcode测试时遇到一个问题,找不到opencv2。因为下载后的opencv2在opencv4文件夹下。所以在Xcode的search path里倒入头文件时要写成
Always search User paths : true
Framework search path: /usr/local/lib
Header Search Paths :/usr/local/include/opencv4
Library Search Paths :/usr/local/lib
把头文件路径改下就可以了,和上面一样也要建个文件夹导入要用的动态库.
网友评论