예제 #1
0
def getHed(d=None):
    if 'masks' not in g:
        g['masks'] = getMasksByPath(path)
    hed = g['masks']
    img = hed.repeat(3).reshape(list(hed.shape)+[3])
    g['raw'][:,:,:] = img
    g['img'][:,:,:] = img
    begin(g['img'])
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
예제 #2
0
def mouse(data):
    if 'up' in data:
        pass
    elif 'down' in data:
        g['mouse'] = np.array(data['down'])
    else:
        xy = np.array(data)
        img, raw = vi.move(xy - g['mouse'])
        g['mouse'] = xy
        return [base64Img(img),base64Img(raw)]
예제 #3
0
def delKinds(d=None):
    if 'masks' not in g:
        g['masks'] = getMasksByPath(path)
    print(d)
    dels = [nameToKind[name] for name in d]
    img = smartSc(dels,g['masks'],g['rraw'])
    g['raw'][:,:,:] = img
    g['img'][:,:,:] = img
    begin(g['img'])
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
예제 #4
0
def delSc(d=None):
    deln,isRow,isSal = d
    if not deln:
        return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
    
    sal = g['sal'] if isSal else None
    img = seamCarveBlack(g['rraw'],deln,row=isRow,mask=sal)
    g['raw'][:,:,:] = img
    g['img'][:,:,:] = img
    begin(g['img'])
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
예제 #5
0
def changeBg(d):
    g['bg'][:,:,:] = g['raw']
    img = g['bg']
    changeImg(img,{k:d[k] for k in d if k in funDic and k in imgFunList})
    colorTables = changeColorTable(img,{k:d[k] for k in d if k in funDic and k in channelFunList})
    
    fg = g['fg']
    sal = g['sal'][...,None]
    g['img'][:,:,:] = ((np.zeros(sal.shape)+1-sal)*img+sal*fg).astype(np.uint8)
    g['resHis'] = getHisWithLine(g['img'], g['inds'], colorTables)
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
예제 #6
0
def changeChannels(args):
    
    bg = g['raw'].copy()
    d = args[1]
    changeImg(bg,{k:d[k] for k in d if k in funDic and k in imgFunList})
    changeColorTable(bg,{k:d[k] for k in d if k in funDic and k in channelFunList})
    
    d = args[0]
    img = g['raw'].copy()
    changeImg(img,{k:d[k] for k in d if k in funDic and k in imgFunList})
    changeColorTable(img,{k:d[k] for k in d if k in funDic and k in channelFunList})
    
    sal = g['sal'][...,None]
    g['img'][:,:,:] = ((np.zeros(sal.shape)+1-sal)*bg+sal*img).astype(np.uint8)
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
예제 #7
0
def getRawHis(v=None):
    return base64Img(g['rawHis'])
예제 #8
0
def zoomDown(v=None):
    img, raw = vi.zoomDown()
    return [base64Img(img),base64Img(raw)]
예제 #9
0
def getBegin(v=None):
    imgg = cv2.resize(img,SHOW_SHAPE)
    return base64Img(imgg)
예제 #10
0
def getRaw(v=None):
    base = base64Img(img)
    return base
예제 #11
0
def repetShow():
    p = request.args.get('ind', 5, type=int)
    print (request.args)
#    sleep(0.1)
    base = base64Img(frams[p%len(frams)])
    return jsonify(base)
예제 #12
0
def useSal(d=None):
    g['sal'][:,:] = getSaliencyByPath(g['path'])
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]
예제 #13
0
def noSal(d=None):
    g['sal'][:,:] = np.ones(g['img'].shape[:2])
    g['img'][:,:,:] = g['fg']
    return [base64Img(vi.getView(True)),base64Img(g['resHis'])]