问题标签 [motion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 从二进制图像中屏蔽 blob
我正在使用 openCV 和 C++ 对行走进行运动识别,我想创建一个蒙版或复制的图像,以达到提供的图片中看到的效果。. 以下是图像的解释 可以看到人类行走的结果斑点。然后,创建原始帧的蒙版图像或复制图像,现在对二进制人体斑点进行蒙版,并将未蒙版像素设置为零。结果是提取的具有黑色背景的人体。下图显示了人类斑点是如何被提取然后被屏蔽的。这是针对视频序列的每 5 帧进行的。到目前为止,我的代码包括获取每 5 帧,对其进行灰度化,找到所有 blob 的区域,并应用阈值来获得二进制图像,其中或多或少,只有人类 blob 是白色的,图像的其余部分是黑色的。现在,我正在尝试提取人体,但我不知道如何进行。请帮我。
我也想上传我在代码中使用的视频,但我不知道如何在这里上传,所以如果有人也可以帮助我。我想在我的问题中提供尽可能多的信息。
opencv - 根据相应的 3d 点集计算相机运动
我有一个小问题。我编写了一个程序,它使用相机和深度信息在每一帧中提取一组三维点。这些点在相机坐标系中,这意味着原点在相机中心,x 是水平距离,y 是垂直距离,z 是到相机的距离(沿光轴)。一切都以米为单位。即点 (2,-1,5) 将位于右侧 2 米、下方 1 米和沿相机光轴的 5 米处。
我在每个时间范围内计算这些点并且也知道对应关系,就像我知道哪个点t-1
属于哪个 3d 点t
。
我现在的目标是在我的世界坐标系中计算相机在每个时间帧中的运动(z 向上代表高度)。我想计算相对运动,但也想计算从某个起始位置开始的绝对运动,以可视化相机的轨迹。
这是一帧的示例数据集,其中包含相机坐标中点的当前(左)和前一个 3D 位置(右):
由于我想尽可能使用 OpenCV,因此我estimateAffine3D()
在 OpenCV 2.3 中找到了该函数,该函数采用两个 3D 点输入向量并使用 RANSAC 计算它们之间的仿射变换。
作为输出,我得到一个 3x4 变换矩阵。
我已经尝试通过设置 RANSAC 参数来使计算更准确,但很多时候转换矩阵显示出相当大的平移运动。正如您在示例数据中看到的那样,移动通常非常小。
所以我想问是否有人对我可以尝试什么有其他想法?OpenCV 是否为此提供其他解决方案?
另外,如果我在每个时间范围内都有相机的相对运动,我将如何将其转换为世界坐标?另外,我将如何获得从点 (0,0,0) 开始的绝对位置,以便我拥有每个时间帧的相机位置(和方向)?
如果有人能给我一些建议,那就太好了!
谢谢!
更新 1:
在@Michael Kupchick 很好的回答之后,我尝试检查OpenCV 中的estimateAffine3D() 函数的工作情况。因此,我创建了两个包含 6 个点对的小测试集,它们只有平移,而不是旋转,并查看了生成的变换矩阵:
测试集 1:
转换矩阵:
测试集 2:
转换矩阵:
--> 这给了我两个乍看之下正确的转换矩阵......
假设这是正确的,当我在每个时间步中都有这个变换矩阵时,我将如何重新计算它的轨迹?
任何人有任何提示或想法,为什么它那么糟糕?
video-encoding - 视频压缩中基于块的运动估计
正如我们所知,几乎所有的视频编码器都使用一些时间编码。它使用基于块(矩形区域)的运动估计来为参考/先前帧中的当前帧找到像素块的最佳math。这给出了运动矢量。如果运动是平移的(即,如果块向左/向右或向上/向下移动),这很好不会导致最少的偏差(原始减去预测)。
那么视频编码器采用什么方法来处理这种旋转运动。/运动。
然后它是否通过将该块编码为 P 帧内的帧内块(代码原样,没有任何先前的任何参考)来处理这种情况
或者
在将其编码为 P 宏块本身时,是否还有其他技巧可以处理它?
java - 在 Atom Board 上使用 OpenGL 进行动作捕捉
我正在寻找可以在给定输入的情况下控制每个关节的手臂。例如,我每毫秒都会收到一个位置,我需要每个关节移动到那个新位置。这将用于模拟动作捕捉。有没有关于如何做到这一点的好教程。我在一个对openGL的支持有限的原子板上进行编程。我尝试使用 C++ G3D,但它似乎对显卡来说太复杂了。渲染时出现了一些小故障。更基本的仅 OpenGL 方法会更好吗?是否有内置枢轴点的手臂模型?
search - 在 vim 中,如何进行自定义单词边界运动?
据我了解,w
通过将文本分成 3 组来识别单词边界:
1) 设置中指定的字符iskeyword
(字母、数字和下划线)
2)其他不可打印的字符(符号)
3) 空白字符
每次按下w
它都会转到下一个组 1 或组 2。我想对其进行自定义,使其仅转到下一个组 1,跳过“符号词”。
几乎可行的是:
nnoremap w /\k\+<CR>
它使用iskeyword
字符类\k
。但它很丑,因为它模拟了我执行搜索,这改变了我的突出显示,混乱了我的搜索历史,谁知道还有什么。有没有办法让这项工作像w
通常的命令一样“干净”?
flash - Flash Professional CS5.5 删除动画补间导入到舞台
我的动画师正在使用 Flash Professional CS4,而我正在使用 Flash Professional CS5.5。她向我发送从她的程序导出的 .swf 文件,我将它们导入到我的程序中进行开发。
但是,我们注意到,一旦将 .swf 文件导入 CS5.5(导入到舞台),所有补间动画都会从 .swf 中删除。
这是 CS4 到 CS5.5 的问题吗?有没有什么方法可以在不为她升级 200 美元的情况下解决这个问题?
android - Android - 相机作为运动检测器
如何使用前置摄像头和 Android SDK 实现一个简单的运动检测器?
一个示例场景是这样的:设备站在支架上并播放电影。如果一个人出现在它面前,甚至没有触摸它——它就会改变电影。
curve - 如何通过已知 2 个点的 3 个点找到抛物线运动中终点的坐标?
假设一个物体在 2D 坐标系中沿抛物线运动,从 P 到 Q,然后从 Q 到 R,其中 P 和 Q 的 2D 坐标是已知的,我们不知道通过这 3 个点的抛物线。
对象在 1 毫秒内从 P 到 Q,在 2 毫秒内从 Q 到 R。
是否可以计算 R 的二维位置?如果是,我怎么能找到它?如果没有,为什么不呢?
labview - 移动时跟踪 Zaber 设备的位置
我正在编写一个LabVIEW VI来移动Zaber线性执行器,我想在设备移动时每隔几毫秒记录一次设备的位置。
我已经安装了Zaber 的 LabVIEW 驱动程序并使用它的示例来让我的执行器移动,但是我如何在这些移动期间读取位置?
actionscript - TweenLite 圆周运动
如何使用 TweenLite [actionscript 3 library] 使对象以圆周运动从 (startX,startY) 移动到 (destinationX,destinationY) 并有一些像差?