opencv学习笔记1

起航

Posted by Manshuoquan on February 6, 2019

“我们的目标是星辰大海”

计算机视觉

 计算机视觉是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。它可以将静止的图像或者视频数据转换为一种决策或者新的表示,简而言之,这就是一门指导机器如何“看”的技术。
 计算机视觉既是工程领域,也是科学领域中的一个富有挑战性重要研究领域。计算机视觉是一门综合性的学科,视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分。

OpenCV

 OpenCV是一个开源的计算机视觉库,它采用C和C++进行编写。可以在Windows、Linux、Mac OS X等系统运行,另外也提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
 OpenCV用于进行高效计算,强调实时性的应用开发,可以享受多核处理器的优势,另外也提供了收费的性能基元库(IPP)可以应用英特尔架构上的自动优化。
 在不断的迭代的过程中,OpenCV提供了500多个累积了API,个人理解OpenCV其实是一个算法集合或者是算法库,像是一个兵器库,而我们的的学习就是要掌握这“十八般兵刃”的使用方法。
 2018年底,OpenCV已经更新到4.0.0版本,官方网址是https://opencv.org。
 OpenCV的宗旨是促进商业和研究,它是开源免费的,它采用BSD开源证书,也就是说可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。

下载和安装OpenCV

 笔者使用Mac OS X系统进行开发,所以除非特别说明,这个系列的文章全部在Mac+Xcode环境下进行开发,OpenCV采用Git作为版本管理工具,使用Cmake来构建工程(关于Cmake,是一个庞大的话题,本博将开另外一个专栏详细介绍),一般情况下,你可以直接使用编译好的库直接进行开发,但是当你需要自己修改OpenCV时,你就需要详细了解它的编译方法了,不过这部分我们放在专栏的靠后部分再详细介绍。
 首先需要进行一些环境配置,下载和配置Homebrew,homebrew是一款Mac OS平台下的软件包管理工具,可以安装卸载和更新软件包的功能,关于Homebrew的安装和使用可以参考这篇文章Homebrew 的安装和使用
 第二步要下载OpenCV,可以通过github下载最新版,也可以去官方网站下载稳定版本,更方便的方法是使用Homebrew下载,在终端中使用“brew install opencv”命令安装OpenCV,目前安装的是3.4.3_1版本。
 然后就是在Xcode中新建一个命令行C++项目,如图所示:
avatar
新建完项目,就需要在项目配置中的“building Settings”中的“Search Paths”中的“Header Search Paths”和“Library Search Paths”中配置引用路径,如图所示:
avatar
然后把OpenCV目录下的lib文件目录复制到项目下并导入即可,这个过程可能会在编译中报对应的库的错误,这个库可能是软链接过去的,把它删掉即可
最后在main中编写测试代码,测试代码如下: ` `

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
    Mat image = imread("956576417.jpg");// 测试图片路径
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
} ` `   下一篇将介绍OpenCV中的数据结构和它们的使用方式。