Mac 平台下安装 OpenVC
opencv for Mac
I 背景
Mac(Ios 9.0), 时间: 2015年11月.
本人也是小白,在网上爬了几天才安装好.
II 安装OpenCV for Mac
- 首先下载opencv for mac的安装源文件, opencv官网:http://opencv.org
- 安装cmake程序. 下载cmake的dmg文件安装即可, cmake官网地址:https://cmake.org/
这里如果你已经安装了
- 通过终端进入存放解压后的opencv文件夹(cd opencv的解压文件),然后使用如下编译命令安装opencv(就是还是在终端输入):
- sudo cmake -G "Unix Makefiles"
(这里要求输入密码,就是你每次下载了东西要安装的时候都会要你输入的那个密码
但是需要注意的是,在你输入密码的时候,密码是不会显示在终端中的)
- sudo make -j8
- sudo make install
- sudo cmake -G "Unix Makefiles"
- 经过步骤3则OpenCV已经被Compile完成,也就是OpenCV安装完成了, 并且相应的lib文件存放在“/usr/local/lib”文件夹,h文件存放在“/usr/local/include”。
(这里, 由于/usr是隐藏在硬盘HD中的,你可以进入Finder,然后 command + shift + h进入, 或者在终端cd /usr/local进入)
III 在XCode中使用OpenCV
- 创建一个空的command line工程
- 将下面的代码复制黏贴到工程下的main.cpp中
#include <iostream> (注意: < 是中文小于号, 需要改过了才能使用)
#include <opencv2/core/core.hpp> (注意: < 是中文小于号, 需要改过了才能使用)
#include <opencv2/highgui/highgui.hpp> (注意: < 是中文小于号, 需要改过了才能使用)
#include <opencv2/opencv.hpp> (注意: < 是中文小于号, 需要改过了才能使用) using namespace std;
using namespace cv; IplImage* doCanny(IplImage* image_input,
double lowThresh,
double highThresh,
double aperture)
{
if(image_input->nChannels != 1)
return (0); IplImage* image_output = cvCreateImage(cvGetSize(image_input),
image_input->depth,
image_input->nChannels); cvCanny(image_input,image_output,lowThresh,highThresh,aperture); return(image_output);
} int main(int argc, char* argv[])
{
cvNamedWindow("Camera" , CV_WINDOW_AUTOSIZE ); CvCapture* capture = cvCreateCameraCapture(CV_CAP_ANY); assert(capture != NULL); IplImage *frame = 0;
frame = cvQueryFrame(capture); IplImage *frame_edge = cvCreateImage(cvGetSize(frame),
IPL_DEPTH_8U,
1);
while(1)
{
frame = cvQueryFrame(capture);
if(!frame) break; cvConvertImage(frame,frame_edge,0);
frame = cvCloneImage(frame_edge); frame_edge = doCanny(frame_edge,70,90,3); cvShowImage("Camera",frame_edge);
char c = cvWaitKey(15);
if(c == 27) break;
} cvReleaseCapture(&capture);
cvReleaseImage( &frame_edge );
cvReleaseImage( &frame); return (int)0;
}
- 添加lib文件:右键点击工程名,选择“Add files to..”,在文件选择对话框弹出来时输入“/”,在弹出的路径框中输入:/usr/local/lib,全选该文件夹下的全部dylib文件,添加至工程。
- 添加lib文件查找支持: 点击工程名文件,进入“Build Settings”选项卡,在“Library Search Paths”栏中输入“/usr/local/lib”
- 添加头文件:点击工程名文件,进入“Build Settings”选项卡,在“Header Search Paths”栏中输入:“/usr/local/include /usr/local/include/opencv”
- 编译运行整个工程,运行成功~~
Mac 平台下安装 OpenVC的更多相关文章
- Mac平台下的抓包神器 —— Charles
在开发界,“抓包”这个词想必大家耳熟能详.通过抓包工具,能够获取设备在网络通讯过程中的交换数据包.在 Windows 平台上,笔者使用较多的是 Fiddler 工具,但是由于 Fiddle 使用 C# ...
- 在Window平台下安装xgboost的Python版本
原文:http://blog.csdn.net/pengyulong/article/details/50515916 原文修改了两个地方才安装成功,第3步可以不用,第2步重新生成所有的就行了. 第4 ...
- wget Mac OS 下安装
wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...
- 在Mac OSX下安装Microsoft Calibri字体
参考: Where can I find default Microsoft fonts Calibri, Cambria? 在Mac OSX下安装Microsoft Calibri字体 1.下载: ...
- 【android开发】如何在Linux平台下安装JDK环境
原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...
- Windows 平台下安装Cygwin后,sshd服务无法启动
Windows 平台下安装Cygwin后,sshd服务无法启动 系统日志记录信息: 事件 ID ( 0 )的描述(在资源( sshd )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文 ...
- Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE Windows平台下安装Arduino IDE Windows操作系统下可以使用安装向导和压缩包形式安装.下面详细讲解这 ...
- 在Windows平台下安装与配置Memcached及C#使用方法
1.在Windows下安装Memcached 资料来源:http://www.jb51.net/article/30334.htm 在Windows平台下安装与配置Memcached的方法,Memca ...
- Arduino可穿戴教程Linux平台下安装Arduino IDE
Arduino可穿戴教程Linux平台下安装Arduino IDE Linux平台下安装Arduino IDE Linux平台下的安装方式和Windows下的zip形式安装是类似的,只是Linux下的 ...
随机推荐
- 一个 Android 任务队列的实现
最近在做Android项目时遇到这样一个问题:客户端向服务器请求数据,而在网络信号太差的情况下,数据迟迟不到,甚至丢失.服务器为了解决这个问题做了频繁的重发,android 客户端就会收到很多不想要的 ...
- 02---CSS整理
一.概述 CSS(cascading style sheet) 层叠样式表 提供比HTML更强大的页面排版.美化工具 CSS将网页内容和显示样式进行分离,提高了显示 ...
- Git链接到自己的Github(1)简单的开始
好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化. 1.在ubuntu中安装git $ sudo apt-get in ...
- careercup-C和C++ 13.7
13.7 写一个函数,其中一个参数是指向Node结构的指针,返回传入数据结构的一份完全拷贝. Node结构包含两个指针,指向另外两个Node. C++实现代码: typedef map<Node ...
- [Effective C++ --010]令赋值操作符返回一个reference to *this
差不多最经典的就是这个了: x = y = z = ; 解读为: x = (y = ( z = )); 如果没有返回值,上述代码就不能通过编译. 其实看到标题就差不多明白这一条了,但是为什么连续赋值时 ...
- 文件I/O之fcntl函数
fcntl函数可以改变已打开的文件的性质. #include <fcntl.h> int fcntl( int filedes, int cmd, ... /* int arg */ ); ...
- 使用 Eclipse 的 Navigator Link Helper 实现导航器与编辑器的关联
概要 Link With Editor 是 Eclipse 内置功能中十分小巧,但却异常实用的一个功能.这个开关按钮 (Toggle Button) 出现在各式导航器视图 ( 例如 Resource ...
- Internationalization
Internationalization If you are building a site for an international audience, you will likely want ...
- VIM7.3中文手册
INDEX *index.txt* For Vim version 7.3. 最近更新: 2010年7月 VIM 参考手册 by Bram Moolenaar 译者: Willis h ...
- js中点击事件方法三种方式的区别
在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 (1)注意函数名没有双引号. ...