Beispiel #1
0
def main():
    command = input("Enter 'Decode' or 'Hide': ")
    if (command == "Hide"):

        fname = input("What is the image you want to hide the message in?: ")
        fimg = cImage.FileImage(fname)

        nfname = input("What is the text file you want to hide: ")
        nfile = open(nfname, "r")
        nimg = Hide(fimg, nfile)
        w = nimg.getWidth()
        h = nimg.getHeight()

        nwindow = cImage.ImageWin("New", w, h)
        nimg.draw(nwindow)
        nimg.save("new.png")
        nwindow.exitOnClick()
    elif (command == "Decode"):
        gname = input("What is the image file  you want decode?: ")
        fimg = cImage.FileImage(gname)
        nfile = open("Decoded.txt", "w")
        nfile.write(Decode(fimg))
        nfile.close
    else:
        print("Invalid Command")
    def __init__(self, problem, imageFilename):
        '''Takes a SlidingPuzzle and the filename for a GIF image and initializes the display.'''
        self.__problem = problem
        self.__totalScore = 0
        numRows, numCols = problem.getDim()

        image = cImage.FileImage(imageFilename)
        self.__tileHeight = image.getHeight() // numRows
        self.__tileWidth = image.getWidth() // numCols
        self.__tileList = []
        for i in range(numRows * numCols):
            self.__tileList.append(
                cImage.EmptyImage(self.__tileWidth, self.__tileHeight))

        t = 0
        for r in range(numRows):
            for c in range(numCols):
                for x in range(self.__tileWidth):
                    for y in range(self.__tileHeight):
                        self.__tileList[t].setPixel(
                            x, y,
                            image.getPixel(c * self.__tileWidth + x,
                                           r * self.__tileHeight + y))
                t = t + 1

        for x in range(self.__tileWidth):
            for y in range(self.__tileHeight):
                self.__tileList[self.__problem.getBlank()].setPixel(
                    x, y, cImage.Pixel(255, 255, 255))

        self.__win = cImage.ImageWin("Sliding Puzzle!",
                                     numCols * self.__tileWidth,
                                     numRows * self.__tileHeight)
        self.update()
def pil_to_ppm(imagem):
    """Constrói e salva uma imagem em formato PPM, modo ASCII."""
    # carrega ficheiro origem
    pil_img = cImage.FileImage(imagem)
    largura = pil_img.getWidth()
    altura = pil_img.getHeight()
    nome_completo = imagem.split('/')[-1]
    nome = '/Users/ernestojfcosta/Desktop/' + nome_completo.split(
        '.')[0] + '.ppm'
    ficheiro = open(nome, 'w')
    # constrói cabeçalho (modo, comentário, dimensão, cor máxima
    ficheiro.write('P3\n')
    ficheiro.write('# Criado por Ernesto Costa.\n')
    ficheiro.write(str(largura) + ' ' + str(altura) + '\n')
    ficheiro.write('255\n')
    # Guarda pixeis
    for lin in range(altura):
        for col in range(largura):
            pixel = pil_img.getPixel(col, lin)
            r = str(pixel.getRed()) + '\n'
            ficheiro.write(r)
            g = str(pixel.getGreen()) + '\n'
            ficheiro.write(g)
            b = str(pixel.getBlue()) + '\n'
            ficheiro.write(b)
    ficheiro.close()
    return ficheiro
Beispiel #4
0
def main():
    # Get file names
    oname = sys.argv[1]
    nname = sys.argv[2]

    # Open and read in original image
    oimg = cImage.FileImage(oname)

    # Display image
    w = oimg.getWidth()
    h = oimg.getHeight()
    owindow = cImage.ImageWin("Original Image", w, h)
    oimg.draw(owindow)

    # Copy Image
    nimg = copyImg(oimg)

    # Display new image
    w = nimg.getWidth()
    h = nimg.getHeight()
    nwindow = cImage.ImageWin("New Image", w, h)
    nimg.draw(nwindow)

    nimg.save(nname)

    nwindow.exitOnClick()
def main(imagem_fich, funcao):
    imagem = cImage.FileImage(imagem_fich)
    mostra_imagem_b(imagem)

    nova_imagem = funcao(imagem)
    mostra_imagem_b(nova_imagem)
    janela.exitOnClick()
