标签: motion-detection

在MacBook Pro中轮询加速计/运动传感器

有一个编译命令行应用程序在这里做这个.

是否有Cocoa API来查询这些数据?

macos cocoa sensor accelerometer motion-detection

5
推荐指数
1
解决办法
3794
查看次数

使用JavaScript进行运动检测和简单分析?

让我们假设我有一个在画布上播放的视频,我想对该视频做一些基本分析,如边缘检测,运动检测和一般运动方向.我该如何处理这个问题?你能指出一些关于如何实现它们的简单算法和一般想法的正确方向吗?

我假设这些东西通常不用JS编码,所以我不希望任何开箱即用的东西.

有任何想法吗?

javascript opencv image-processing motion-detection

5
推荐指数
1
解决办法
3147
查看次数

仅查看注册MotionEvent.ACTION_DOWN

我有一个有趣的问题......我似乎无法找到解决方案.我正在使用ObjectAnimator来旋转ImageView; 但onTouchListener似乎只是注册了MotionEvent.ACTION_DOWN.(我从Log Cats中推断出这个,​​还有MotionEvent.ACTION_MOVE和MotionEvent.ACTION_UP).

我想也许问题可能与试图同时倾听和动画片有关.我在相对布局中包装了imageview和线性布局(设置为MATCH PARENT),并注册了线性布局以监听触摸事件.线性布局具有相同的问题; 只处理MotionEvent.ACTION_UP.有什么东西我需要去注册MotionEvent.ACTION_MOVE吗?

这是我的代码:

            touch_pad = (LinearLayout) findViewById(R.id.layout_touch_capture);
    touch_pad.setOnTouchListener(this);
    touch_pad.requestFocus();

            public boolean onTouch(View v, MotionEvent event) {
    switch(v.getId()) {
    case (R.id.layout_touch_capture):

    long end = 0;
    long start = 0;
    float y = event.getY();
    float y_sum = y;
    float x = event.getX();

    switch(event.getAction()) {
    case (MotionEvent.ACTION_UP): 
        end = animator.getCurrentPlayTime();
    Log.d("WheelActivity", "end location = " + end);
    break;
    case (MotionEvent.ACTION_MOVE):

    Log.d("WheelActivity", "event.getY() = " + y);
    y_sum += y;
    animator.setCurrentPlayTime((long) (start + y_sum));
    Log.d("WheelActivity", "animator play time = " …
Run Code Online (Sandbox Code Playgroud)

android motion-detection ontouchlistener touch-event

5
推荐指数
1
解决办法
2414
查看次数

使用OpenCV进行运动检测

我看到与opencv运动检测相关的查询,但我的要求更简单,所以我再次提出问题.我想分析视频帧,看看帧中是否有变化.已经识别出在帧中发生的任何类型的运动.如果发生某些事情,我只是想收到通知.我不需要跟踪/绘制轮廓.

尝试:

1)使用OpenCV(TM_CCORR_NORMED)进行模板匹配.

我使用cvMinMaxLoc&获得相似性索引

if( sim_index > threshold ) 
    "Nothing chnged"
   else
    "Changed
Run Code Online (Sandbox Code Playgroud)


面临的问题:

我找不到决定如何设置阈值的方法.虚假匹配和完美的价值非常接近.

2)方法2
a)使运行平均值
b)取当前帧和移动平均值之间的abs差值.
c)阈值并使其成为二进制
d)计算非零值的数量
再次坚持如何对其进行阈值处理,因为即使对于非常相似的帧,我也会获得大量的非零值.

请告诉我应该采取什么方法.我是否采用上述两种方法朝着正确的方向前进,或者是否有一种简单的方法可以在所有最通用的场景中使用.

android opencv motion-detection

5
推荐指数
1
解决办法
2374
查看次数

来自Windows的陀螺仪和加速度计数据?

Microsoft Surface Pro具有陀螺仪和加速度计,Windows 8以及完整的.NET框架.

我发现大多数关于动作API的文章都指向Windows Phone 8 API.

我应该使用什么.NET Framework命名空间和类来获取陀螺仪和加速度计数据?

.net c# motion-detection

5
推荐指数
1
解决办法
5677
查看次数

检测视频文件是否包含运动

我有一堆来自网络摄像头的视频剪辑(持续时间为 5、10、60 秒),我正在寻找一种方法来检测“该视频剪辑是否有移动”,以决定是否应保存或丢弃该文件在未来的处理阶段。

我研究过MotionOpenCV,但 Motion 似乎只想在原始视频流上工作,而 OpenCV 对于我的使用来说似乎太先进了。

我理想的解决方案是一个 Linux 命令行工具,我可以将视频文件输入其中,并得到一个简单的“是否/不包含移动”答案,这样我就可以丢弃不相关的文件。误报(合理数量)对于我的使用来说是完全可以接受的。

存在这样的工具吗?或者有任何使用其他工具执行此操作的简单示例吗?

linux video opencv motion-detection

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

