本文共 870 字,大约阅读时间需要 2 分钟。
本文档是基于一项项目的总结,该项目的初步目标是在一幅图像中基于头顶的形状和大小检测头顶,辅助提高人流轨迹的精确度。其中涉及的技术基本上都是计算机视觉领域的基础,相关知识储备来自计算机视觉(Linda和George)一书。在这一过程中遇到问题,我积极通过OpenCV论坛(www.opencv.org.cn)和OpenCV群寻求解决方案,在此感谢。
区域标记 | 区域面积 | 区域中心所在的行 | 区域中心所在的列 | 半径平均值 | 半径标准差 | 圆度 |
1.0e+004 *
0.0004 0.0312 0.0458 0.0001 0.0000 0.0002 0.0045
0.0556 0.0339 0.0149 0.0013 0.0001 0.0024 0.0046
区域面结(100~1000),区域圆度(>6)
二值图
标记图,可见区域内部的孔洞,fill hole
二值图取反后的标记图
最后的结果
后记:
本来我想进一步完善这个搭建在matlab之上的实验项目,通过以下两种方案
1、通过图像分割技术,分割背景和前景,二值化图,以获得感兴趣的区域。
2、头顶区域的判断准则通过训练自动获得,具体方法是准备若干图片,一半用于训练,一半用于测试,通过训练获得的判断准则,判断测试图像,得出误报率和漏报率。
公司需要将这个项目整合入人流轨迹的项目中形成demo版,向客户演示,所以我的优先任务是将这个项目变迁到C++,整合入人流轨迹BlobTrack项目,上述任务空闲的时候做做了。
如果头顶与颜色相近的物体挨着,那么极有可能形成的连通区域中两个是连着的,我想也许图像分割或纹理之类的能够帮助解决这个问题。
另外形状和大小类似头顶的话,会误认为头顶,这个问题我打算通过增加区域特征以供区分,目前可以想到的是纹理特征,直方图特征之类的。
这个项目做了一个月,绝大部分时间用于方案的遴选和理论知识的学习,摸索过SVM和harr特征,走了不少弯路,不过也学到不少东西。
转载地址:http://gzppi.baihongyu.com/