5

我正在开发 iOS 中的一个应用程序,如果相机检测到图像中的某些变化或者我们可以说图像中的运动,它将发生一个事件。在这里,我不是在询问人脸识别或特定彩色图像运动,当我搜索时,我得到了 OpenCV 的所有结果,而且我还发现我们可以通过使用陀螺仪和加速度计来实现这一点,但是如何?

我是iOS的初学者。所以我的问题是,是否有任何框架或任何简单的方法可以通过相机检测运动或运动感应。以及如何实现?

例如,如果我在相机前移动我的手,那么它会显示一些消息或警报。

请给我一些有用且易于理解的链接。谢谢

4

2 回答 2

11

If all you want is some kind of crude motion detection, my open source GPUImage framework has a GPUImageMotionDetector within it.

This admittedly simple motion detector does frame-to-frame comparisons, based on a low-pass filter, and can identify the number of pixels that have changed between frames and the centroid of the changed area. It operates on live video and I know some people who've used it for motion activation of functions in their iOS applications.

Because it relies on pixel differences and not optical flow or feature matching, it can be prone to false positives and can't track discrete objects as they move in a frame. However, if all you need is basic motion sensing, this is pretty easy to drop into your application. Look at the FilterShowcase example to see how it works in practice.

于 2013-09-02T18:46:19.250 回答
1

我不太明白你在这里的意思:

在这里,我不是在询问人脸识别或特定彩色图像运动,因为我在搜索时得到了 OpenCV 的所有结果

但我建议您使用 opencv,因为您可以在 IOS 中使用 opencv。这是一个很好的链接,可以帮助您在 ios 中设置 opencv

网上有很多opencv运动检测代码,这里是其中之一,你可以使用。

您需要将UIImage( IOS 中的图像类型 ) 转换为cv::MatorIplImage并将其传递给 opencv 算法。您可以使用此链接链接进行转换。

于 2013-09-02T16:23:02.433 回答