标签: motion-detection

如何检测有人摇动iPhone的时间?

当有人动摇iPhone时,我想做出反应.我并不特别在乎它们是如何摇晃它的,只是它在一瞬间大力挥手.有谁知道怎么检测到这个?

accelerometer motion-detection shake ios

339
推荐指数
12
解决办法
12万
查看次数

将Kinect的v2.0 Motion存储到BVH文件中

我想将Kinect 2中的动作捕捉数据存储为BVH文件.我找到了Kinect 1的代码,可以在这里找到.我查看了代码,发现了一些我无法理解的内容.例如,在上面提到的代码中,我试图理解skel在代码中的几个地方找到的Skeleton 对象到底是什么.如果没有,是否有任何已知的应用程序可用于完成预期的?

编辑:我试图将Skeleton skel更改为Body skel,我认为它是kinect SDK 2.0的对应对象.但是,当我试图获得身体的位置时,我遇到了错误:

tempMotionVektor[0] = -Math.Round( skel.Position.X * 100,2);
tempMotionVektor[1] = Math.Round( skel.Position.Y * 100,2) + 120;
tempMotionVektor[2] = 300 - Math.Round( skel.Position.Z * 100,2);
Run Code Online (Sandbox Code Playgroud)

调用Body skel的函数Position时,我遇到了错误.如何在sdk 2.0中检索骨架的X,Y,Z?我试图将以上三行更改为:

tempMotionVektor[0] = -Math.Round(skel.Joints[0].Position.X * 100, 2);
tempMotionVektor[1] = Math.Round(skel.Joints[0].Position.Y * 100, 2) + 120;
tempMotionVektor[2] = 300 - Math.Round(skel.Joints[0].Position.Z * 100, 2);
Run Code Online (Sandbox Code Playgroud)

编辑:基本上我设法在bodyBasicsWPF和kinect2bvh组合后存储一个bvh文件.然而,似乎我存储的骨架效率不高.肘部有奇怪的动作.我想知道我是否必须更改文件kinectSkeletonBVH.cp中的内容.更具体地说,kinect 2版本的关节轴方向的变化是什么.如何更改以下行:skel.BoneOrientations[JointType.ShoulderCenter].AbsoluteRotation.Quaternion; 我尝试更改该行skel.JointOrientations[JointType.ShoulderCenter].Orientation.我对吗?我使用以下代码将关节添加到BVHBone对象:

BVHBone hipCenter = new BVHBone(null, JointType.SpineBase.ToString(), 6, TransAxis.None, true);
BVHBone hipCenter2 = …
Run Code Online (Sandbox Code Playgroud)

c# motion-detection kinect

297
推荐指数
1
解决办法
9538
查看次数

如何使用OpenCV检测和跟踪人员?

我有一个静止的相机,指向室内区域.人们将走过相机,距离它约5米.使用OpenCV,我想检测走过的人 - 我理想的回归是一组检测到的个体,带有边界矩形.

我看了几个内置示例:

  • 没有Python样本真正适用
  • ç斑点跟踪样品看起来很有希望,但不接受现场视频,这使得检测困难.它也是最复杂的样本,使得提取相关知识并将其转换为Python API存在问题.
  • ç "motempl"样本也看起来很有希望,因为它计算在随后的视频帧的一个剪影.据推测,我可以使用它来查找强连接组件并提取单个blob及其边界框 - 但我仍然试图找出一种方法来识别后续帧中发现的blob作为相同的blob.

是否有人能够提供指导或样本 - 最好是在Python中

python opencv motion-detection computer-vision

35
推荐指数
2
解决办法
4万
查看次数

CV - 提取两个图像之间的差异

我目前正在研究基于视频监控的入侵系统.为了完成这个任务,我拍摄了我的场景背景的快照(假设它完全干净,没有人或移动物体).然后,我比较从(静态)摄像机获得的帧并寻找差异.我必须能够检查任何差异,不仅是人的形状或其他什么,所以我不能具体提取特征.

通常,我有:

http://postimg.org/image/dxtcp4u8h/

我正在使用OpenCV,所以要比较我基本上做的:

cv::Mat bg_frame;
cv::Mat cam_frame;
cv::Mat motion;

cv::absdiff(bg_frame, cam_frame, motion);
cv::threshold(motion, motion, 80, 255, cv::THRESH_BINARY);
cv::erode(motion, motion, cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3,3)));
Run Code Online (Sandbox Code Playgroud)

结果如下:

http://postimg.org/image/3kz0o62id/

正如你所看到的那样,手臂被剥离了(由于我猜的颜色差异冲突),这很遗憾不是我想要的.

我想添加使用cv::Canny()以检测边缘并填充手臂的缺失部分,但遗憾的是(再一次),它只解决了少数情况下的问题,而不是大多数情况.

我可以使用任何算法或技术来获得准确的差异报告吗?

PS:对不起图片.由于我的新订阅,我没有足够的声誉.

编辑 我在这里使用灰度图像,但我对任何解决方案都持开放态度.

opencv motion-detection difference

30
推荐指数
3
解决办法
6万
查看次数

光流忽略稀疏运动

