コード例 #1
0
ファイル: optflow.py プロジェクト: bladesaber/mmcv_py35
def dequantize_flow(dx, dy, max_val=0.02, denorm=True):
    'Recover from quantized flow.\n\n    Args:\n        dx (ndarray): Quantized dx.\n        dy (ndarray): Quantized dy.\n        max_val (float): Maximum value used when quantizing.\n        denorm (bool): Whether to multiply flow values with width/height.\n\n    Returns:\n        ndarray: Dequantized flow.\n    '
    assert (dx.shape == dy.shape)
    assert ((dx.ndim == 2) or ((dx.ndim == 3) and (dx.shape[(-1)] == 1)))
    (dx, dy) = [dequantize(d, (-max_val), max_val, 255) for d in [dx, dy]]
    if denorm:
        dx *= dx.shape[1]
        dy *= dx.shape[0]
    flow = np.dstack((dx, dy))
    return flow
コード例 #2
0
ファイル: optflow.py プロジェクト: zm66260/mmcv
def dequantize_flow(dx, dy, max_val=0.02, denorm=True):
    """Recover from quantized flow.

    Args:
        dx (ndarray): Quantized dx.
        dy (ndarray): Quantized dy.
        max_val (float): Maximum value used when quantizing.
        denorm (bool): Whether to multiply flow values with width/height.

    Returns:
        ndarray: Dequantized flow.
    """
    assert dx.shape == dy.shape
    assert dx.ndim == 2 or (dx.ndim == 3 and dx.shape[-1] == 1)

    dx, dy = [dequantize(d, -max_val, max_val, 255) for d in [dx, dy]]

    if denorm:
        dx *= dx.shape[1]
        dy *= dx.shape[0]
    flow = np.dstack((dx, dy))
    return flow