Beispiel #6
0
def manipula_cor(imagem_fich, val_r, val_g, val_b):
    """ Manipula cores. Altera de modo independente os
    três canais de cor."""

    imagem = cImage.FileImage(imagem_fich)
    largura = imagem.getWidth()
    altura = imagem.getHeight()

    janela = cImage.ImageWin('Manipula cores', 2 * largura, altura)
    imagem.draw(janela)
    nova_imagem = cImage.EmptyImage(largura, altura)

    for coluna in range(largura):
        for linha in range(altura):
            pixel = imagem.getPixel(coluna, linha)
            r = pixel.getRed()
            g = pixel.getGreen()
            b = pixel.getBlue()
            novo_r = max(r, r + ((val_r * r) % 255))
            novo_g = max(g, g + ((val_g * g) % 255))
            novo_b = max(r, r + ((val_b * b) % 255))
            novo_pixel = cImage.Pixel(novo_r, novo_g, novo_b)
            nova_imagem.setPixel(coluna, linha, novo_pixel)
    nova_imagem.setPosition(largura + 1, 0)
    nova_imagem.draw(janela)
    janela.exitOnClick()
def main():
    kernel_x = [[-1,0,1],[-2,0,2],[-1,0,1]]
    kernel_y = [[1,2,1],[0,0,0],[-1,-2,-1]]
    
    janela = cImage.ImageWin('Convolu��o', 270,360)
    my_image = cImage.FileImage(270,360)
    
Beispiel #8
0
def main4(imagem_fich_1, imagem_fich_2, funcao):
    imagem_1 = cImage.FileImage(imagem_fich_1)
    imagem_2 = cImage.FileImage(imagem_fich_2)

    largura_1 = imagem_1.getWidth()
    altura_1 = imagem_1.getHeight()
    largura_2 = imagem_2.getWidth()
    altura_2 = imagem_2.getHeight()
    largura = min(largura_1, largura_2)
    altura = min(altura_1, altura_2)

    janela = cImage.ImageWin('Fusão', largura, altura)

    nova_imagem = funde(imagem_1, imagem_2, funcao)

    nova_imagem.draw(janela)
    janela.exitOnClick()
def mostra_imagem(img_fich):
    imagem = cImage.FileImage(img_fich)
    largura = imagem.getWidth()
    altura = imagem.getHeight()

    janela = cImage.ImageWin('Imagem', largura, altura)
    imagem.draw(janela)
    janela.exitOnClick()
def mostra_imagem(caminho_imagem):
    """
    Mostra uma imagem guardada num ficheiro.
    """
    minha_janela = cImage.ImageWin("A minha imagem", 530, 380)
    imagem = cImage.FileImage(caminho_imagem)
    imagem.draw(minha_janela)
    minha_janela.exitOnClick()
def mostra_imagem(img_fich):
    # Carrega a imagem do disco
    imagem = cImage.FileImage(img_fich)
    largura = imagem.getWidth()
    altura = imagem.getHeight()
    # Cria janela
    janela = cImage.ImageWin('Imagem', largura,altura)
    # Mostra imagem na janela
    imagem.draw(janela)
    # Termina
    janela.exitOnClick()
Beispiel #12
0
def main(imagem_fich):
    imagem = cImage.FileImage(imagem_fich)
    largura = imagem.getWidth()
    altura = imagem.getHeight()
    
    nova_imagem = roda_90(imagem)
    janela = cImage.ImageWin('Roda 90', altura,largura) #por causa da rota��o
    
    nova_imagem.draw(janela)
    
    janela.exitOnClick()
def transforma(imagem_fich, funcao_cor):
    """ Transforma uma imagem de acordo com a fun��o de cor."""
    imagem = cImage.FileImage(imagem_fich)
    largura = imagem.getWidth()
    altura = imagem.getHeight()
    janela = cImage.ImageWin('Transforma��o de Imagem', 2 * largura, altura)
    imagem.draw(janela)

    nova_imagem = manipula_imagem(imagem, funcao_cor)
    nova_imagem.setPosition(largura + 1, 0)
    nova_imagem.draw(janela)
    janela.exitOnClick()
def mostra_corta_imagem(imagem, pos_x, dim_x, pos_y, dim_y):
    img = cImage.FileImage(imagem)
    altura = img.getHeight()
    largura = img.getWidth()
    img_cortada = corta_imagem(img,pos_x, dim_x, pos_y, dim_y)
    
    janela = cImage.ImageWin('Corta Imagem', 2*largura, altura)
    img_cortada.setPosition(largura+pos_x, pos_y)
    img.draw(janela)
    img_cortada.draw(janela)
    
    janela.exitOnClick()
