示例#1
0
def runTexture(img_list):
    """ This function administrates the extraction of a video texture from the
      given frames.
    """
    video_volume = assignment11.videoVolume(img_list)
    ssd_diff = assignment11.sumSquaredDifferences(video_volume)
    transition_diff = assignment11.transitionDifference(ssd_diff)
    alpha = 1.5*10**6
    idxs = assignment11.findBiggestLoop(transition_diff, alpha)

    diff3 = np.zeros(transition_diff.shape, float)

    for i in range(transition_diff.shape[0]): 
        for j in range(transition_diff.shape[1]): 
            diff3[i,j] = alpha*(i-j) - transition_diff[i,j] 

    return vizDifference(ssd_diff), \
           vizDifference(transition_diff), \
           vizDifference(diff3), \
           assignment11.synthesizeLoop(video_volume, idxs[0]+2, idxs[1]+2)
示例#2
0
def test_transitionDifference():
    ssd1 = np.zeros((9,9), dtype = float) 
    ssd1[4,4] = 1

    ssd2 = np.eye(5, dtype = float)

    out1 = np.array([[0.0625, 0.  , 0.   , 0.  ,  0.    ],
                     [0.    , 0.25, 0.   , 0.  ,  0.    ],
                     [0.    , 0.  , 0.375, 0.  ,  0.    ],
                     [0.    , 0.  , 0.   , 0.25,  0.    ],
                     [0.    , 0.  , 0.   , 0.  ,  0.0625]], dtype = float)
    out2 = np.array([[1.]], dtype = float)

    for ssd, true_out in zip((ssd1, ssd2), (out1, out2)):
        print "Input:\n{}\n".format(ssd)
        usr_out = assignment11.transitionDifference(ssd)

        if type(usr_out) != type(true_out):
            print ("Error: transitionDifference output has type {}. " +
                   "Expected type is {}.").format(type(usr_out), type(true_out))
            return False

        if usr_out.shape != true_out.shape:
            print ("Error: transitionDifference output has shape {}. " +
                   "Expected shape is {}.").format(usr_out.shape,
                                                   true_out.shape)
            return False

        if usr_out.dtype != true_out.dtype:
            print ("Error: transitionDifference output has dtype {}. " +
                   "Expected dtype is {}.").format(usr_out.dtype,
                                                   true_out.dtype)
            return False

        if not np.all(np.abs(usr_out - true_out) < 0.10):
            print ("Error: transitionDifference output has value:\n{}\n" + 
                   "Expected value:\n{}").format(usr_out, true_out)
            return False
        print "Passed current input."
    print "transitionDifference passed."
    return True
示例#3
0
文件: main.py 项目: sanzo1/cs6475-1
def runTexture(img_list, alpha):
    """ This function administrates the extraction of a video texture from the
    given frames, and generates the three viewable difference matrices.
    """
    video_volume = a11.videoVolume(img_list)
    ssd_diff = a11.computeSimilarityMetric(video_volume)
    transition_diff = a11.transitionDifference(ssd_diff)

    print "Alpha is {}".format(alpha)
    idxs = a11.findBiggestLoop(transition_diff, alpha)

    diff3 = np.zeros(transition_diff.shape, float)

    for i in range(transition_diff.shape[0]):
        for j in range(transition_diff.shape[1]):
            diff3[i, j] = alpha * (i - j) - transition_diff[i, j]

    return (vizDifference(ssd_diff),
            vizDifference(transition_diff),
            vizDifference(diff3),
            a11.synthesizeLoop(video_volume, idxs[0] + 2, idxs[1] + 2))