类 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 intPRESET_FASTstatic intPRESET_MEDIUMstatic intPRESET_ULTRAFAST
-
构造函数摘要
构造函数 修饰符 构造函数 描述 保护DISOpticalFlow(long addr)
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static DISOpticalFlow__fromPtr__(long addr)static DISOpticalFlowcreate()创建 DISOpticalFlow 的实例static DISOpticalFlowcreate(int preset)创建 DISOpticalFlow 的实例protected voidfinalize()intgetFinestScale()计算流量的高斯金字塔的最精细级别(零级别对应于原始图像分辨率)。intgetGradientDescentIterations()补丁逆搜索阶段中梯度下降的最大迭代次数。intgetPatchSize()用于匹配的图像补丁的大小(以像素为单位)。intgetPatchStride()相邻补丁之间的步幅。booleangetUseMeanNormalization()在计算补丁距离时是否使用补丁的均值归一化。booleangetUseSpatialPropagation()是否使用良好光流矢量的空间传播。floatgetVariationalRefinementAlpha()平滑项的权重 SEE: setVariationalRefinementAlphafloatgetVariationalRefinementDelta()颜色恒定性项的权重 SEE: setVariationalRefinementDeltafloatgetVariationalRefinementEpsilon()鲁棒惩罚器的范数值偏移 SEE: setVariationalRefinementEpsilonfloatgetVariationalRefinementGamma()梯度恒定性项的权重 SEE: setVariationalRefinementGammaintgetVariationalRefinementIterations()每个尺度的变分细化的定点迭代次数。voidsetFinestScale(int val)getFinestScale SEE: getFinestScalevoidsetGradientDescentIterations(int val)getGradientDescentIterations SEE: getGradientDescentIterationsvoidsetPatchSize(int val)getPatchSize SEE: getPatchSizevoidsetPatchStride(int val)getPatchStride SEE: getPatchStridevoidsetUseMeanNormalization(boolean val)getUseMeanNormalization SEE: getUseMeanNormalizationvoidsetUseSpatialPropagation(boolean val)getUseSpatialPropagation SEE: getUseSpatialPropagationvoidsetVariationalRefinementAlpha(float val)getVariationalRefinementAlpha SEE: getVariationalRefinementAlphavoidsetVariationalRefinementDelta(float val)getVariationalRefinementDelta SEE: getVariationalRefinementDeltavoidsetVariationalRefinementEpsilon(float val)getVariationalRefinementEpsilon SEE: getVariationalRefinementEpsilonvoidsetVariationalRefinementGamma(float val)getVariationalRefinementGamma SEE: getVariationalRefinementGammavoidsetVariationalRefinementIterations(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 光流算法采用的由粗到精方案引入的重大错误中恢复。然而,关闭此选项可以使输出流量场更平滑。 SEE: 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
-
-