OPENCV学习笔记(一)

一、学习OPENCV前期储备知识

1、需要一定的编程能力,C/C++,好像现在还开放了python等接口。

2、需要一定的计算机视觉、数字图像处理理论知识。

二、OPENCV的编程基本流程包括编辑、编译和连接三大步骤。下面是流程图。


OPENCV学习笔记(一)_第1张图片
编程流程图




1、编辑(Edit)就是编写代码,可以用记事本、Notepad++各类编辑器来编写,当然不推荐用记事本编写,因为功能过于简单。

2、编译(compile)将某种语言转换成目标文件。目标文件包含机器代码和代码在运行时使用的数据。编译器也有很多,比如windows下的cl.exe。


编译示例图

3、连接(link)是将多个目标文件,以及库文件生产可执行的文件。常用连接器有Windows下的link.exe。

4、运行(Run)即双击就可以运行,将程序载入CPU。

5、以上几个步骤只是一个编程的流程,在处理很多个源文件时一般都使用集成开发环境比如Visual C++等。

6、解释头文件


OPENCV学习笔记(一)_第2张图片
头文件解释说明

7、解释库文件

库文件中包含一系列的子程序。例如在上一点中,foo.cpp源文件中 实现了foo()函数,我们假设foo()函数是包含重要算法的函数,我们需要将foo()函数提供给客户使用,但是不希望客户看到算法源代码。为了达到这一目的,我们可以将foo.cpp编译程库文件,库文件是二进制的,在库文件中是看不到原始的源代码的。 库和可执行文件的区别是,库不是独立程序,他们是向其他程序提供服务的代码。


OPENCV学习笔记(一)_第3张图片
库文件解释说明

三、OPENCV是什么?

OpenCV其实就是一堆C和C++语言的源代码文件,这些源代码文件中实现了许多常用的计算机视觉算法。例如C接口函数cvCanny()实现了Canny边缘提 取算法。可以直接将这些源代码添加到我们自己的软件项目中,而不需要自己再 去写代码实现Canny算法,也就是不需要重复“造轮子”。

四、图像的基本操作

1、一副尺寸为M*N的图像可以用一个M*N的矩阵来表示,矩阵元素的值表示这个位置上的像素的亮度。

2、一般来说,灰度图用2维矩阵表示,彩色(多通道)图像用3维矩阵(M × N×3)表示。对于图像显示来说,目前大部分设备都是用无符号8位整 数(类型为CV_8U) 表示像素亮度。

3、灰度图像的存储示意图(一般存储顺序以图像最左上点开始,也可能是最左下点)


OPENCV学习笔记(一)_第4张图片
灰度图像存储示意图

4、RGB图像存储示意图(RGB图像的通道顺序为BGR)


OPENCV学习笔记(一)_第5张图片
RGB图像存储示意图

下一个笔记开始介绍OPENCV的基本函数。

文中内容来自于仕琪教授的《OPENCV入门教程》,本文只是整理学习。

你可能感兴趣的:(OPENCV学习笔记(一))