一、前言
什么是OpenCV
OpenCV 是一个开源的计算机视觉库,项目主页,采用C/C 语言编写,还提供了Python,Ruby,MATLAB等语言的接口。OpenCV的一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的计算机视觉相关应用程序。因为计算机视觉和机器学习密切相关,所以OpenCV还提供了MLL(Machine Learning Library)机器学习库。
什么是计算机视觉
计算机视觉是将来自静止图像或视频的数据转换成一个决策或者一种新的表达方式的过程,所有的这些装换都是为了达到某个目标。
人脑将视觉信号划分如很多个通道,将各种不同的信息输入你的大脑。你的大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少,从而进行识别。
在 计算机视觉系统中,计算机接收到的是来自摄像机或者磁盘文件的一个数值决战。一般来说,没有内置的模式识别系统,没有自动控制的对焦和光圈,没有多年的经验积累,视觉系统通常很低级。
一、Mac配置OpenCV
1、下载OpenCV源码,地址,可以看到有Windows,iOS,Android版本的下载,没有针对MacOS的需要我们自己去编译,下载Sources源码
2、安装CMake,用Homebrew安装
代码语言:javascript复制brew install cmake
3、用CMake编译OpenCV
在解压后的opencv文件夹内,新建一个文件夹release,并且cd进入,分别执行以下的命令行
代码语言:javascript复制cmake -G "Unix Makefiles" ..
代码语言:javascript复制make
代码语言:javascript复制sudo make install
4、测试使用OpenCV
建立一个文件夹,里面放入三个文件
a.png
DisplayImage.cpp
代码语言:javascript复制#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
CMakeLists.txt
代码语言:javascript复制cmake_minimum_required(VERSION 2.8)
//show 项目
project( show )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( show main.cpp )
target_link_libraries( show ${OpenCV_LIBS} )
在文件夹内执行命令
代码语言:javascript复制cmake .
make
./show a.png
就可以把图片a打开来