opencv for linux mac,Mac下使用OpenCV与在Xcode下使用OpenCV详解

最近刚入手一台MacBook Air,一直没有时间搭建编程环境,这两天终于挤出时间开始使用Mac系统。目前的编程工具主要为Eclipse以及xcode,笔者首先选择了使用Xcode,由于本人长期使用C++从事图像处理方面的工作,所以安装OpenCV就成了编程开始前的第一步。

系统环境:ML10.8.2

XCode版本:4.5.2

OpenCV版本:2.4.3

Eclipse版本:Juno Service Release 1

在这里特别提醒大家:

OpenCV中文官方网站介绍的“opencv在Mac OS系统下的安装方法”已经严重过期,我已经试过了,失败,而且这个方法不是opencv for mac的,而是opencv for IOS的,希望大家不要再走弯路尝试了。

为了方便刚刚接触mac的朋友,我在这里首先说明下opencv在mac下的形式。主要有两种:1. OpenCV for Mac  2. OpenCV for IOS 其中IOS的版本是为了让你的opencv使用在iphone或者ipad项目中的,即是给编写跑在IOS系统中的程序用的。而MAC的版本是给编写跑在MAC系统中的程序用的,这点非常重要,大家一定要根据自己的需求,而下载对应的版本。笔者就是因为开始弄不清楚这两个版本的区别而走了很多的弯路,现在和大家分享,希望有所帮助。

下面附上opencv官方网站的两个版本的下载链接:

好了,下面进入正题,笔者首先介绍OpenCV for Mac,即编写在mac系统上可以运行的C++程序。

一、安装OpenCV for MAC

1.    首先下载opencv for mac安装源文件,解压缩

2.    安装cmake程序。笔者使用的是Homebrew,在终端中输入:“brew install cmake”,自动安装cmake。

3.    进入存放解压后的opencv文件夹,新建一个空的文件夹release,进入该文件夹,编译安装opencv,使用命令如下:

mkdir release

cd release

cmake -G "Unix Makefiles" ..

make

sudo make install

4.    安装好的lib文件存放在“/usr/local/lib”文件夹,h文件存放在“/usr/local/include”。

至此,opencv for Mac 安装完毕,参考的网址如下:

http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation

http://tilomitra.com/opencv-on-mac-osx/

二、在MAC下使用OpenCV

1. 新建DisplayImage.cpp文件,代码如下

#include

#include

using namespace cv;

int main( int argc, char** argv )

{

Mat image;

image = imread( argv[1], 1 );

if( argc != 2 || !image.data )

{

printf( "No image data \n" );

return -1;

}

namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );

imshow( "Display Image", image );

waitKey(0);

return 0;

}

2. 新建CMakeLists.txt文件,代码如下:

project( DisplayImage )

find_package( OpenCV REQUIRED )

add_executable( DisplayImage DisplayImage )

target_link_libraries( DisplayImage ${OpenCV_LIBS} )

3. 编译两个文件

cd

cmake .

make

4. 运行编译好的结果

./DisplayImage lena.jpg

三、在XCode中使用OpenCV

1. 创建一个空的command line工程。

2. 在main.cpp中粘贴以下代码:

//

//  main.cpp

//  FbyCharacterNormalization

//

//  Created by Boyuan Feng on 13-1-24.

//  Copyright (c) 2013年 Boyuan Feng. All rights reserved.

//

#include

#include

#include

#include

#include

using namespace std;

#define BYTE unsigned char

int main(int argc, const char * argv[])

{

// insert code here...

#if 1

//get the image from the directed path

IplImage* img = cvLoadImage("/Users/boyuanfeng/aaa.bmp", 1);

//NSLog(img);

//create a window to display the image

cvNamedWindow("picture", 1);

//show the image in the window

cvShowImage("picture", img);

//wait for the user to hit a key

cvWaitKey(0);

//delete the image and window

cvReleaseImage(&img);

cvDestroyWindow("picture");

#endif

//return

return 0;

}

3. 添加lib文件:右键点击工程名,选择“Add files to..”,在文件选择对话框弹出来时输入“/”,在弹出的路径框中输入:/usr/local/lib,全选该文件夹下的全部dylib文件,添加至工程。

5. 添加lib文件查找支持: 点击工程名文件,进入“Build Settings”选项卡,在“Library Search Paths”栏中输入“/usr/local/lib”

6. 添加头文件:点击工程名文件,进入“Build Settings”选项卡,在“Header Search Paths”栏中输入:“/usr/local/include  /usr/local/include/opencv”

7. 编译运行整个工程,运行成功~~

四、在Eclipse中使用OpenCV

1. 按照正常的步骤,使用eclipse建立一个Mac C++工程,包含一个cpp文件,代码如xcode中的代码相同即可。

2. 右击工程名, 选择“Properties”,在属性配置页中选择,点击C/C++ Build, 在下拉选项中选择 Settings. 在右边的选项卡中选择 Tool Settings。

3. 在GCC C++ Compiler选项列表中选择Includes,在Include paths(-l)中添加安装好的opencv的头文件存放目录:/usr/local/include/

4. 在MacOS X C++Linker选项列表中选择Library,在Library search path (-L)中添加安装好的opencv Lib文件存放目录:/usr/local/lib/

5. 在MacOS X C++Linker选项列表中选择Library, 在Libraries(-l) 中依次点击“+”号,添加需要使用的Lib文件(通常情况下,使用前三个):

opencv_core opencv_imgproc opencv_highgui opencv_ml opencv_video opencv_features2d opencv_calib3d opencv_objdetect opencv_contrib opencv_legacy opencv_flann

6. 重新build all工程,大功告成~~*^_^*

--------------------------------------分割线 --------------------------------------

OpenCV的详细介绍:请点这里

OpenCV的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值