# 1 基于opencv的图像增强算法系统
直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。
使用中心为5的8邻域拉普拉斯算子与图像卷积可以达到锐化增强图像的目的
对数变换可以将图像的低灰度值部分扩展,显示出低灰度部分更多的细节,将其高灰度值部分压缩,减少高灰度值部分的细节,从而达到强调图像低灰度部分的目的。
伽马变换主要用于图像的校正,将灰度过高或者灰度过低的图片进行修正,增强对比度。
A*算法通过下面这个函数来计算每个节点的优先级。
f ( n ) = g ( n ) + h ( n ) f(n) = g(n)+h(n) f(n)=g(n)+h(n)
其中:
A* 算法在运算过程中,每次从优先队列中选取 f ( n ) f(n) f(n) 值最小(优先级最高)的节点作为下一个待遍历的节点。 另外,A*算法使用两个集合来表示 待遍历的节点 , 已经遍历过的节点 ,这通常称之为open_set和close_set。
学长设计了一个走迷宫小游戏,迷宫的遮挡地形可以根据根据鼠标的拖动进行绘画,我们将AStart算法应用到像素游戏中,效果如下
K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。
Kmeans图像分割算法流程:
1、加载图像,获取图像的所有像素点并将其转换为样本数据。
2、开始迭代
a)、初始化簇心坐标。
a)、更新簇心坐标,遍历样本数据中的数据点并计算数据点与所有簇心的距离。对于某数据点计算得到的与所有簇类的欧氏距离中,取欧氏距离最小所对应的簇类作为该数据点对应的类。
c)、计算更新后的簇心坐标与更新前的簇心坐标的均方误差。若均方误差仍大于某阈值,则重复b),反之结束迭代。
银行卡卡号识别技术原理是先对银行卡图像定位,保障获取图像绝对位置后,对图像进行字符分割,然后将分割完成的信息与模型进行比较,从而匹配出与其最相似的数字。
答题卡识别步骤:
1: 检测到图片中的答题卡
2: 应用透视变换来提取图中的答题卡(以自上向下的鸟瞰视图)
3: 从透视变换后的答题卡中提取 the set of 气泡/圆点 (答案选项)
4: 将题目/气泡排序成行
5: 判断每行中被标记/涂的答案
6: 在我们的答案字典中查找正确的答案来判断答题是否正确
7: 为其它题目重复上述操作