【发布时间】:2022-11-07 00:32:40
【问题描述】:
我有一个问题,我无法找到一个线程。
我有一个圆形物体的摄像头,我需要旋转但我想旋转检测物体的旋转.如果对象顺时针或逆时针旋转。最后,例如,我想在对象上绘制一个矩形,该矩形将旋转与相机馈送中的对象相同的方向。
相机输入(如下图 GIF 所示)是使用 Otsus 算法处理的,并且对象总是以某种方式变形(即它不是 100% 圆形的)。
我研究了各种运动检测算法,通过比较两个帧,如果对象在帧上移动,你可以得到运动。但是这些方法无法确定旋转。
如果有人能如此好心地帮助我或指引我正确的方向,我将不胜感激。和以前一样,如果我不清楚,我当然会尝试进一步解释。谢谢!
【问题讨论】:
-
你对输入数据有影响吗?例如,除了“主要”对象之外,您能否要求图像中的“标记”?另一件事是元数据。一些电动相机会将元数据附加到有关其当前位置的图像上。如果您需要“与相机模型无关”,那当然是不可用的。
-
哦,等等,那个“圆形物体”是冒号还是管道或管道状结构的内部?不幸的是,在这种情况下,标记是看不见的。
-
不,该对象不在管道或类似管道的结构内。但我不是在旋转相机,而是在旋转物体:) 我猜我需要建立一个固定点(如凹痕),然后在帧之间进行比较。但我不知道它有多可靠。
-
好吧,如果您可以控制轮换,我会尝试以某种方式将该信息包含在元数据中。
-
^^ 为什么我要为此做广告?在对象本身中使用标记确实很难。对于一个:在这个例子中似乎工作正常的东西可能会在下一个(不同的)对象中惨遭失败。使用“凹痕”意味着:您可以 a) 识别凹痕(凹痕是 THE dent),b) 您可以恰恰(足够)计算凹痕的位置(及其旋转)。并且 c) 相同的算法可以在具有足够高置信度的凹痕的任何对象上工作。 - 只是为了提示您需要解决的问题...
标签: c# image-processing motion-detection