请注意,不要从opencv官网上按照那个openCV for ios 安装。那个是针对ios开发的版本!
搜了不少网站上安装的文章,发现好多都是转载,甚至并没有标明出处。所以其实正确性不敢保证。总体思路很简单,但是细节上都有些错误。还是自己重新写一个比较靠谱。好了,现在我们看看要运行OpenCV需要什么。
(1)Xcode
苹果机自带,大家应该都有吧,没有去苹果商店免费下载就行。
(2)CMake
CMake官网下载最新mac包,双击即可。
(3)OpenCV
OpenCV官网下载,需要编译,编译的时候需要依靠CMake。这正是容易出问题的地方。我这里下载的3.0的版本。版本2的尝试按照步骤测试,会有一定的错误出现,不敢保证完全没问题。
文件准备好我们就准备安装编译啦。
首现注意的是CMake如果用dmg的安装包安装,命令行是找不到cmake的命令的。方法当然有,不过我选择比较简单的图形界面安装进行介绍。
打开opencv的界面,增加新目录build。之后我们编译的结果都会放在这里。
在Application中找到CMake双击开始,修改下图方框中的内容。两个路径,以及编译设置。
点击configure,运行完毕点击generate。这时候你会发现新建的build文件夹下面多出很多文件,这是编译输出的结果。
到终端下面,用cd命令切换到新建的build文件夹下面,运行编译命令
make (这个命令得花几分钟时间运行)
sudo make install
大功告成,这样你的opencv就安装成功啦。是不是很简单。然而我做到这里还是一头雾水,具体怎么使用呢?下面是Xcode环境和Python环境的使用方法。
Xcode环境
OpenCV官方网站上在Linux下用GCC和Cmake编译的方法,但是在这之前其实有些参数需要设置才行。我这里用Xcode重复相同的代码,看看具体是怎么设置的吧。
打开Xcode, 点击“Create a new Xcode projext”, 然后选择默认的“command line tool”,下一步输入你的project的名称,这样一个简单的project就创建好了。
将下面代码拷贝到main.cpp中。这段代码就是官网上得那个例子。
#include
#include
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out \n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
1. Include path
2. Library path
3. Other Linker Flags
三个设置截图页面如下。输入的内容我粘贴在下面,复制即可。这里请注意安装版本3的opencv,版本2会有些小问题。
1. /usr/local/include
2. /usr/local/lib
3. -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab
如果完全按照我上面的方法安装opencv, 2的路径应该是这样子:
/usr/local/lib
/Users/xing/programs/opencv-3.1.0/build/lib
/Users/xing/programs/opencv-3.1.0/build/3rdparty/lib
这样你的程序就可以编译啦,点击编译即提示成功。查看代码,做过简单c程序的应该能看懂,这个代码有一个输入参数,就是一个图像的路径。程序运行结果就是显示这张图片。
我的一个运行命令如下。
./csdn_project ~/Desktop/3.png
输出结果是打开我桌面上得3.png图片。
python环境
python环境下运行opencv非常简单。至于要“import cv2”即可。但是前提是需要将库的路径加入到python得搜索路径中。编辑mac的家目录下得.bashrc文件,export PYTHONPATH=$PYTHONPATH:'/usr/local/lib/python2.7/site-packages/'
这样python的import命令就可以搜索到opencv安装的地方啦。
这个网站上可以找到很多好的python运行的实例,可以提供参考。
附上一个可以在我本地运行的python脚本:
import cv2
import numpy as np
# 读取图像,进行图像偏移操作。
img = cv2.imread('./test.png',0)
rows,cols = img.shape
M = np.float32([[1,0,100],[0,1,50]])
dst = cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('img',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()