1、图像的分类
图像分为模拟图像和数字图像,数字图像又分为二值图像、灰度图像和彩色图像。
二值图像:只有黑和白,表现在像素上就是只有0和255。
灰度图像:有不同深度的灰色和黑白两色。
彩色图像:RGB图像,有255 * 255 * 255种颜色。
具体解释:
2、图像的基本操作
读取、显示、保存图像等
绘制图像
图像的加法
图像的混合
这其实也是加法,但是不同的是两幅图像的权重不同,这就会给人一种混合或者透明的感觉。图像混合的计算公式如下:
图像的仿射变换
图像的仿射变换涉及到图像的形状位置角度的变化,是深度学习预处理中常用的功能。仿射变换主要是对图像的缩放、旋转、翻转、平移等操作的组合。
代码实现:
图像的透射变换
3、形态学操作
3.1 连通性
邻接
**4连通、8连通与m连通
3.2 腐蚀和膨胀
腐蚀的方法是,拿B的中心点和X上的点一个一个地对比,如果B上的所有点都在X的范围内,则该点保留,否则将该点去掉;右边是腐蚀后的结果。可以看出,它仍在原来X的范围内,且比X包含的点要少,就象X被腐蚀掉了一层。例子如下:
腐蚀代码实现
膨胀
膨胀代码实现
3.3 开运算与闭运算
开运算
闭运算
api
代码实现
3.4 黑帽与礼帽
礼帽运算
黑帽运算
黑帽
api
4、图像噪声
均值滤波
二维高斯分布
![在这里插入图片描述](https://img-blog.csdnimg.cn/389b3529e5e74
中值滤波
5、直方图
灰度直方图
掩膜的应用
img.shape[:2] 取彩色图片的长、宽。
如果img.shape[:3] 则取彩色图片的长、宽、通道。
关于img.shape[0]、[1]、[2]
img.shape[0]:图像的垂直尺寸(高度)
img.shape[1]:图像的水平尺寸(宽度)
img.shape[2]:图像的通道数
直方图均衡化
自适应直方图均衡化
对拆分的每一个小块儿进行直方图均衡化就叫自适应均衡化
6、边缘检测原理
原理:边缘的产生也就是图像灰度值在某一点产生重大变化的点
边缘检测的分类:基于搜索(找一阶导数最大值)和基于零穿越(二阶导数零穿越)
Sobel检测算子
laplacian算子
卷积核解释:水平方向是f’(x),垂直方向是f’(y),中间的-4是x与y重合的部分
Canny边缘检测
7、模板检测
模板匹配的几个方法:平方差匹配、相关匹配、相关系数匹配
8、霍夫变换
笛卡尔坐标系下的一条直线y=kx+q对应霍夫空间下的一个点q=-kx+y,这些点(k,q)构成了霍夫空间
特殊情况(k,q难以确定的时候),转换成极坐标
霍夫线检测
代码实现:
霍夫圆检测
霍夫圆检测可以分为圆心的确定和圆半径的确定
9、角点检测
Harris角点检测
如何判断角点?
代码实现:
blockSize指的是邻域大小,也就是M(计算λ1λ2时的矩阵大小)
shi-tomas角点检测
10、SIFT/SURF算法
“SIFT(Scale Invariant Feature Transform)即尺度不变特征变换算法,该特征向量集具有对图像缩放,平移,旋转不变的特征。
概念
缩小图像(或称为下采样(subsampled)或降采样( downsampled ) )的主要目的有两个:
1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。
放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。
SIFT与SURF的对比
SIFT代码实现
11、FAST算法
今天主要复习了角点检测算法FAST(Feature from Accelerated Segment Test),该算法原理比较简单,检测出的特征点比较多。 该算法的缺点也很明显:
- 不具备尺度不变性
- 不具备旋转不变性
ORB特征点检测中专门针对这两个缺点做了改进。
个人认为该算法检测的特征点准确性不高,容易受噪声的干扰,相较于SIFT与SURF算法而言,准确性要低,优点在于检测速度快。
代码实现:
11、ORB算法
结合Brief算法保证旋转不变性
ORB代码实现