Пример #1
0
def carveVSeam(cim, seam):
    'Removes a given seam from an image, and returns resulting image.'
    cimout = CImage(cim.width-1,cim.height)
    for y in cim.yrange():
        for x in range(0,seam[y]):
            cimout.pix[x,y] = cim.pix[x,y]
        for x in range(seam[y],cim.width-1):
            cimout.pix[x,y] = cim.pix[x+1,y]
    return cimout
Пример #2
0
def insertVSeam(cim, seam):
    print seam
    'Insert a seam into the image and returns resulting image.'
    cimout = CImage(cim.width + 1, cim.height)
    seamIndex = 0
    for y in cim.yrange():
        for x in range(0, seam[y]):
            cimout.pix[x,y] = cim.pix[x,y]
        #average of the surrounding pixels
        cimout.pix[seam[y], y] = getAverage(cim, seam[y], y) 
        for x in range(seam[y]-1, cim.width-1):
            #copy over the pixels
            cimout.pix[x+2, y] = cim.pix[x+1,y] 
    return cimout
Пример #3
0
            cimout.pix[x,y] = cim.pix[x,y]
        for x in range(seam[y],cim.width-1):
            cimout.pix[x,y] = cim.pix[x+1,y]
    return cimout

def findEdges(cim):
    'Returns a CImage containing the energy function of this image'
    return CImage(cim.im.filter(ImageFilter.FIND_EDGES).filter(ImageFilter.BLUR).convert('I'))

def markVSeam(cim, seam):
    'Fills in an image with yellow along the given seam.'
    for y in cim.yrange():
        cim.pix[seam[y],y] = (255,255,0)


cim0 = CImage(img)
cim0.show(canvas)
cim1 = CImage(cim0.im)
cimold = CImage(cim0.im)
cime = findEdges(cim1)

def show0(event):
    cim0.show(canvas)
def show1(event):
    cim1.show(canvas)
def show2(event):
    cime.show(canvas)
def delseam(event):
    global cime, cim1, cimold
    
    tstart = time.time()