4 técnicas interessantes de processamento de imagem usando JES

4 técnicas interessantes de processamento de imagem usando JES

JES é um ambiente de programação que inclui uma área de programação e sua própria linha de comando. Você pode usar o JES para editar imagens, vídeos e sons.

Existem muitas maneiras diferentes de editar uma foto usando o JES. Isso inclui adicionar um filtro de escala de cinza ou um filtro negativo. Você também pode espelhar a imagem ou aprimorar uma cor específica.

Como criar imagens em tons de cinza

Muitos aplicativos de edição de fotos fáceis de usar permitem que você edite imagens de diferentes maneiras. Uma delas inclui a adição de um filtro de escala de cinza. No JES, você pode editar imagens para usar um filtro de escala de cinza alterando a cor de cada pixel para usar branco, cinza ou preto.

O JES usa a linguagem de programação Jython, que é muito semelhante ao Python e segue as mesmas regras de indentação. Se necessário, você pode consultar alguns comandos Python úteis para iniciantes para que você se atualize.

  1. Crie uma nova função chamada makeGrayscalePicture(): def makeGrayscalePicture():
  2. Dentro da nova função, use a função pickAFile() para solicitar ao usuário que selecione uma imagem. Use a função makePicture() para criar um objeto de imagem a partir do arquivo selecionado: file = pickAFile()
    pic = makePicture(file)
  3. Use a função getPixels() para obter uma matriz de todos os pixels dentro da imagem selecionada: pixels = getPixels(pic)
  4. Use um loop for para percorrer cada pixel da imagem: for pixel in pixels:
  5. Dentro do loop for, obtenha o valor RGB do pixel. Você pode armazenar os valores vermelho, verde e azul da cor em diferentes variáveis. r = getRed(pixel)
    g = getGreen(pixel)
    b = getBlue(pixel)
  6. Calcule o valor médio de cada cor. Você pode fazer isso adicionando os valores de vermelho, verde e azul e dividindo o total por 3: average = (r + g + b) / 3
  7. Defina todos os valores de vermelho, verde e azul para o mesmo valor. Isso tornará o pixel cinza. setRed(pixel, average)
    setGreen(pixel, average)
    setBlue(pixel, average)
  8. Após o loop for, exiba a imagem: show(pic)
  9. Clique no botão Carregar programa , localizado entre a área de programação e a linha de comando.
  10. Execute a função usando a área de linha de comando: makeGrayscalePicture()
    Função de escala de cinza digitada na linha de comando
  11. Use o explorador de arquivos para selecionar uma imagem. Clique em Abrir .
    JES aberto com explorador de arquivos
  12. Aguarde até que a função termine de processar a imagem. Uma nova janela será aberta para exibir a nova imagem em tons de cinza.
    Imagem em tons de cinza aberta em uma nova janela

Como criar imagens negativas

Uma imagem negativa é uma imagem em que as áreas claras da foto aparecem escurecidas e as partes escuras da foto aparecem iluminadas. Você pode criar esse efeito modificando os valores de vermelho, verde e azul de cada pixel.

  1. Crie uma nova função chamada makeNegativePicture(): def makeNegativePicture():
  2. Dentro da nova função, use a função pickAFile() para solicitar ao usuário que selecione uma imagem. Use a função makePicture() para criar um objeto de imagem a partir do arquivo selecionado: file = pickAFile()
    pic = makePicture(file)
  3. Use a função getPixels() para obter uma matriz de todos os pixels dentro da imagem selecionada: pixels = getPixels(pic)
  4. Use um loop for para percorrer cada pixel da imagem: for pixel in pixels:
  5. Dentro do loop for, obtenha os valores de vermelho, verde e azul para o pixel: r = getRed(pixel)
    g = getGreen(pixel)
    b = getBlue(pixel)
  6. Para criar o efeito negativo, obtenha o valor oposto da cor no espectro RGB. Por exemplo, se o valor vermelho for 100, o valor oposto seria 255 – 100, que é 155. newRed = 255 - r
    newBlue = 255 - g
    newGreen = 255 - b
  7. Substitua a cor do pixel pelos novos valores de vermelho, verde e azul: setRed(pixel, newRed)
    setBlue(pixel, newBlue)
    setGreen(pixel, newGreen)
  8. Após o loop for, exiba a imagem: show(pic)
  9. Clique no botão Carregar programa , localizado entre a área de programação e a linha de comando.
  10. Execute a função makeNegativePicture() na linha de comando: makeNegativePicture()
    Função negativa digitada na linha de comando
  11. Use o explorador de arquivos para selecionar uma imagem. Clique em Abrir.
    JES aberto com explorador de arquivos
  12. Uma nova janela será aberta para exibir a imagem negativa.
    Imagem negativa aberta em uma nova janela