我们实际上正在进行一个图像分析项目,我们需要识别在场景中消失/出现的对象.这是2张图片,一张是在外科医生采取行动之前拍摄的,另一张是之后拍摄的.

之前: 在此输入图像描述 后: 在此输入图像描述

首先,我们只是计算了两个图像之间的差异,这里是结果(请注意,Mat为了获得更好的图像,我在结果中添加了128个):

(之后 - 之前)+ 128 在此输入图像描述

目标是检测杯子(红色箭头)已从场景中消失并且注射器(黑色箭头)已进入场景,换句话说,我们应该仅检测与场景中左/进入的对象相对应的区域.此外,很明显,场景左上角的对象从初始位置稍微偏移了一点.我想过,Optical flow所以我常常OpenCV C++计算Farneback的一个,以便看看它是否足够我们的情况,这是我们得到的结果,接着是我们写的代码:

流: 在此输入图像描述

void drawOptFlowMap(const Mat& flow, Mat& cflowmap, int step, double, const Scalar& color)
{
    cout << flow.channels() << " / " << flow.rows << " / " << flow.cols << endl;
    for(int y = 0; y < cflowmap.rows; y += step)
        for(int x = 0; x < cflowmap.cols; x += step)
        {
            const Point2f& fxy = flow.at<Point2f>(y, x);
            line(cflowmap, Point(x,y), Point(cvRound(x+fxy.x), cvRound(y+fxy.y)), color); …
Run Code Online (Sandbox Code Playgroud)

c++ opencv motion-detection opticalflow

18
推荐指数
1
解决办法
1389
查看次数

如何使用iPhone的相机跟踪运动?

我看到有人制作了一个使用相机跟踪你的脚的应用程序,这样你就可以在iPhone屏幕上踢一个虚拟足球.

你怎么能这样做?有没有人知道有关使用iPhone相机检测对象和跟踪它们的任何代码示例或其他信息?

iphone motion-detection motion augmented-reality

16
推荐指数
1
解决办法
2万
查看次数

运动检测

我真的无法理解这一点,所以我希望有人可以给我一点手^^

我正试图通过我的网络摄像头检测C#中的运动.

到目前为止,我已经尝试了多个库(AForge Lib),但失败了,因为我不明白如何使用它.

起初我只是想比较当前帧与最后一帧的像素,但结果却像是完全一样:I

现在,我的网络摄像头每次从网络摄像头运行一个事件"webcam_ImageCaptured",就像5-10 fps.

但我找不到一种简单的方法来区分这两个图像,或者至少是一些有效的东西.

有没有人知道如何做到这一点相当简单(尽可能这样)?

c# motion-detection

11
推荐指数
1
解决办法
2万
查看次数

在Android上检测一个人的动作并识别他的身体部位向前移动

我有这个要求,我需要检测身体部位或物体移向相机.我可以将一些示例项目或库作为起点.

我可以将视频的第一帧作为参考点,然后必须完美地检测向前朝向相机移动的任何物体.

相机将由一个人管理,因此会有轻微的抖动,因此所有帧的背景都不会完全相同.

android opencv motion-detection

11
推荐指数
1
解决办法
2457
查看次数

如何使用加速度计计算步数?

我必须开发与此计步器应用程序相同的功能

我已经非常详细地观察了这个计步器应用程序.

它不是一个完美的计步器应用程序.例如,如果您停留/坐在一个地方并握手,它还会检测步数和距离.

忽略这种理想和重力行为,因为在这个应用程序的说明中已经提到你应该绑你的iPhone,或者你应该把它放在口袋里计算步数.这样,我发现这个应用程序运行良好,它几乎可以检测到所有步骤.

我的问题是:我根据上面的逻辑开发了一个样本,但它没有达到那个水平.例如,有时它会同时检测2-3个步骤.有时它工作正常.

我的代码:

在viewDidLoad中:

[[UIAccelerometer sharedAccelerometer] setUpdateInterval:0.2] 
Run Code Online (Sandbox Code Playgroud)
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
    const float violence = 1.2;
    static BOOL beenhere;
    BOOL shake = FALSE;
    if (beenhere) return;
    beenhere = TRUE;
    if (acceleration.x > violence || acceleration.x < (-1* violence))
       shake = TRUE;
    if (acceleration.y > violence || acceleration.y < (-1* violence))
       shake = TRUE;
    if (acceleration.z > violence || acceleration.z < (-1* violence))
       shake = TRUE;
    if (shake) {
       steps=steps+1;
     }
  beenhere …
Run Code Online (Sandbox Code Playgroud)

iphone accelerometer motion-detection ios threshold

9
推荐指数
1
解决办法
2万
查看次数

如何在AS3中修改运动跟踪

我在http://www.computerarts.co.uk/tutorials/build-your-own-motion-tracking-system上有这个了不起的教程. 在开发人员版本中,跟踪器沿着X轴移动.我希望它保持静止而不是移动,当网络摄像头的物体出现在它前面时.固定的十字标记应该能够在任何人在其前面时触发事件,最好是声音.非常感谢我得到的帮助.我是AS的一个完整的菜鸟.如果您有任何其他教程并将我链接到它,我将不胜感激.

flash motion-detection actionscript-3

9
推荐指数
1
解决办法
3878
查看次数