目录
Filters
图片噪声的处理
很多图片会有噪声
滑动平均
计算下一步时不要用10
opencv中滑动平均的实现方式,两种
blur是归一化的, boxFilter可以不用归一化 看opencv文档
卷积
核是对称是两者相同
核不同则数值 不同,但意义相似
低通滤波,高通阻断
非线性滤波器
中值滤波
中间值
值的权值会不一样,上面的情况都权值采用1.
双边滤波 滤过噪点保边滤波 很慢 线下可以用
http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html
步长很近,很多像素相同 运算量增大 可以优化 采用不同的方法
2,1---2,3受到力是向下的位移 物体的形变
遍历很耗时
可以优化 减少计算量
很多常用的方法也可以用来工程问题
Edge detection边缘检测
仅有轮廓 简单的线条 可以知道其重要的形状信息和语义信息和东西 比全部像素表达的紧凑
几何视觉 找图像的水平线
为什么会有连续
1 一种是深度不连续
一种不同物体对光的反射率不同 和 阴影等
图像中如何产生边缘
真实中更多的是渐变
一维数据 求导 在极值的位置
如何用代码实现
前后像素的差平均
1X3的模块表示
亮度增大的方向
上是左右边缘 竖直边缘
下 是水平边缘
最后是梯度 表示幅值
有噪声 不平滑
直接处理 不能找到边缘
梯度运算对噪声很敏感 要先滤波
权重不同
检测垂直边缘
滤波器不同翻转有不同的边缘
箭头灰度变化的方向 不是边缘的方向
找到图像的不同信息 这样可以得到图像信息的某种表达 可以作为特征
其它的边缘检测的算法
一阶导时极值
h高斯滤波
求二阶导
只对filter二阶层数, filter比较小 3X3或其它
二阶导 就是laplacian
二阶导时图像对噪声很敏感
离散时如何做
梯度方向
大值三个
只需要一个
四个方向,非极值 为 0
实现的细节
域值太大则检测的边缘很少
太小则可能不是的也检测出来
所以选两个域值
把两个结构并起来 有时参数输入 一个则可能采用了除2另一个值
不是线性滤波 在拐角处会有问题 因为其在各各方向都变化大
车牌识别
车牌的定位和字符的识别
光线很暗则很有难度
下雨时人物和东西的检测 如何去除雨水的影响
知识的整合思路很重要
学校单位都有车牌识别
两个任务 车牌的检测(定位车牌的位置)--分割图像---特征的提取----
OCR
图像分割:找到感兴趣的块 不能任意枚举 不然计算量太大
涉及每部分的分割以及其意思
分割和分类
竖直边缘----域值化---形态学 删除空白 连通白色区域 包括了是或不是车牌的区域--------漫水填充----得到可能的车牌的位置-----过虑车牌 长宽比固定 -得到一个位置 放射变换 因折射视角的不同 得到若干个区域 完成图像的分割
---------用图像的像素 svm分类 数据类型一样 大小一样数据维度相同-------完成车牌的检测和定位----识别
光学字符识别 OCR
找到轮廓---去除噪声----长宽比 定位字符的位置
每个数字可能是5X5的区域 统计水平和竖直的直方图
两个不同方向的直方图----区别是哪一个字母和数字
SVM
平行 对噪声的容忍度高
数据有标签
求极小值 上面是线性的数据 下面非线性的数据 分不开 把数据向高维空间 空间爆炸 kernel 技巧trick