Beispiel #15
0
def main():
    origImage = cImage.FileImage(sys.argv[1])
    w = origImage.getWidth()
    h = origImage.getHeight()
    origWindow = cImage.ImageWin("Original Window", w, h)
    origImage.draw(origWindow)
    newWindow = cImage.ImageWin("New Window", w, h)
    aList = oldList(origImage, w, h)
    cdfList = sortList(aList)
    newImage = turnGrey(aList, cdfList, origImage)
    newImage.draw(newWindow)
    origWindow.exitOnClick()
    plotFreqs(aList, oldList(newImage, w, h), cdfList)
Beispiel #16
0
def main14(imagem_fich, angulo):
    imagem = cImage.FileImage(imagem_fich)

    largura = imagem.getWidth()
    altura = imagem.getHeight()

    janela = cImage.ImageWin('Roda', largura, altura)

    nova_imagem = roda_imagem(imagem, angulo)

    nova_imagem.draw(janela)

    janela.exitOnClick()
def mostra_encripta(imagem):
    img = cImage.FileImage(imagem)
    largura = img.getWidth()
    altura = img.getHeight()
    
    nova_imagem = encripta(img)
    
    janela = cImage.ImageWin('Encripta', 2*largura, altura)
    nova_imagem.setPosition(largura+1,0)
    
    img.draw(janela)
    nova_imagem.draw(janela)
    
    janela.exitOnClick()
def cria_moldura(imagem,tamanho, cor):
    """Cria uma moldura à volta da imagem original de tamanho e cor."""
    img = cImage.FileImage(imagem)
    largura = img.getWidth()
    altura = img.getHeight()
    
    nova_imagem = cImage.EmptyImage(largura+2*tamanho, altura + 2*tamanho)
   
    janela = cImage.ImageWin('Moldura', largura+2*tamanho, altura + 2*tamanho)
    janela.setBackground('red')

    img.setPosition(tamanho, tamanho)
    img.draw(janela)
    janela.exitOnClick()
Beispiel #19
0
def filter(ifile, op, param={}, ofile=''):
    import cImage
    OldImage = cImage.FileImage(ifile)
    width = OldImage.getWidth()
    height = OldImage.getHeight()
    myimagewindow = cImage.ImageWin(str(op), width * 2, height)
    OldImage.setPosition(0, 0)
    OldImage.draw(myimagewindow)
    NewImage = op(OldImage, width, height, param)  # filer function call
    NewImage.setPosition(width, 0)
    NewImage.draw(myimagewindow)
    if ofile != '':
        NewImage.save(ofile)
    myimagewindow.exitOnClick()
def mostra(imagem):
    """ Procede à diminiuição do ruído da imagem."""  
    # Cria imagens
    img = cImage.FileImage(imagem)
    nova_img = elimina_ruido(img)
    # Cria janela
    largura = img.getWidth()
    altura = img.getHeight()    
    janela = cImage.ImageWin('Elimina ruído', 2 * largura, altura )
    # Coloca imagens
    nova_img.setPosition(largura+1,0)
    img.draw(janela)
    nova_img.draw(janela)
    # Termina
    janela.exitOnClick() 
def displayImageFile(fileName):
    """
    Displays an image file in an appropriately sized window

    Arguments:
        fileName: the name of a file holding a graphics image (*.gif, *.png, etc.)

    Returns:
        None
    """
    # Get the image file
    theImage = cImage.FileImage(fileName)

    # Display it
    displayImage(theImage)
Beispiel #22
0
def mostra_convol_2(imagem, mascara):
    """ Convolução de uma  imagem."""
    # Cria imagens
    img = cImage.FileImage(imagem)
    nova_img = transforma_convol(img, mascara)
    # Cria janela
    largura = img.getWidth()
    altura = img.getHeight()
    janela = cImage.ImageWin('Convolução', 2 * largura, altura)
    # Coloca imagens
    nova_img.setPosition(largura + 1, 0)
    img.draw(janela)
    nova_img.draw(janela)
    # Termina
    janela.exitOnClick()
Beispiel #23
0
def main78(nome_fich, limiar):
    # Prepara
    imagem = cImage.FileImage(nome_fich)
    largura = imagem.getWidth()
    altura = imagem.getHeight()
    # Converte
    nova_imagem = preto_branco(nome_fich, limiar)
    # Cria janela
    janela = cImage.ImageWin('Preto e Branco', 2 * largura, altura)
    # Mostra
    imagem.draw(janela)
    nova_imagem.setPosition(largura, 0)
    nova_imagem.draw(janela)
    # Termina
    janela.exitOnClick()
