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