common.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:DeepRepICCV2015 作者: tomrunia 项目源码 文件源码
def get_boundingbox(frame_set, use_region_of_interest=False):

    fstd = np.std(frame_set,axis=0)
    framesstd = np.mean(fstd)
    #th = framesstd  / 3
    th = framesstd
    #ones = np.ones(8)
    ones = np.ones(10)
    big_var = (fstd>th)

    if not use_region_of_interest or framesstd==0:
        # no bb, take full frame
        frameROIRes = np.zeros([20,50,50])
        for i in range(20):
            frameROIRes[i,:,:] = scipy.misc.imresize(frame_set[i,:,:], size=(50,50),interp='bilinear')
        #frameROIRes = np.reshape(frameROIRes, (1,frameROIRes.shape[0]*frameROIRes.shape[1]*frameROIRes.shape[2]))
        frameROIRes = frameROIRes.astype(np.float32)
        return frameROIRes  #, framesstd)

    big_var = big_var.astype(np.float32)
    big_var = filters.convolve1d(big_var, ones, axis=0)
    big_var = filters.convolve1d(big_var, ones, axis=1)

    th2 = 80
    i,j = np.nonzero(big_var>th2)

    if (i.size > 0):

        si = np.sort(i)
        sj = np.sort(j)


        ll = si.shape[0]
        th1 = int(round(ll*0.03))
        th2 = int(np.floor(ll*0.98))

        y1 = si[th1]
        y2 = si[th2]
        x1 = sj[th1]
        x2 = sj[th2]

        # cut image ROI
        if (((x2-x1)>0) and ((y2-y1)>0)):
            framesRoi = frame_set[:,y1:y2,x1:x2]
        else:
            framesRoi = frame_set[:,:,:]
    else:
        framesRoi = frame_set[:,:,:]

    # debug - show ROI
    #cv2.namedWindow('ROI', cv2.WINDOW_NORMAL)
    #bla= scipy.misc.imresize(framesRoi[19,:,:], size=(200,200),interp='bilinear')
    #cv2.imshow('ROI', bla)

    # resize to 50x50
    frameROIRes = np.zeros([20,50,50])
    for i in range(20):
        frameROIRes[i,:,:] = scipy.misc.imresize(framesRoi[i,:,:], size=(50,50),interp='bilinear')

    #frameROIRes = frameROIRes / 255  # TODO - does this really nessacarry?
    return (frameROIRes)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号