主题思想:
任何一个图像 肯定由多个或一个区域
每个区域在横向扫描时 会有分裂和合并 比如圆环 顶部有一个分裂点 底部有一个合并点
没有分裂合并的图形 就是简单的凸图像
很容易通过外形识别
而复杂的图像 就是凹的 就需要分裂合并点来识别
旋转30度 60度 90度 120,150 得到的分裂合并点序列是不同的 可以通过分析分裂合并点可以获得角点

区域连接特征:
重心和中心的偏置对宽高的比例 和方向
分裂合并点位置 和重心位置的比例 除以区域面积
亮度和区域面积的比
重心的偏移方向 与新图片的grvDirect相减=基准数据 基准数据+特征点的方向==新特征点方向
如果图形复杂 需要使用决策树内嵌 svm 最近邻等等算法来综合分析分裂合并特征点
如果简单 基本就区域特征搞定了

图像特征:
合并区域,求图像重心,根据图像重心和中心的角度比例,重新计算各个区域的特征点和方向。
图像比较时按区域大小排列进行各个特征点对比区域的相似度。
区域的分裂与合并的判断也变得很容易了。

应用领域:
视频的背景提取,提取帧差的区域,过滤该区域计算背景。目前实现的效果超好,速度超快。目前现阶段是最好的背景前景提取算法。
物体或个体的数目统计,该算法仅仅遍历一次图像像素点,因此性能好,可以处理超大图片。
角点检测匹配图像。
图像智能分析识别方面,把特征点归一化和旋转处理后的特征进行训练。用决策树或svm等人工智能模型进行预测。包括人脸识别,行人识别,指纹识别。ocr字符识别等等。
网页认证校验码识别 二维码识别等等
区域比较时,特征点按角度排序,识别时加上基准进行排列对比,得到相似度。
比较好的比较方式是:先做区域分析出重心的偏移角度 然后再旋转这个角度后重新做区域分析,得出的特征点进行对比。

训练图片:
1、一般训练图片,重心位置相差不大,如人脸,但是由于各种表情 重心轻微变化。因此,重心是第一特征,变化大的,就记录下来观察原因。
2、全角点检测,采用360度 每隔120度做一次旋转后分析区域的得到的角点进行保留。全部特征去掉重复的,并标记各次旋转的特征点击中率。去掉击中率为1的,仅仅是分裂合并点。

预测图片:
1、区域分析一次,先比较重心位置,然后比较分裂合并特征点满足度。
2、如果重心位置偏差太多,就仅仅比较角点满足度。或者校正重心角度重新区域分析后进行特征点对比。
3、全角度分析过,就直接分析角点满足度,因角点位置是相对重心位置的,因此不必要比较重心了。

区域和图片对比:
区域可能是图片的一部分,这时候重心就变成大问题了。这只能使用flann最近邻搜索。任意选点 求出各点和它的距离排序,循环图片的点和周围点的距离 进行比较 得到到最相似的一段。
图片包含多个区域,另一个大图片搜索这个图片的情况,怎么办?
大图中 先采用最近的区域合并求重心 分别和小图片的区域合并的重心对比 找到区域合并分裂的情况。然后各个区域进行特征点匹配。
不管是怎么比,规则是从最大的区域开始比较。

全角点检测:
1、旋转后 区域重心也旋转了,重心来识别区域id,根据id编号来添加新发现的角点和统计角点击中率。
2、可以根据角点数量来分析区域是否分裂为几个区域。区域面积累加做分析。

demo:
红色是重心 黄色是中心 绿色是从分裂合并点里分析出的角点 蓝色是分裂合并点

视频的设置参数
minConnNum = 5; //水平扫描连接数  如果是水平运动方向 越大越防止抖动 但是精度也降低
minInterval = 3; //垂直方向最小间隔 断连接数
noConnNum = 3; //水平扫描过程 断连接数 
dCorner = 0.666; //角度检测 类似checkCorner*180;度以内的角点 
alpha1 = 0.15; //初始背景加入比例
alpha2 = 0.05; //画面稳定后的背景图加入比例
iNoise = 20; //噪点像素大小 面积=iNoise*iNoise
diffPercent = 0.9; //背景变化百分比到多少 就重新开始背景分析
frameNum = 40; //开始背景分析的帧数 用alpha1中和背景图
brightness = 0;
contrast = 0;
for (int i=0;i<4;i++)
{
iThd[i] = 40; //rgb三像素阈值
iWeight[i] = 1; //权重
}
//rgb适配
bool CpwwRegionConnect::rgbAdapt(uchar*& ptr, int& iValue, int iChannel, const S_BgParam& params)
{
int rayvalue=0;
for( int i=0;i<iChannel;i++){
iValue += *ptr;
rayvalue += ((bool)(*ptr++ > params.iThd[i]))*params.iWeight[i];
}

return rayvalue;
}

