图片.png
复杂的处理交给神经网络

图片.png
397行,600列

matplot 的imshow 是阻塞的
图片.png

图片.png
图片.png
蓝色很少,发黑
图片.png
图片.png

图像裁剪 数组切片

图片.png
图片.png

图像缩放

图片.png图片.png
一根变四根,模糊
只能深度学习,还原为清晰图形,因为机器见过清晰的部位,用类似的图填补,不是单纯的计算

图像保存

图片.png

边缘检测

图片.png灰度化后,亮度就是高度,可求梯度
图片.png
图片.png
图片.png
图片.png 边缘为1
图片.png 只在水平方向做偏微分
图片.png
图片.png图片.png
使用阈值,设定边缘
白色背景的边缘,是图片压缩合并像素导致的,不是我们期望的
图片.png
只有变化 超过设定值,才被认为是边缘
可用于抠图
图片.png

亮度提升 直方图均化

亮度提升有助于边缘检测
图片.png图片.png
亮度暗的图片: 分布靠左 把突出的暗点数量减少
图片.png
调整的是数量
图片.png

彩色图提亮: 不能累加三个通道,颜色变了

不能动rgb 而是动色度,亮度,饱和度
我们改的是亮度,不是色彩,要用yuv 空间描述
opencv 使得多个颜色空间可以转换
色度饱和度都不动,只动亮度
图片.png所有行列 的0号通道,即亮度通道 是二维数组
图片.png
图片.png equalize 使用直方图均衡化,是很好的算法

角点检测

图片.png 机器检测角点,是关键点
图片.png
返回原图
图片.png
图片.png确实有不是0的位置 用掩码拿到
图片.png但是我们不希望看到太小的数值,因为他们其实也是0
设定阈值,超过就认为是有效的(角点)
图片.png将矩阵中阈值部分改为红色
一堆点: 通过做聚类 可以拿到聚类中心,作为角点代表
图片.png
具体的坐标交给机器人,可完成作业

图像特征点检测 sift

用于提取特征的api: 物理意义上的可见的特征点
图片.png图片.png原始图像 特征点 点的坐标(画在哪里),画的模式flag
最后用imshow 显示副本

提取一张图片的特征值矩阵

图片.png每个特征点对象的属性: 位置,强度,梯度方向等
图片.png圈大,特征重要,半径是梯度方向,垂直与楞线
图片.png
根据梯度方向上的亮度变化计算特征

特征值矩阵 提取图像的矩阵相似

图片.png
图片.png用特征点列表,计算得到特征值矩阵
n行 128 列

图片.png图片.png 每个样本描述了一个特征点

图片.png 这是计算机看到的桌子的特征
图片.png
普通机器学习,只能训练同一个方向的飞机 只有相似的图片
深度学习也会因为噪声太多,导致特征矩阵变化巨大

图像的经典处理:
缩小scale,提高效率

图片.png
一般逻辑回归求出的概率,大的更大,小的更小,因为 sigmode 使得收敛更加剧烈

openCV

图片.png
图片.png 对最小结构(数组) 反转
图片.png 操作像素时,使用的索引是二维