live_rep_YTIO.py 文件源码

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

项目:DeepRepICCV2015 作者: tomrunia 项目源码 文件源码
def get_boundingbox(self):

    fstd = numpy.std(self.frame_set,axis=0)
    framesstd = numpy.mean(fstd)
    th = framesstd
    ones = numpy.ones(10)
    big_var = (fstd>th)


    if (framesstd==0): # no bb, take full frame
        frameROIRes = numpy.zeros([20,50,50])
        for i in range(20):
        frameROIRes[i,:,:] = scipy.misc.imresize(self.frame_set[i,:,:], size=(50,50),interp='bilinear')

        frameROIRes = numpy.reshape(frameROIRes, (1,frameROIRes.shape[0]*frameROIRes.shape[1]*frameROIRes.shape[2]))
        frameROIRes = frameROIRes.astype(numpy.float32)

        return (frameROIRes)

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

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

    if (i.size > 0):

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


        ll = si.shape[0]
        th1 = round(ll*0.02)
        th2 = numpy.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 = self.frame_set[:,y1:y2,x1:x2]
        else:       
        framesRoi = self.frame_set[:,:,:]
    else:
        framesRoi = self.frame_set[:,:,:]

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

    riofstd = numpy.std(frameROIRes,axis=0)
    self.cur_std = numpy.mean(riofstd)

    frameROIRes = numpy.reshape(frameROIRes, (1,frameROIRes.shape[0]*frameROIRes.shape[1]*frameROIRes.shape[2]))
    frameROIRes = frameROIRes.astype(numpy.float32)

    return (frameROIRes)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号