Beispiel #24
0
def mostra_reduz_cores(imagem, palete):
    """ Substitui na imagem as cores pelas mais próximas na palete."""
    # Cria imagens
    img = cImage.FileImage(imagem)
    nova_img = reduz_cores(img, palete)
    # Cria janela
    largura = img.getWidth()
    altura = img.getHeight()
    janela = cImage.ImageWin('Reduz Cores', 2 * largura, altura)
    # Coloca imagens
    nova_img.setPosition(largura + 1, 0)
    img.draw(janela)
    nova_img.draw(janela)
    # Termina
    janela.exitOnClick()
def main_cinzento(imagem_ficheiro):
    """Constrói e vizualiza a escala de cinzentos de uma imagem."""
    # Obtém imagem
    imagem = cImage.FileImage(imagem_ficheiro)
    # Fabrica a escala de cinzentos
    imagem_nova = cinzento_imagem(imagem)
    # Define janela
    largura = imagem.getWidth()
    altura = imagem.getHeight()
    janela = cImage.ImageWin('Cinzento',2*largura, altura)
    # vizualiza
    imagem.draw(janela)
    imagem_nova.setPosition(largura+1,0)
    imagem_nova.draw(janela)
    # Termina
    janela.exitOnClick()
def mostra_blur(imagem):
    """ Procede à diminiuição da pixelização da imagem."""
    # Cria imagens
    img = cImage.FileImage(imagem)
    img_ampliada = ampliar(img, 3, 2)
    nova_img = blur(img_ampliada)
    # Cria janela
    largura = img.getWidth()
    altura = img.getHeight()
    janela = cImage.ImageWin('Blur', 6 * largura, 2 * altura)
    # Coloca imagens
    nova_img.setPosition(3 * largura + 1, 0)
    img_ampliada.draw(janela)
    nova_img.draw(janela)
    # Termina
    janela.exitOnClick()
def extrai_caract(imagem, mascara_1, mascara_2, limiar):
    """ Convolução de uma  imagem."""
    # Cria imagens
    img_cor = cImage.FileImage(imagem)
    img = imagem_cinzentos(img_cor)
    nova_img = transforma_convol(img, mascara_1, mascara_2, limiar)
    # Cria janela
    largura = img.getWidth()
    altura = img.getHeight()
    janela = cImage.ImageWin('Extrai Características', 2 * largura, altura)
    # Coloca imagens
    nova_img.setPosition(largura + 1, 0)
    img.draw(janela)
    nova_img.draw(janela)
    # Termina
    janela.exitOnClick()
def main_funcao(imagem_ficheiro, funcao):
    """Transforma uma imagem de acordo com a funcao."""
    # Obtém imagem
    imagem = cImage.FileImage(imagem_ficheiro)
    # Transforma a imagem
    imagem_nova = transforma_imagem(imagem,funcao)
    # Define janela
    largura = imagem.getWidth()
    altura = imagem.getHeight()
    janela = cImage.ImageWin( funcao.__name__,2*largura, altura)
    # vizualiza
    imagem.draw(janela)
    imagem_nova.setPosition(largura+1,0)
    imagem_nova.draw(janela)
    # Termina
    janela.exitOnClick()
Beispiel #29
0
def main():
    fileName = sys.argv[1]
    # the image to process and its dimenstions #
    imageToProcess = cImage.FileImage(fileName)

    w = imageToProcess.getWidth()
    h = imageToProcess.getHeight()
    #creating a window that is double the size(width) to fit both pictures #
    myImageWin = cImage.ImageWin('Image Processing', 2.5 * w, h)

    imageToProcess.draw(myImageWin)
    imageToProcess = smoothImage(fileName)

    imageToProcess.setPosition(w + 50, 0)
    imageToProcess.draw(myImageWin)
    myImageWin.exitonclick()
def showImages(path, filesList, delay):
    print ""
    print "Going to show images..."
    print ""

    window = cImage.ImageWin("Imagem", 600, 400)

    for i in range(len(filesList)):
        filePath = path + "/" + filesList[i]
        print "Path: ", filePath

        image = cImage.FileImage(filePath)

        image.draw(window)
        time.sleep(delay)

    window.exitOnClick()