我正在研究iOS中的应用,如果相机检测到图像中的某些变化或我们可以说出图像中的动态,则会发生这种情况。在这里,我不是在询问人脸识别或特定的彩色图像运动,而且在搜索时我得到了OpenCV的所有结果,而且我还发现我们可以通过使用陀螺仪和加速度计来实现这一点,但是如何?
我是iOS的初学者。所以我的问题是,是否有任何框架或任何简单的方法来检测相机的运动或运动感应。如何实现?
例如,如果我在相机前移动我的手,那么它将显示一些消息或警告。
并且plz给了我一些有用且易于理解的链接。 Thanx
答案 0 :(得分:10)
如果你想要的只是某种原始运动检测,我的开源GPUImage框架里面有一个GPUImageMotionDetector。
这个公认的简单运动检测器基于低通滤波器进行帧到帧比较,并且可以识别帧之间已经改变的像素的数量和改变区域的质心。它运行在实时视频上,我知道有些人在iOS应用程序中使用它来动态激活功能。
因为它依赖于像素差异而不依赖于光流或特征匹配,所以它可能容易出现误报,并且当它们在帧中移动时无法跟踪离散对象。但是,如果您只需要基本的运动感应,那么很容易将其放入您的应用程序中。查看FilterShowcase示例,了解它在实践中的工作原理。
答案 1 :(得分:1)
我完全不明白你的意思:
在这里,我不是在询问面部识别或特定颜色 图像运动,因为我在搜索时获得了OpenCV的所有结果
但是我建议你去使用opencv,因为你可以在IOS中使用opencv。这是一个很好的链接,可以帮助您setup opencv in ios。
网上有很多opencv动作检测代码,这里有one among them,你可以使用它。
您需要将UIImage
(IOS中的图片类型)转换为cv::Mat
或IplImage
,并将其传递给opencv算法。您可以使用this link或this进行转换。