亲证可用:http://www.jianshu.com/p/11959977589a

 

OpenCV for Linux/Mac

下载OpenCV后,cd进入指定目录,使用unzip命令解压
请提前安装Homebrew命令
先安装cmake工具然后cd进入解压后的文件夹

$ brew install cmake
$ mkdir release
$ cd release
$ cmake -G "Unix Makefiles" ..
$ make
$ sudo make install

如果没有意外,OpenCV已经安装成功。其中,lib文件存放在“/usr/local/lib”文件夹,h文件存放在“/usr/local/include”。

Terminal下调用OpenCV

进入开发工作目录,新建测试文件DisplayImage.cpp

$ vi DisplayImage.cpp

并插入以下代码:

#include <cv.h>
#include <highgui.h>
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;
}

新建配置文件CMakeLists.txt ,用于声称makefile文件,如下:

project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

编译两个文件

cd  <DisplayImage_directory> //进入DisplayImage.cpp文件所在目录
cmake .
make

运行编译好的结果(turin.jpg文件与DisplayImage在同一个目录下)

./DisplayImage turin.jpg

看到目标图片,美丽可爱的Turin就表示成功啦~当然这只是第一步,除了C++代码还要学会编写Makefile(CMake)文件哦

Xcode调用OpenCV库

创建一个空的command line工程

Command_line

选择合适的名字,然后进入主页面,并将main文件替换成如下代码:

main.cpp
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv/cvaux.hpp>
#include <fstream>
using namespace std; #define BYTE unsigned char int main(int argc, const char * argv[])
{
//这个地方的目录需要改成自己的
IplImage* img = cvLoadImage("/Users/Kingsley/Desktop/turin.jpg", 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");
return 0;
}

添加lib文件:右键点击工程名,选择“Add files to..”,使用快捷键“Command+Shift+G” 在弹出的Go to the Folder框里面输入:/usr/local/lib,全选该文件夹下的全部dylib文件,添加至工程。

添加lib文件查找支持: 双击工程名文件,进入“Build Settings”选项卡,在“Library Search Paths”栏(可以使用搜索功能)中输入“/usr/local/lib”

添加lib支持

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

Header Search Paths
 

Mac下OpenCV开发环境配置(Terminal和Xcode)的更多相关文章

  1. Mac下golang开发环境配置

    go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...

  2. 【工匠大道】Mac下Java开发环境配置简述

    本文地址 原文地址 分享提纲: 1. 下载JDK1.7 2. 配置java_home 3 .安装tomcat 4 .安装eclipse或者myeclipse 5.  mysql安装 破解版下载请参考M ...

  3. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

  4. mac电脑使用,开发环境配置指南

    mac电脑使用,开发环境配置指南 前端工具链,mac下都很好用 用brew来装软件 用brew cask来装应用 Introduction · macOS Setup Guidehttp://sour ...

  5. 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  6. windows下spark开发环境配置

    http://www.cnblogs.com/davidwang456/p/5032766.html windows下spark开发环境配置 --本篇随笔由同事葛同学提供. windows下spark ...

  7. Linux—CentOS7下python开发环境配置

    CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...

  8. Metabase在Windows下的开发环境配置

    Metabase在Windows下的开发环境配置 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} Metabase在Wind ...

  9. deepin linux 下C开发环境配置

    # deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...

随机推荐

  1. Django:Admin后台网页标题和站点名称的修改

    需要修改app的admin.py文件 #修改index的admin.py文件 from django.contrib import admin from index.models import * # ...

  2. Go指南 - 笔记

    Go指南 - 笔记 标签(空格分隔): Go Go指南 一.基础 1.包 每个Go程序都是由包构成的. 程序从main包开始运行. 包名与导入路径的最后一个元素一致 2.导入 分组导入:使用圆括号组合 ...

  3. [shell]关闭超时的进程

    应同事要求,写了个shell, 主要功能为查找超时的进程,并关闭! 调用方式: shell_sheep :  为进程名 30 : 为30分钟 从打印的日志能看出会多两个PID,不要惊慌,由于你执行时会 ...

  4. windows7 64位机上安装配置CUDA7.5(或8.0)+cudnn5.0操作步骤

    按照官网文档 http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#axzz4TpI4c8v ...

  5. Java并发工具类(四):线程间交换数据的Exchanger

    简介 Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法 ...

  6. 【linux报错】安装好虚拟机后,挂载光盘报错:mount:you must specify the filesystem type

    问题现象: 问题原因: 当时光盘的“已连接”的勾没有勾上 解决后:

  7. MySQL与DevC++的连接问题

    0.引言 MySQL作为当前的一个主流的开源的关系型数据库,受到大家的广泛关注.DevC++也作为一个开源的简单的C++编辑器,有着比VS更简便更快捷的编译.但是目前网上,却很少有对 MySQL连接D ...

  8. Laya LoaderManager小记

    LoaderManager 类用于用于批量加载资源.此类是单例,不要手动实例化此类,请通过Laya.loader访问.全部队列加载完成,会派发 Event.COMPLETE 事件:如果队列中任意一个加 ...

  9. C#中字符串 "驻留"与Lock(转载)

    class TestWorker 2 {         3     public void DoMultiThreadedWork(object someParameter) 4     { 5   ...

  10. Codeforces1101 | EducationalRound58 | 瞎讲报告

    目录 Educational Codeforces Round 58 (Rated for Div. 2) A. Minimum Integer B. Accordion C. Division an ...