如何计算子弹撞击墙壁的位置(真实墙壁和子弹)

我正在构建一个非常令人兴奋的项目,并且我正在创建此帖子以获取新的,新鲜的和疯狂的想法。

我有一堵大墙,我正在向它开枪。我需要计算弹丸撞击的确切X和Y坐标。

有几个挑战:

  • 并非所有子弹都具有相同的质量或速度。
  • 我可能使用了不止一杆枪,因此两枚子弹可能会以更近的间隔命中。
  • 我可能会在墙上播放视频,因此可能会混淆阅读全本的知识。
  • 如果可能的话,我不想对枪支或子弹进行任何增强。
  • 我可能无法完全控制墙壁的类型;普通砖和油漆是首选。

综上所述,我完全可以选择。前者不受限制,我愿意改变方法并从头开始。

到目前为止,我的方法是设置三个运动传感器,并根据冲击波对位置进行三角测量。到目前为止,它是不准确的,需要大量调整。

如果您想改善我的方法,建议我可能缺少的传感器或软件,欢迎您,但正如我所说,我愿意重新开始。

该项目将完成,因此,如果您的解决方案很棒,您将为非常酷的事情做出贡献,我可以给您发送照片,甚至邀请您与我一起拍摄;-)

camera arduino motion-detection triangulation

5
推荐指数
1
解决办法
902
查看次数

SAD和SSD之间的区别

谁能告诉我,SAD和SDD有什么区别?我在谈论绝对差异的总和和平方差异的总和.

只是在SSD中你得到方块的差异度量?我可以只使用度量的绝对值,而不是提高到第二个幂.

什么是广场有用?

math image-processing motion-detection

4
推荐指数
1
解决办法
5463
查看次数

是否可以使用在opencv中实现的ViBe算法,用于没有GPU的系统?

我想测试ViBe算法的背景减法.目前我正在使用opencv库.我在opencv/samples/gpu/bgfg_segm.cpp和bgfg_vibe.cpp文件中找到了一个示例实现.这些文件在gpu模块下.现在我有一个没有GPU的系统.当我尝试运行代码时,它会在第一帧的初始化时崩溃.谁能告诉我如何解决这个问题?

提前致谢.

opencv motion-detection blobs background-subtraction

4
推荐指数
1
解决办法
5020
查看次数

如何在FFMPEG中填充/计算motion_val?

我试图通过ffmpeg(在c ++中)获取mpeg视频的运动矢量.我遇到的问题是,motion_val以及AVFrame类的motion_subsample_log2和mb_type保持为空和/或未初始化(调试器显示为0x0)并且似乎它们仅在我阅读的兼容性原因中可用ffmpeg wiki,你可以通过命令行调试视频的运动矢量

ffmpeg -vismv pf -i input.mp4 output.mp4
Run Code Online (Sandbox Code Playgroud)

结果是output.mp4具有运动矢量箭头.所以我在代码中搜索了-vismv参数,并在libavcodec\options.ca中找到了很长的选项列表:

{"vismv", "visualize motion vectors (MVs)", OFFSET(debug_mv), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, V|D, "debug_mv"},   
Run Code Online (Sandbox Code Playgroud)

我想这行会以某种方式影响AVCodecContext的debug_mv.通过这个假设,我搜索了更多信息,我发现了一些我认为可能有用的代码片段.

pAVCodecContext->debug_mv =  FF_DEBUG_VIS_MV_P_FOR | FF_DEBUG_VIS_MV_B_FOR | FF_DEBUG_MB_TYPE | FF_DEBUG_MV;
Run Code Online (Sandbox Code Playgroud)

pAVCodecContext->debug |= FF_DEBUG_MV;    
Run Code Online (Sandbox Code Playgroud)

但两者都没有触发计算或填充motion_val数组.顺便说一下,我的代码基于Victor Hsieh和Jiasi Chen的代码,这段代码基本上就是ffmpeg源代码(libavcodec\mpegvideo.c).我还试图找到(也在文档的帮助下)触发计算的代码片段,但由于代码的复杂性,我没有得到任何结果.现在的问题是,是否有可能填充这些变量或开始计算运动矢量表,或者是否有任何其他替代方法来获得mpeg帧的每个块的运动矢量.

编辑:

我忘了提到我的ffmpeg版本

Zeranoe的FFmpeg版本:2014-07-08 git-14e2406

  • libavutil 52. 91.100/52. 91.100
  • libavcodec 55. 68.102/55. 68.102
  • libavformat 55. 45.100/55. 45.100
  • libavdevice 55. 13.101/55. 13.101
  • libavfilter 4. 10.100/4. 10.100
  • libswscale 2. 6.100/2. 6.100
  • libswresample 0. 19.100/0. 19.100
  • libpostproc 52. 3.100/52. 3.100

更改为更新版本(2.5),但它没有更改/解决问题.

c++ video ffmpeg vector motion-detection

3
推荐指数
1
解决办法
1192
查看次数