OpenCV 安装和配置 - Mac OS 环境

Posted 会敲代码的小蜜蜂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV 安装和配置 - Mac OS 环境相关的知识,希望对你有一定的参考价值。

1、本文环境

        Mac OS版本12.3.1

        OpenCV版本4.6.0

2、OpenCV的安装

2.1、首先检查下是否已经安装了cmake

cmake --version

若没有安装,执行命令:

brew install cmake

2.2、下载OpenCV源码

官方下载页: Releases - OpenCV

github下载:git clone GitHub - opencv/opencv: Open Source Computer Vision Library

或者 brew install opencv

2.3、构建OpenCV

OpenCV安装路径

将下载好的源码解压到 /usr/local 目录下,笔者的目录 /usr/local/opencv-4.6.0

这里建议将OpenCV安装到了/usr/local目录下,一般无需配置环境变量;若你安装到自定义的目录,为了让编译器找到OpenCV我们需要:

修改环境变量

在CMakeLists设置OpenCV_DIR为你的安装目录,例如你安装到~/opencv/opencv_libs,按下面的方式修改:

set(OpenCV_DIR ~/opencv/opencv_libs/lib/cmake/opencv4)

find_package(OpenCV REQUIRED)

这种方式笔者还没有验证,交给喜欢折腾的人去实验吧,哈

创建release文件夹

cd /usr/local/opencv-4.6.0

make release

进入release目录下,配置环境

cd release

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

编译安装

make -j8

这个过程需要耐心等待一下

-j8指的是同时执行8个任务(jobs),可以加快编译速度。根据你CPU的性能,选择合适的参数将每个核心拉满即可。

根据性能不同,编译时间有点长。编译成功后进行安装

sudo make install

make编辑的时候可能会报错,自行解决就可以了

笔者遇到了make[2]: *** No rule to make target `zlib', needed by `lib/libopencv_imgcodecs.4.6.0.dylib'.  Stop.这个错误,原因是zlib这个包在Homebrew里面有冲突,解决办法就是卸载了有两个,

1、Homebrew然后重装一下

ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)”

2、将BUILD-ZLIB参数取消打勾(-DBUILD_ZLIB=OFF

3、构建java环境

OpenCV构建Java环境需要安装JDK和ANT,我本机的环境是JDK 1.8、ANT 1.10.1

安装JDK

各位看官自行度娘一下吧,装完记得配置好环境变量。

安装ANT

brew install ant

cmake配置

这里参考一下参考官网的描述,需要配在cmake中配置-DBUILD_SHARED_LIBS=OFF

 https://docs.opencv.org/4.6.0/d9/d52/tutorial_java_dev_intro.html

cmake -DBUILD_SHARED_LIBS=OFF ..

然后我们看一下To be built项中是否包含了java,如果存在就说明java会被编译出来,否则java会在Unavailable项中出现,我这里折腾了许久,试过N中方式始终找不到JDK环境,最后重启了系统就解决了...

 如果java Unavailable,在日志的后面会有提示,如果后面项目为空则说明没有找到对应的环境

 编译安装

检查java没问题后我们执行编译和安装即可

make -j8

sudo make install

Mac下OpenCV开发环境配置(Terminal和Xcode)

亲证可用: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
 









以上是关于OpenCV 安装和配置 - Mac OS 环境的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow环境配置----Mac OS

Mac OS : Homebrew安装,配置maven 环境变量

Mac OS安装 OpenCV(python3)

Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2

如何在Mac OS X上安装 Ruby运行环境

python 在Python 3.5上的Mac OS Sierra上安装OpenCV