官网
对于图像的处理,基本的步骤是这样的:
step1.取得图像数据
step2.将图像进行平滑处理
step3.进行边缘检测,阈值分析
step4.进行形态学的操作
step5.获取某些特征点
step6.分析数据
1-1.绘图学习
2-1.基础操作/数学运算/性能测量和改进
3-1.颜色空间转换和物体跟踪Changing Colorspaces
3-2.图像几何变换(缩放/平移/旋转/仿射变化/透视变换)Geometric Transformations of Images
3-3.图像阈值(Image Thresholding)
图像阈值处理是实现图像分割的一种方法。选取一个合适的阈值,以确定图像中的每个像素点应该属于目标区域还是背景区域,最终产生对应的二值图像,实现图像分割。
3-4.图像平滑处理(Smoothing Images)-低通滤波
3-5.形态学变换(Morphological Transformations)
3-6.图像梯度(Image Gradients )-高通滤波
3-7.边缘检测Canny Edge Detection
过程如下:
3-8.图像金字塔(Image Pyramids)-图像融合
3-9.轮廓
轮廓是连接着所有沿着边界连接点的曲线,这些连接点具有相同的颜色和强度。
轮廓在形状分析,目标检测和识别中很有用。
3-9-1.概述/绘制/近似方法
3-9-2.轮廓特征-Contour Features(矩/轮廓面积周长/凸包/矩形/圆/椭圆边界/直线
3-9-3.轮廓的特性-Contour Properties(长宽比/范围/密实度/当量直径/方向/蒙板和像素点/最大小值/平均颜色和强度/极值点)
3-9-4.更多函数-More Functions(凸缺陷/点至多边形测试/图形匹配-hu矩)
3-9-5.轮廓层次结构Contours Hierarchy(含4种检索模式)
3-10.直方图
直方图可以理解为是一个图表,通过它可以对图像的灰度分布有一个全面的了解。
它的X轴上是像素值(一般为0-255),Y轴是和X轴对应像素点的数量。
直方图是对图像的另外一种理解方式。
通过图像的直方图,你可以直观的了解图像的对比度、亮度、强度分布等。现在所有的图像处理工具都提供了直方图功能。
3-10-1.获取,绘制与分析,掩膜(Find, Plot, Analyze)
3-10-2.均衡化(Equalization)
3-10-3.2D直方图(2D Histograms)
3-10-4.反向投影(Backprojection )-找感兴趣部分/图像分割
它会输出和输入图像同样大小的图像(单通道)。输出图像上的每个像素表示输入图像上对应像素属于目标对象的概率。再简单一点说,输出图像上,我们感兴趣目标对象会比其他部分更加白。
3-11.图像变换-发现图像的傅里叶变换(Image Transforms)
3-12.模板匹配(Template Matching)
模板匹配 是用来在一个大图像中找到模板图像的方法。opencv提供cv.matchTemplate() 函数来实现这个功能。
3-13.霍夫曼直线变换(Hough Line Transform )
识别图像中直线
3-14.霍夫曼圆形变换(Hough Circle Transform )
识别图像中圆形
3-15.分水岭算法分割图像(Image Segmentation with Watershed Algorithm )
3-16.CrabCut算法交互式前景抽取(Interactive Foreground Extraction using GrabCut Algorithm)
4-1.理解特征 Understanding Features
4-2.Harris 角点检测 Harris Corner Detection
4-3.Shi-Tomasi角点检测 Shi-Tomasi Corner Detector & Good Features to Track
适合目标跟踪。Harris 角点检测改进
4-4.介绍SIFT(尺度不变特征变换)Introduction to SIFT (Scale-Invariant Feature Transform)
SIFT:对旋转、尺度缩放、亮度变化保持不变性。
步骤:
4-5.介绍SURF(SIFT算法的改进版)Introduction to SURF (Speeded-Up Robust Features)
SURF算法的执行效率上,比SIFT算法来讲运行更快。
4-6.角点检测的快速算法(FAST Algorithm for Corner Detection)
FAST(Features from Accelerated Segment Test) 算法介绍,以及它的缺陷和解决方法
4-7.BRIEF (Binary Robust Independent Elementary Features)描述符快速计算和匹配
4-8.ORB (Oriented FAST and Rotated BRIEF)
ORB采取FAST算法检测特征点,采取BRIEF算法计算特征点描述子
其所解决的问题是SIFT特征的高昂计算代价,以及BRIEF特征本身具有的缺乏旋转不变性、尺度不变性以及对噪声敏感的弱点。
基于FAST和BRIEF特征提出的二值特征串(0,1)在时间上比SIFT快100倍,比SURF快10倍,并且匹配效果也很好。
4.9.特征匹配 Feature Matching
4-10.特征匹配+单应(Homography,投影映射)查找对象(Feature Matching + Homography to find Objects)
5-1. Meanshift(均值漂移)和Camshift(连续自适应均值漂移,根据追踪物体远近变化窗口大小)
都是用于目标跟踪
5-2.光流 Optical Flow
运动图像分析的重要方法
5-3.背景消除 Background Subtraction
三维重构是计算机视觉的中心任务。是指从二维图像恢复三维空间物体的几何形状的过程,主要步骤有:图像对应点的确定,摄像机内外参数的标定,关键点重建,稠密点重建,纹理映射等
摄像机标定的目的:确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数
6-1.摄像机标定 Camera Calibration
6-2. 姿态估计Pose Estimation
利用标定结果计算物体姿态,或者物体在空间中的位置。
渲染立方体应用。
6-3.对极几何 Epipolar Geometry
由于通过单幅图像获取整个3D世界的构造信息是不太可能的。所以可以利用对极几何,通过多相机、建立一个3D点和该点在每个相机图像平面上的投影之间的关系。
6-4.立体图像中的深度图 Depth Map from Stereo Images
7-1.KNN算法,K近邻 (K-Nearest Neighbour)
7-1-1.理解KNN
7-1-2.使用kNN识别手写数据OCR(OCR of Hand-written Data using kNN)
7-2.SVM算法,支持向量机(Support Vector Machines (SVM))
7-2-1.理解SVM
7-2-2.使用SVM识别手写数据OCR(OCR of Hand-written Data using SVM)
7-3.k均值聚类(K-Means Clustering )
7-3-1.理解K-Means
7-3-2.opencv中的k均值聚类(K-Means Clustering in OpenCV)
8-1.图像去噪 Image Denoising
非局部均值去噪,Non-Local Means Denoising。比高斯/中值平滑好
8-2.图像修复 Image Inpainting
2种算法,都需要掩膜
8-3.高动态范围图像High Dynamic Range (HDR)
提供更多的动态范围和图像细节,更好的反映出真实环境中的视觉效果
9-1.使用Haar 分类器进行面部检测 Face Detection using Haar Cascades
10-1.opencv和python绑定是如何实现的?