《OpenCV3编程入门》学习笔记

date: 2018-10-25
花了一个多月的时间看完OpenCV3入门这本书,总体感觉不错,就是代码占了书的大部分篇幅,感觉最后面的特征检测与匹配部分写的有点匆忙。这个笔记主要是记类似提纲的东西。

Mat类(core.hpp)

可以说OpenCV3最最重要的莫过于Mat类了,这个类的实现质量直接决定了整个工程的效果。对比了Mat类和MATLAB的矩阵操作,当然,这不具备可比性,就是对Mat类作一个简要概述。可以说Mat类已经是很完善了,基本的加减乘除、转置、逆变换、切片(Rect, Range)、索引(得到mask,然后使用带mask的函数)都可以实现,就是得习惯C++的那一套,使用函数、指针(不是说OpenCV4要用c++11重新么,为什么一些函数还是用的原始数组和指针操作)来进行替换。

还有矩阵的创建(create, zeros, ones, eye),显示(format)等。

imgproc

这部分主要是图像处理的部分,像线性非线性形态学滤波、边缘检测(高通滤波)、直方图的处理(OpenCV没有直方图的显示函数)、阈值处理等,可以参考《数字图像处理MATLAB版》,更详细一点,这本书感觉主要是讲怎么用OpenCV实现。

highgui

对图片读取、显示、保存操作,还有创建滑动条,主要就是干这个。

其它

还有一些类,像Point, Scalar, Size等,在对矩阵操作时要用到,然后像图像分割、识别、修复之类的算是对一些函数的使用,感觉调个包就能实现,基本的原理还得具体去学。

点赞