类 DISOpticalFlow
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.video.DenseOpticalFlow
-
- org.opencv.video.DISOpticalFlow
-
public class DISOpticalFlow extends DenseOpticalFlow
DIS 光流算法。此类实现了密集逆向搜索 (DIS) 光流算法。有关该算法的更多详细信息,请参见 CITE: Kroeger2016。包含三个预设,其中包含预选参数,以在速度和质量之间提供合理的权衡。但是,即使是最慢的预设也仍然相对较快,如果您需要更好的质量并且不关心速度,请使用 DeepFlow。与论文中描述的算法相比,此实现包含几个附加功能,包括光流向量的空间传播 (REF: getUseSpatialPropagation),以及利用传递给 REF: calc 的初始流近似的选项(如果传递了前一帧的流场,则实际上是时间传播)。
-
-
字段摘要
字段 修饰符和类型 字段 描述 static int
PRESET_FAST
static int
PRESET_MEDIUM
static int
PRESET_ULTRAFAST
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protected
DISOpticalFlow(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static DISOpticalFlow
__fromPtr__(long addr)
static DISOpticalFlow
create()
创建 DISOpticalFlow 的实例static DISOpticalFlow
create(int preset)
创建 DISOpticalFlow 的实例protected void
finalize()
int
getFinestScale()
计算光流的最高级别高斯金字塔(零级对应于原始图像分辨率)。int
getGradientDescentIterations()
补丁逆向搜索阶段中梯度下降迭代的最大次数。int
getPatchSize()
用于匹配的图像补丁大小(以像素为单位)。int
getPatchStride()
相邻补丁之间的步长。boolean
getUseMeanNormalization()
是否在计算补丁距离时使用补丁的均值归一化。boolean
getUseSpatialPropagation()
是否使用良好光流向量的空间传播。float
getVariationalRefinementAlpha()
平滑项的权重 SEE: setVariationalRefinementAlphafloat
getVariationalRefinementDelta()
颜色一致性项的权重 SEE: setVariationalRefinementDeltafloat
getVariationalRefinementEpsilon()
鲁棒惩罚器的范数值偏移 SEE: setVariationalRefinementEpsilonfloat
getVariationalRefinementGamma()
梯度一致性项的权重 SEE: setVariationalRefinementGammaint
getVariationalRefinementIterations()
每个比例的变分细化不动点迭代次数。void
setFinestScale(int val)
getFinestScale SEE: getFinestScalevoid
setGradientDescentIterations(int val)
getGradientDescentIterations SEE: getGradientDescentIterationsvoid
setPatchSize(int val)
getPatchSize SEE: getPatchSizevoid
setPatchStride(int val)
getPatchStride SEE: getPatchStridevoid
setUseMeanNormalization(boolean val)
getUseMeanNormalization SEE: getUseMeanNormalizationvoid
setUseSpatialPropagation(boolean val)
getUseSpatialPropagation SEE: getUseSpatialPropagationvoid
setVariationalRefinementAlpha(float val)
getVariationalRefinementAlpha SEE: getVariationalRefinementAlphavoid
setVariationalRefinementDelta(float val)
getVariationalRefinementDelta SEE: getVariationalRefinementDeltavoid
setVariationalRefinementEpsilon(float val)
getVariationalRefinementEpsilon SEE: getVariationalRefinementEpsilonvoid
setVariationalRefinementGamma(float val)
getVariationalRefinementGamma SEE: getVariationalRefinementGammavoid
setVariationalRefinementIterations(int val)
getGradientDescentIterations SEE: getGradientDescentIterations-
从类 org.opencv.video.DenseOpticalFlow继承的方法
calc, collectGarbage
-
从类 org.opencv.core.Algorithm继承的方法
clear, empty, getDefaultName, getNativeObjAddr, save
-
-
-
-
方法详情
-
__fromPtr__
public static DISOpticalFlow __fromPtr__(long addr)
-
getFinestScale
public int getFinestScale()
计算光流的最高级别高斯金字塔(零级对应于原始图像分辨率)。最终流通过双线性上采样获得。SEE: setFinestScale- 返回值
- 自动生成
-
setFinestScale
public void setFinestScale(int val)
getFinestScale SEE: getFinestScale- 参数
val
- 自动生成
-
getPatchSize
public int getPatchSize()
用于匹配的图像补丁大小(以像素为单位)。通常,默认的 8x8 补丁在大多数情况下都能很好地工作。SEE: setPatchSize- 返回值
- 自动生成
-
setPatchSize
public void setPatchSize(int val)
getPatchSize SEE: getPatchSize- 参数
val
- 自动生成
-
getPatchStride
public int getPatchStride()
相邻补丁之间的步长。必须小于补丁大小。较低的值对应于较高的光流质量。SEE: setPatchStride- 返回值
- 自动生成
-
setPatchStride
public void setPatchStride(int val)
getPatchStride SEE: getPatchStride- 参数
val
- 自动生成
-
getGradientDescentIterations
public int getGradientDescentIterations()
补丁逆向搜索阶段中梯度下降迭代的最大次数。在某些情况下,较高的值可能会提高质量。SEE: setGradientDescentIterations- 返回值
- 自动生成
-
setGradientDescentIterations
public void setGradientDescentIterations(int val)
getGradientDescentIterations SEE: getGradientDescentIterations- 参数
val
- 自动生成
-
getVariationalRefinementIterations
public int getVariationalRefinementIterations()
每个比例的变分细化不动点迭代次数。设置为零以完全禁用变分细化。较高的值通常会产生更平滑和更高质量的光流。SEE: setGradientDescentIterations- 返回值
- 自动生成
-
setVariationalRefinementIterations
public void setVariationalRefinementIterations(int val)
getGradientDescentIterations SEE: getGradientDescentIterations- 参数
val
- 自动生成
-
getVariationalRefinementAlpha
public float getVariationalRefinementAlpha()
平滑项的权重 SEE: setVariationalRefinementAlpha- 返回值
- 自动生成
-
setVariationalRefinementAlpha
public void setVariationalRefinementAlpha(float val)
getVariationalRefinementAlpha SEE: getVariationalRefinementAlpha- 参数
val
- 自动生成
-
getVariationalRefinementDelta
public float getVariationalRefinementDelta()
颜色一致性项的权重 SEE: setVariationalRefinementDelta- 返回值
- 自动生成
-
setVariationalRefinementDelta
public void setVariationalRefinementDelta(float val)
getVariationalRefinementDelta SEE: getVariationalRefinementDelta- 参数
val
- 自动生成
-
getVariationalRefinementGamma
public float getVariationalRefinementGamma()
梯度一致性项的权重 SEE: setVariationalRefinementGamma- 返回值
- 自动生成
-
setVariationalRefinementGamma
public void setVariationalRefinementGamma(float val)
getVariationalRefinementGamma SEE: getVariationalRefinementGamma- 参数
val
- 自动生成
-
getVariationalRefinementEpsilon
public float getVariationalRefinementEpsilon()
鲁棒惩罚器的范数值偏移 SEE: setVariationalRefinementEpsilon- 返回值
- 自动生成
-
setVariationalRefinementEpsilon
public void setVariationalRefinementEpsilon(float val)
getVariationalRefinementEpsilon SEE: getVariationalRefinementEpsilon- 参数
val
- 自动生成
-
getUseMeanNormalization
public boolean getUseMeanNormalization()
是否在计算补丁距离时使用补丁的均值归一化。默认情况下启用它,因为它通常由于对光照变化的鲁棒性增强而提供明显的质量提升。如果您确定您的序列不包含任何光照变化,则将其关闭。SEE: setUseMeanNormalization- 返回值
- 自动生成
-
setUseMeanNormalization
public void setUseMeanNormalization(boolean val)
getUseMeanNormalization SEE: getUseMeanNormalization- 参数
val
- 自动生成
-
getUseSpatialPropagation
public boolean getUseSpatialPropagation()
是否使用良好光流向量的空间传播。此选项默认启用,因为它平均而言效果更好,并且有时可以帮助恢复由 DIS 光流算法采用的粗到细方案引入的重大错误。但是,禁用此选项可以使输出流场更平滑。参见:setUseSpatialPropagation- 返回值
- 自动生成
-
setUseSpatialPropagation
public void setUseSpatialPropagation(boolean val)
getUseSpatialPropagation SEE: getUseSpatialPropagation- 参数
val
- 自动生成
-
create
public static DISOpticalFlow create(int preset)
创建 DISOpticalFlow 的实例- 参数
preset
- PRESET_ULTRAFAST、PRESET_FAST 和 PRESET_MEDIUM 之一- 返回值
- 自动生成
-
create
public static DISOpticalFlow create()
创建 DISOpticalFlow 的实例- 返回值
- 自动生成
-
finalize
protected void finalize() throws java.lang.Throwable
- 覆盖
finalize
在类DenseOpticalFlow
中- 抛出
java.lang.Throwable
-
-