环境问题总是头疼
参考
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这些...
在编译OpenCV之前,我们需要确保系统中安装了必要的依赖项。这些通常包括C++编译器(如GCC),CMake构建工具,以及一些开发库,例如: - `gcc-c++` - `cmake` - `opencv-devel`(如果已经安装了旧版本的OpenCV) - ...
lib文件则在编译链接阶段使用,确保编译器能找到相应的函数定义。 此外,include文件夹包含头文件,这些头文件提供了OpenCV库的API接口,允许你在代码中调用OpenCV的功能。在编写代码时,通过#include指令引入相应...
这篇博客“ios的opencv的helloworld”可能介绍了如何在iOS应用中引入OpenCV库,并实现一个简单的HelloWorld示例。OpenCV(开源计算机视觉库)是一个强大的工具,用于图像和视频分析、处理以及计算机视觉算法的实现。...
在Windows环境下,编译OpenCV 4.5.4版本的C++动态链接库(DLL)是一项技术性较强的任务,涉及到一系列步骤和注意事项。OpenCV是一个开源计算机视觉库,广泛应用于图像处理、机器学习和深度学习等领域。在这个过程中...
在本文中,我们将深入探讨如何使用Visual Studio 2010(VS2010)编译OpenCV 3.1版本,并且包括其 contrib 模块。OpenCV(开源计算机视觉库)是一个广泛使用的跨平台库,包含了众多用于图像处理、计算机视觉以及机器...
本资源是针对VS2013(Visual Studio 2013)编译的OpenCV 3.4.1版本的opencv_world库,包含了32位和64位的组件,方便在不同环境下使用。 首先,让我们深入了解一下VS2013(Visual Studio 2013)和vc12。VS2013是微软...
5. **生成Java库**:在编译完成后,Java接口的.jar文件会出现在`/usr/local/share/OpenCV/java`目录下。你可以通过添加这个目录到系统的`CLASSPATH`环境变量,使得Java程序能够找到OpenCV的Java库。 6. **验证**:...
1. 编译完成后,你可以在`build_32bit\install\x86\vc14\lib`目录下找到生成的32位lib文件,如`3.2Lib_x86`中所示。 2. 在你的项目中,链接这些lib文件,并设置相应的包含目录,就可以使用自编译的OpenCV 3.2库了。 ...
简介:使用 cmake 编译(VS2022 / vc17)适用于 x86 架构系统的 opencv_world455 库文件。包含动态链接库(.lib)和静态链接库(.dll)及其 debug 版本。 主要文件: 1. 头文件(include) 2. 动态链接库(opencv_...
同时,确保你的系统满足所有依赖项,如Intel IPP或OpenBLAS,这些可能会在编译过程中自动下载。 总结,使用Visual Studio 2022编译OpenCV-4.8.0库涉及多个步骤,包括环境准备、CMake配置、生成项目文件、编译和安装...
例如,`#include <opencv2/opencv.hpp>` 将导入所有必要的头文件,然后在链接阶段指定"opencv_world310.lib"(或"opencv_world310d.lib")来完成编译。 5. **编译和链接**: 使用Visual Studio或其他C++编译器时,...
在Windows环境下,使用G++编译OpenCV 4.5.5是一个涉及到多个步骤和技术的知识点集成过程。首先,OpenCV是一个开源计算机视觉库,它包含了大量的图像处理和计算机视觉功能,广泛应用于图像分析、机器学习和人工智能...
记得在编译过程中解决可能出现的依赖问题,例如库版本不兼容、头文件找不到等问题。 通过NDK编译OpenCV源码,我们可以更好地控制OpenCV在Android上的使用,提升性能,同时也能实现更多自定义功能,为移动设备上的...
静态库就是说,你写了一个openCV程序,想在没有openCV环境的windows系统上运行,就需要静态编译你的程序,而且静态编译的时候openCV库也要是相应的静态编译库,这样编译的时候就会把openCV中相应代码抽取出来加入到...
9. **跨平台兼容性**:虽然这里讨论的是在VS2015下编译的OpenCV,但OpenCV本身是跨平台的,可以在Linux、Mac OS等其他操作系统上使用。不过,GPU支持通常需要特定的硬件和驱动,例如NVIDIA的CUDA环境。 10. **持续...
在本案例中,我们讨论的是一个特别编译的版本——"opencv_world3.4.1+contrib3.4.1",它是针对Visual Studio 2015(VS2015)的64位(X64)Debug版本。 首先,"opencv_world"是OpenCV的一种打包方式,它将所有模块...
opencv_world452d.zip
OpenCV官方只支持X64位安装,如果需要X86 32位版本需要通过源码自行编译。...OpenCV4.5.4-X86-MSVC2019环境编译的32位动态库,带BUILD_opencv_world,包含Release、Debug双版本,通过Demo验证成功,欢迎使用。