Como realçar uma cor específica em uma imagem

Você também pode usar o JES para aprimorar cores específicas de uma imagem. Por exemplo, você pode dobrar o valor vermelho de cada pixel para fazer a imagem parecer mais vermelha.

  1. Crie uma nova função chamada alterReds(): def alterReds():
  2. Dentro da nova função, use a função pickAFile() para solicitar ao usuário que selecione uma imagem. Use a função makePicture() para criar um objeto de imagem a partir do arquivo selecionado: file = pickAFile()
    pic = makePicture(file)
  3. Use a função getPixels() para obter uma matriz de todos os pixels dentro da imagem selecionada: pixels = getPixels(pic)
  4. Use um loop for para percorrer cada pixel da imagem: for pixel in pixels:
  5. Dentro do loop for, obtenha apenas o valor vermelho do pixel:r = getRed(pixel)
  6. Duplique o valor vermelho e armazene-o em uma nova variável: enhancedRed = r*2
  7. Substitua o valor vermelho do pixel pelo novo valor aprimorado. Por exemplo, se o valor RGB original do pixel fosse rgb(100, 50, 50), o novo valor seria rgb(200, 50, 50). setRed(pixel, enhancedRed)
  8. Após o loop for, exiba a imagem: show(pic)
  9. Clique no botão Carregar programa , localizado entre a área de programação e a linha de comando.
  10. Execute a função usando a área de linha de comando: alterReds()
    Função AlterReds escrita na linha de comando
  11. Use o explorador de arquivos para selecionar uma imagem. Clique em Abrir .
    JES aberto com explorador de arquivos
  12. Uma nova janela será aberta para exibir a imagem editada.
    Imagem vermelha aprimorada aberta em uma nova janela

Como espelhar uma imagem

Para espelhar uma imagem, cada pixel no lado esquerdo da imagem deve corresponder exatamente ao pixel oposto no lado direito.

Imagem de praia sendo espelhada exemplo

Você pode fazer isso criando uma nova imagem vazia com fundo branco. Você pode então copiar cada pixel para criar a nova imagem espelhada.

  1. Crie uma nova função chamada mirror(): def mirror():
  2. Dentro da nova função, use a função pickAFile() para solicitar ao usuário que selecione uma imagem. Use a função makePicture() para criar um objeto de imagem a partir do arquivo selecionado: file = pickAFile()
    pic = makePicture(file)
  3. Obtenha a altura e a largura da imagem selecionada: width = getWidth(pic)
    height = getHeight(pic)
  4. Use a função makeEmptyPicture() para criar uma imagem em branco. Uma imagem em branco é uma imagem com um fundo branco. Dobre a largura para que você possa ajustar a imagem original no lado esquerdo e a imagem invertida no lado direito: mirroredPic = makeEmptyPicture(width*2, height)
  5. Crie um loop for para percorrer cada coordenada x e y da imagem original. Dentro do loop for, obtenha o pixel armazenado naquele local: for x in range(0, width):
        for y in range(0, height):
            originalPix = getPixel(pic, x, y)
  6. Ainda dentro do loop for, obtenha o pixel na nova imagem em branco no mesmo local x e y. Este será o lado esquerdo da imagem espelhada: leftMirrorPixel = getPixel(mirroredPic, x, y)
  7. Copie a cor do pixel original para o pixel do lado esquerdo da nova imagem: setColor(leftMirrorPixel, getColor(originalPix))
  8. Faça a mesma coisa para o lado direito. A coordenada y será a mesma. Como a coordenada x estará do lado direito, subtraia a coordenada x da largura total da nova imagem espelhada: rightMirrorPixel = getPixel(mirroredPic, (width*2)-x-1, y)
  9. Copie a cor do pixel original para o pixel do lado direito da nova imagem: setColor(rightMirrorPixel, getColor(originalPix))
  10. Após o loop for, exiba a imagem: show(mirroredPic)
  11. Clique no botão Carregar programa , localizado entre a área de programação e a linha de comando.
  12. Execute a função mirror() na linha de comando: mirror()
    Função de espelhamento escrita na linha de comando
  13. Use o explorador de arquivos para selecionar uma imagem. Clique em Abrir.
    JES aberto com explorador de arquivos
  14. Uma nova janela será aberta para exibir a imagem espelhada.
    Imagem espelhada aberta em uma nova janela

Editando Imagens Usando JES

Agora esperamos que você entenda como editar fotos no JES usando uma variedade de técnicas. Estas não são as únicas técnicas que você pode aplicar às fotos, então você pode experimentar mais outras possibilidades no JES.

Se você deseja melhorar suas habilidades em Python, projetos curtos e divertidos são uma ótima maneira de entender os principais conceitos do Python.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *