环境问题总是头疼
参考
http://www.cnblogs.com/sook/archive/2013/08/15/3259317.html
http://blog.csdn.net/china_lzn/article/details/8363660
http://www.devtang.com/blog/2012/10/27/use-opencv-in-ios/
预备工作:
1.下载Homebrew 在Terminal中输入:
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
2.安装cmake 在Terminal中输入:
brew install cmake
开始安装opneCV
3.安装openCV 在Terminal中输入:
brew install opencv
如果出现
Error: No available formula for opencv
在输入brew install opencv前 先输入
brew tap homebrew/science
检查 Xcode->Preference->Downloads 下载Command Line Tools
之后会在
/usr/local/include下面找到opencv和opencv2的目录
在/usr/local/lib下面找到一堆libopencv的东西
设置xcode
xcode-->Build Settings
Library Search Paths /usr/local/lib 这里有libopencv等一堆
User Header Search Paths /usr/local/include
注意Build setting中的
Build Options 中有个 Compiler for c/c++/Objective-C
可能会用到brew install gcc
引入libopencv的包
在XCode中你的工程下建立一个NewGroup(方法:右键你的工程(左上,蓝色的那个)然后点击“New Group”)
然后,打开你的“Finder”(就是你mac下面那个条上,长的像人脸那个图标)然后此时,你同时按住 Shift Command g 这三个建, 然后会弹出来一个对话框,你在里输入“/usr/local”然后回车,它会转入local文件夹下,然后你按如下顺寻进入: Cellar-->opencv-->2.4.3-->lib 你现在已经进到了lib文件夹啦,你会看到一大堆以“dylib”结尾的文件,这些就是“动态库”,然后你找到以下三个动态库:
[a] libopencv_core.2.4.3.dylib
[b] libopencv_highgui.2.4.3.dylib
[c] libopencv_ml.2.4.3.dylib
把它们选中后(按住command建就可以多选)点住,直接拖到你在XCode中刚建好的那个NewGroup文件夹里,然后XCode会弹出个对话框,注意,不要勾选 “Copy items into destination group's folder (if needed)”, 然后点击“Finish”
代码
//
// main.cpp
// testopencv
//
// Created by xiao7 on 14-10-12.
// Copyright (c) 2014年 killinux. All rights reserved.
//
#include <iostream>
#include <opencv/highgui.h>
#include <opencv/cv.h>
int main(int argc, char** argv)
{
cvNamedWindow("Image", CV_WINDOW_AUTOSIZE);
IplImage *img=cvLoadImage("/Users/xiao7/Desktop/aaa.jpg", CV_LOAD_IMAGE_ANYCOLOR); //一定注意:在mac下,这里要填写对你图片的路径哦!
cvShowImage("image", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("image");
return 0;
}
###########最重要的是三个库
target_link_libraries(test opencv_core)
target_link_libraries(test opencv_highgui)
target_link_libraries(test opencv_ml)
helloworld代码:
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
int main(int argc, char** argv) {
//create a gui window:
namedWindow("Output",1);
//initialize a 120X350 matrix of black pixels:
Mat output = Mat::zeros( 120, 350, CV_8UC3 );
//write text on the matrix:
putText(output,
"Hello World :)",
cvPoint(15,70),
FONT_HERSHEY_PLAIN,
3,
cvScalar(0,255,0),
4);
//display the image:
imshow("Output", output);
//wait for the user to press any key:
waitKey(0);
return 0;
}
如果是g++编译:
g++ -I/usr/local/Cellar/opencv@2/2.4.13.7_5/include -L /usr/local/Cellar/opencv@2/2.4.13.7_5/lib -lopencv_core -lopencv_highgui -lopencv_ml main.cpp
如果是cmake编译
CMakeLists.txt为
cmake_minimum_required(VERSION 2.8)
project( test )
set(OpenCV_DIR /usr/local/Cellar/opencv@2/2.4.13.7_5)
INCLUDE_DIRECTORIES("${OpenCV_DIR}/include")
LINK_DIRECTORIES("${OpenCV_DIR}/lib")
add_executable(test main.cpp)
target_link_libraries(test opencv_core)
target_link_libraries(test opencv_highgui)
target_link_libraries(test opencv_ml)
mkdir build
cd build
cmake ..
make
./test
分享到:
相关推荐
win10下vs2019编译的opencv470+opencv_contrib,包含opencv python版本的pyd文件和自行编译opencv470的.cache文件,各位可以下载.cache文件自己编译opencv470。所编译的opencv470中的lib和dll不是一个单独的文件,博...
在opencv 3+的版本中,由于将SIFT,SURF这些有专利的算法单独提取到了opencv_contrib模块,因为官方给出的android sdk release版本中没有预先编译 opencv_contrib 至opencv库,要想在Android 中使用SURF, SIFT这些...
centos7环境下编译opencv4.5.2生成的so和jar
VS2010编译opencv3.1加contrib生成库文件
centos7环境下编译opencv4.5.4生成的so和jar
简介:使用 cmake 编译(VS2022 / vc17)适用于 x86 架构系统的 opencv_world455 库文件。包含动态链接库(.lib)和静态链接库(.dll)及其 debug 版本。 主要文件: 1. 头文件(include) 2. 动态链接库(opencv_...
在vs2013上编译的opencv3.2.0的opencv_world版本库,含32位和64位的dll、lib、include。
VS2015编译OpenCV3.2 32位lib,经过测试,可以放心使用
通过ndk编译opencv源码,能够根据自己的需求修改编译对应的opencv库。整个过程重要的也就是写makefile文件进行编译而已。
静态库就是说,你写了一个openCV程序,想在没有openCV环境的windows系统上运行,就需要静态编译你的程序,而且静态编译的时候openCV库也要是相应的静态编译库,这样编译的时候就会把openCV中相应代码抽取出来加入到...
Jetson Xavier下编译opencv4.5.4, 含opencv_contrib,网络原因很多文件下载不了,为了给大家节省时间,将下载所需要的所有文件打包, cmake过程中下载的文件都存在了隐藏文件夹.cache中了,这里将下载好的.cache打包...
opencv4.8.0人脸识别的类库,在windows 10 下 vs2022的cmaker编译。原生的opencv4.8.0是基于jdk11编译的。此版本是基于jdk1.8进行编译。可在相应的环境下运行。 opencv4.8.0人脸识别的类库,在windows 10 下 vs2022...
编译的opencv_world形式的opencv3.4.1+contrib3.4.1,用于VS2015,X64,dubeg版本。
编译教程请参考 https://blog.csdn.net/yl_best/article/details/89190142 详细请参考档案中的ReadMe.txt OpenCV3.4.2 + Qt5.9.3 + CMake3.12.1 without contrib - 普通版OpenCV,不带Contrib with BUILD_opencv_...
这个库是在VS2015下编译完成的,是32位Release版本。 这个文件解压后600M左右 使用这个库进行开发,编译出的可执行文件体积较大,但是不再依赖任何其他库 已知的问题是链接速度慢,而且链接时依赖vfw32.lib(VS自带) ...
在linux下编译Opencv,生产Opencv动态库,然后调用库函数进行二次开发。
Cmake编译OpenCV库及OpenCV库使用。^Cmake?¨OpenCV¥9OpenCV¥ƒ^ x wkcagd@mail.ustc.edu.cn 2013 c 10 13 F SCOpenCV V´e1OpenCV.exe§‰SC8„§SC="b‰SC8„D:/OpenCV SCCmake
Opencv3.2 Cmake编译opencv_contrib模块所需库
个人从opencv官网下载了opencv编译版本(3.4.6),自己编译成功的jar
Windows 环境下编译OpenCV3.4.1和OpenCV-Contrib3.4.1生成的配置文件,下载后进行配置,即可使用。