类 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
-
构造函数摘要
构造函数 修饰符 构造函数 描述 protectedDISOpticalFlow(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 光流算法采用的粗到细方案引入的重大错误。但是,禁用此选项可以使输出流场更平滑。参见: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
-
-