我有一个项目,我们(我和我的学生)将开发一个机器人系统。 在这个机器人中,我们有一个捕捉相机。
我的问题是如何检测运动,运动。 有解决方案吗?使用哪些技术和工具? 使用哪种语言(例如Java可能)??
提前致谢。
祝你好运。 阿里
答案 0 :(得分:3)
答案 1 :(得分:2)
我建议您使用Microsoft Visual Studio,它是一个集成开发环境和c#编程语言。 Emgu CV库是OpenCV图像处理库的跨平台.Net包装器。从静态位置开始的一个简单方法是:
将单帧转换为灰度。 将新帧从实时转换为灰度。 从实时开始在第一帧和新帧之间进行抽象。 结果是第三个新框架,由前两个框架之间的差异组成。使用侵蚀和阈值来获得一个框架,白色代表运动部分,黑色代表空间的其余部分。
如果您尝试跟踪的对象具有不同的颜色,则应该能够充分定位它们。
实现此目的的一种方法是选择适当的颜色空间作为RGB空间。请记住,这可能过于敏感,即使是小的照明差异。 (这实际上取决于您要跟踪的对象和跟踪方案。)
答案 2 :(得分:1)
您可以使用OpenCV
在这里你可以找到一个C ++教程:http://blog.cedric.ws/opencv-simple-motion-detection
答案 3 :(得分:1)
使用两个相机代替一个相机可能在您的项目中有用,用于检测图像中的深度和运动的真实距离(在透视视觉中)