原文:http://bbs.csdn.net/topics/390835367

演示程序地址:

http://download.csdn.net/user/pww71

源码:https://sourceforge.net/projects/pwwregionfe/?source=navbar

pww区域连接特征提取算法相关推荐

  1. 一些常用的语音特征提取算法

    原文 https://flashgene.com/archives/70752.html 前言 语言是一种复杂的自然习得的人类运动能力.成人的特点是通过大约100块肌肉的协调运动,每秒发出14种不同的 ...

  2. 特征提取算法(1)——纹理特征提取算法LBP

    模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征.用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标. 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图.颜色 ...

  3. 图像特征提取算法之LBP

    [2018/7/23]今天重点学习了纹理特征提取算法LBP,这个算法可以用于纹理特征提取和人脸识别,应用比较广泛.首先介绍LBP算法的原理,然后是LBP特征的提取步骤,最后使用OpenCV实现了这个算 ...

  4. 室内移动机器人二维激光数据线特征提取算法的总结与开源算法分享

    本文章总结并翻译于 A comparison of line extraction algorithms using 2D rangedata for indoor mobile robotics 除 ...

  5. 常见的几种图像特征提取算法

    常见的几种图像特征提取算法 1. LBP算法(Local Binary Patterns,局部二值模式) 2.HOG特征提取算法(Histogram of Oriented Gradient) 3.S ...

  6. SIFT特征提取算法总结

    转自:http://www.jellon.cn/index.php/archives/374 一.综述 Scale-invariant feature transform(简称SIFT)是一种图像特征 ...

  7. 运动想象系统中的特征提取算法和分类算法

    目录 特征提取算法 分类识别算法 本教程为脑机学习者Rose发表于公众号:脑机接口社区 .QQ交流群:903290195 特征提取算法 (1)时域方法:这是比较早期的EEG信号处理方法,主要通过提取E ...

  8. 图像处理中,SIFT,FAST,MSER,STAR等特征提取算法的比较与分析(利用openCV实现)

    图像处理中,SIFT,FAST,MSER,STAR等特征提取算法的比较与分析(利用openCV实现) 本文实验为自己原创,转载请注明出处. 本人为研究生,最近的研究方向是物体识别.所以就将常用的几种特 ...

  9. HOG特征提取算法的过程

    https://www.cnblogs.com/zhehan54/p/6723956.html 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算 ...

最新文章

  1. Zabbix3的离线安装
  2. 莫比乌斯反演定理证明
  3. RabbitMQ延迟消费和重复消费
  4. 工作三年的一点感想(展望篇)
  5. Unix 下的 vim 如何使用系统剪贴板
  6. 利用qsort二级排序
  7. 可解释性系列论文:Mathematics of Deep Learning
  8. 机房收费系统合作版(二):透过显示上机人数品味如何做到全心全意为人民服务
  9. EXCHANGE13/16反恶意软件保护
  10. svn up 更新与回退
  11. flask综合整理2
  12. css003 选择器:明确设置哪些样式
  13. 黄山学院计算机专业考研情况,为什么考入北大的研究生偏偏来自黄山学院这样的学校?...
  14. 51单片机DHT11温湿度传感器
  15. 计算机如何手动新建服务启动项,电脑开机设置怎么设置启动项
  16. 为什么计算机薪酬排名第一而不是临床医学?
  17. 多个优速快递的物流信息是怎么批量查询的
  18. pdf合并软件下载的旗舰版
  19. 【iOS】遍历相册照片
  20. 几款常用UML建模工具解析

热门文章

  1. python去除字符串中的单词_从字符串中删除单词列表
  2. 微型计算机48MHz辐射超,2012职称计算机考试题理论题库
  3. spring_在Spring中使用多个动态缓存
  4. Java8中的Mapreduce
  5. hadoop_单元测试Java Hadoop作业
  6. linux rcs执行错误,求助大神:linux启动的时候执行完rc.sysinit就死在rcS上了
  7. 实训项目2Linux基本命令,实训项目2 Linux文件系统管理
  8. html给文字加动态效果,20种配合场景的CSS3鼠标滑过文字动画特效
  9. php html补全,PHP实现HTML标签自动补全代码
  10. linux服务器崩,Linux系统崩溃最快速的解决方法