b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

高性能计算机应用 【学员分享】【工程与计算机】为游泳运动员打造智能教练(2)

电脑杂谈  发布时间:2018-02-07 20:32:07  来源:网络整理

图像处理算法 侵蚀(erode)与膨胀(dilate)

erode函数必要的参数有三个,分别是输入图形、输出图形和核心(kernel,这是一个数学概念。通俗讲可以理解成画笔的笔刷大小形状)。erode的作用,就是当且仅当输入图形的像素周围能完全覆盖核心时,才保留该像素,否则则把像素从图形中抹去。这样事实上造成的效果就是,如果输入图形还没有核大,就会整个被抹掉。如果输入图形本身比较大,周围则要被切掉一圈。

dilate其实是erode的反操作,函数所接受的参数核erode相同。dilate则是只要核心能沾上一点输入图形的边,核心所覆盖的范围就都在输出图形里。事实上造成的效果就是,输入图形要被扩大一圈。

在我们自己的应用里,使用了一次侵蚀和两次膨胀。侵蚀是希望把微小的噪点直接抹去,而膨胀则是希望把水线整体连接起来,减小后续操作的运算复杂程度。这些操作也在一定程度上稳定了识别点,让它不会因为一些噪点或者抖动而满画面乱飞。当然,目前这个还是有很大的优化空间。

寻找轮廓(findContours)

findContours必要的参数有五个,分别是输入图形、储存轮廓的二维数组、轮廓之间的包含/并列关系(hierarchy),术语称为图像拓扑结构(image topology)、工作模式和近似方法。

高性能计算机中国排名_高性能计算机研究所_高性能计算机应用

当然我们这边其实用了一个最简单的方法来寻找分界点——我们只是在过滤掉一部分目标区域以外的元素后,在红水线所有的轮廓里面找最左边的值。这个同样有非常大的优化空间,比如我们该怎样利用一下拓扑结构信息来分别同时识别出上下两根水线甚至是多根水线的分界点呢?

示例

上图展示了项目源码实际执行的场景。最上面第一个黑白窗口识别出了红色的水线,第二个黑白窗口识别出了的水线。最下面显示原始视频的窗口用准星标注出了两色水线的分界点。

为了正常运行示例,需要安装OpenCV(可以在源码目录里直接下载)和Visual Studio Community 2015。然后需要按指示把OpenCV的安装目录设置为环境变量。

源码本身已经完成了额外的设置。但是具体说来是这么几项:

额外的OpenCV C++头文件包含目录

额外的OpenCV静态库目录

链接静态库opencv_world320.lib/opencv_world320d.lib,分别对应release和debug

动态链接库opencv_world320.dll/opencv_world320d.dll置于程序目录中,同时还有opencv_ffmpeg320_64.dll用于视频解码

思考

目前来说,视频分析的工作是在个人电脑上进行的。是否可以进一步把相关程序集成到平板乃至智能手机应用中,在游泳场馆里一步完成实时的录像和分析?

为了提高视频识别的精确度。在录像时我们能进行哪些改进,比如特殊的水线,运动员泳帽的颜色,亦或是对手持录像设备用户的一些引导以确保录制视频的质量?另一方面,目前识别的算法能否能继续改进,排除可能的干扰元素、抖动和噪点?

我们已经对视频中的元素进行了识别分析,那么怎样较为精确的把视频中的坐标体系换算成现实物理世界中的各项运动数据?仅通过视频我们能够提取哪些数据?在辅以可穿戴设备的基础上,我们还能取得哪些数据?通过这些数据,我们能进行怎样的分析?

假定我们已经针对每位运动员收集了完备的训练档案。高性能计算机应用通过运动员之间的比较,和某位运动员当前数据与历史数据的比较,能得出哪些的结论?对训练有何帮助?

本文为AADPS原创。我们每年夏季会更新最新美国大学本科申请文书题目和权威院校指南,欢迎把网站aadps.net加入电脑浏览器收藏夹。返回搜狐,查看更多


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-65927-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...