OpenCV学习简介

阅读《学习OpenCV》的一些笔记

Posted by Ted on March 11, 2018

一、前言

什么是OpenCV

OpenCV 是一个开源的计算机视觉库,项目主页,采用C/C++语言编写,还提供了Python,Ruby,MATLAB等语言的接口。OpenCV的一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的计算机视觉相关应用程序。因为计算机视觉和机器学习密切相关,所以OpenCV还提供了MLL(Machine Learning Library)机器学习库。

什么是计算机视觉

计算机视觉是将来自静止图像或视频的数据转换成一个决策或者一种新的表达方式的过程,所有的这些装换都是为了达到某个目标。

人脑将视觉信号划分如很多个通道,将各种不同的信息输入你的大脑。你的大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少,从而进行识别。

在 计算机视觉系统中,计算机接收到的是来自摄像机或者磁盘文件的一个数值决战。一般来说,没有内置的模式识别系统,没有自动控制的对焦和光圈,没有多年的经验积累,视觉系统通常很低级。

一、Mac配置OpenCV

1、下载OpenCV源码,地址,可以看到有Windows,iOS,Android版本的下载,没有针对MacOS的需要我们自己去编译,下载Sources源码

img

2、安装CMake,用Homebrew安装

brew install cmake

3、用CMake编译OpenCV

在解压后的opencv文件夹内,新建一个文件夹release,并且cd进入,分别执行以下的命令行

cmake -G "Unix Makefiles" ..
make
sudo make install

img

4、测试使用OpenCV

建立一个文件夹,里面放入三个文件

a.png

DisplayImage.cpp

#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

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} )

在文件夹内执行命令

cmake .
make
./show a.png

就可以把图片a打开来

img