opencv在MAC下的安装
版本信息
MAC版本:10.10.5
Xcode版本:7.2
openCV版本:2.4.13
安装步骤:
- 联网
- 安装brew,在终端输入指令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
不知道指令以后会不会更改,先把brew的官网放这http://brew.sh/index_zh-cn.html
3.安装cmake,在终端里面接着输入(需要输入密码)
brew install cmake
值得注意的是有些强迫症的童鞋会在指令开头加了’sudo’,嗯,我这么用就报错了。
4.安装opencv
还是在终端里面,先把当前路径跳转到(也就是用’cd’指令)opencv的路径,然后再输入以下指令
>sudo cmake -G "Unix Makefiles" >sudo make -j8 >sudo make install
这里一定要用’sudo’,这不是强迫症的问题,我第一次少了’sudo’结果文件没有复制到usr文件夹里面
这些都做好了之后,/usr/local/include下会生成opencv与opencv2子文件夹,里面包含了许多opencv的头文件。
/usr/local/lib下也会生成opencv的相关的库。
5.在Xcode的设置
如图,找到Search Path中找到Header Search Path 和 Library Search Path,加入文件路径。
在Header Search Path中加入以下路径: /usr/local/include /usr/local/include/opencv
在Library Search Path加入以下路径: /usr/local/lib
确认C++ Standard Library 是否为libstdc++(一般不会出问题),
在工程中添加路径/usr/local/lib中需(所)要(有)的.dylib(文件太多了还是新建一个文件夹保存以下吧……),当然/usr是隐身的,访问该路径直接输入cmd+shift+g。
运行代码(网上代码比较多,为了避免代码小白不会更改文件路径直接找了一个即运行即可用的代码,也就是运行过后会显示摄像头中经过边缘处理的画面,小白切记点击esc来正常退出程序)
//代码出处:http://www.bubuko.com/infodetail-826748.html // main.cpp // Camera_Capture // // Created by zhoufan on 15/5/24. // Copyright (c) 2015年 zhoufan. All rights reserved. // #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; }
参考资料:
1.http://blog.csdn.net/ramonyang/article/details/37603933
2.http://www.bubuko.com/infodetail-826748.html
本文来自博客园,作者:MrYu4,转载请注明原文链接:https://www.cnblogs.com/MrYU4/p/15778899.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了