复杂的处理交给神经网络
397行,600列
matplot 的imshow 是阻塞的
蓝色很少,发黑
图像裁剪 数组切片
图像缩放
一根变四根,模糊
只能深度学习,还原为清晰图形,因为机器见过清晰的部位,用类似的图填补,不是单纯的计算
图像保存
边缘检测
灰度化后,亮度就是高度,可求梯度
边缘为1
只在水平方向做偏微分
使用阈值,设定边缘
白色背景的边缘,是图片压缩合并像素导致的,不是我们期望的
只有变化 超过设定值,才被认为是边缘
可用于抠图
亮度提升 直方图均化
亮度提升有助于边缘检测
亮度暗的图片: 分布靠左 把突出的暗点数量减少
调整的是数量
彩色图提亮: 不能累加三个通道,颜色变了
不能动rgb 而是动色度,亮度,饱和度
我们改的是亮度,不是色彩,要用yuv 空间描述
opencv 使得多个颜色空间可以转换
色度饱和度都不动,只动亮度
所有行列 的0号通道,即亮度通道 是二维数组
equalize 使用直方图均衡化,是很好的算法
角点检测
机器检测角点,是关键点
返回原图
确实有不是0的位置 用掩码拿到
但是我们不希望看到太小的数值,因为他们其实也是0
设定阈值,超过就认为是有效的(角点)
将矩阵中阈值部分改为红色
一堆点: 通过做聚类 可以拿到聚类中心,作为角点代表
具体的坐标交给机器人,可完成作业
图像特征点检测 sift
用于提取特征的api: 物理意义上的可见的特征点
原始图像 特征点 点的坐标(画在哪里),画的模式flag
最后用imshow 显示副本
提取一张图片的特征值矩阵
每个特征点对象的属性: 位置,强度,梯度方向等
圈大,特征重要,半径是梯度方向,垂直与楞线
根据梯度方向上的亮度变化计算特征
特征值矩阵 提取图像的矩阵相似
用特征点列表,计算得到特征值矩阵
n行 128 列
每个样本描述了一个特征点
这是计算机看到的桌子的特征
普通机器学习,只能训练同一个方向的飞机 只有相似的图片
深度学习也会因为噪声太多,导致特征矩阵变化巨大
图像的经典处理:
缩小scale,提高效率
一般逻辑回归求出的概率,大的更大,小的更小,因为 sigmode 使得收敛更加剧烈
openCV
对最小结构(数组) 反转
操作像素时,使用的索引是二维