Trabalhando com imagens em Python

Trabalhando com imagens em Python

PIL é a biblioteca de imagens Python que fornece ao interpretador python recursos de edição de imagens. Foi desenvolvido por Fredrik Lundh e vários outros colaboradores. Pillow é um fork PIL amigável e uma biblioteca fácil de usar desenvolvida por Alex Clark e outros colaboradores. Estaremos trabalhando com Pillow.

Instalação:

  • Linux: No terminal Linux digite o seguinte:
     pip install Pillow  Instalando o pip via terminal:  
     sudo apt-get update   
    sudo apt-get install python-pip
  • Windows: Download o pacote Pillow apropriado de acordo com sua versão python. Certifique-se de fazer o download de acordo com a versão do python que você possui.

Estaremos trabalhando com o Módulo Imagem aqui, que fornece uma classe de mesmo nome e fornece várias funções para trabalhar em nossas imagens. Para importar o módulo Imagem, nosso código deve começar com a seguinte linha:

  from PIL import Image  

Operações com imagens:

  • Abra uma imagem específica de um caminho: Python
       #img = Image.open(path)    # On successful execution of this statement   # an object of Image type is returned and stored in img variable)   try  :   img   =   Image  .  open  (  path  )   except   IOError  :   pass   # Use the above statement within try block as it can    # raise an IOError if file cannot be found    # or image cannot be opened.   
  • Recuperar tamanho da imagem : As instâncias da classe Image que são criadas possuem muitos atributos, um de seus atributos úteis é o tamanho. Python
       from   PIL   import   Image   filename   =   'image.webp'   with   Image  .  open  (  filename  )   as   image  :   width     height   =   image  .  size   #Image.size gives a 2-tuple and the width height can be obtained   
    Alguns outros atributos são: Image.width Image.height Image.format Image.info etc.
  • Salvar alterações na imagem: Para salvar quaisquer alterações feitas no arquivo de imagem, precisamos fornecer o caminho e também o formato da imagem. Python
       img  .  save  (  path     format  )   # format is optional if no format is specified    #it is determined from the filename extension   
  • Girando uma imagem: A rotação da imagem precisa do ângulo como parâmetro para girar a imagem. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #Angle given   img   =   img  .  rotate  (  180  )   #Saved in the same relative location   img  .  save  (  'rotated_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    girando uma imagem em python Nota: Há um sinalizador de expansão opcional disponível como um dos argumentos do método de rotação que, se definido como verdadeiro, expande a imagem de saída para torná-la grande o suficiente para conter a imagem totalmente girada. Como visto no trecho de código acima, usei um caminho relativo onde minha imagem está localizada no mesmo diretório que meu arquivo de código python, um caminho absoluto também pode ser usado.
  • Cortando uma imagem: Image.crop(box) pega uma coordenada de pixel de 4 tuplas (esquerda superior direita inferior) e retorna uma região retangular da imagem usada. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   width     height   =   img  .  size   area   =   (  0     0     width  /  2     height  /  2  )   img   =   img  .  crop  (  area  )   #Saved in the same relative location   img  .  save  (  'cropped_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    recortando uma imagem em python
  • Redimensionando uma imagem: Image.resize(size) - Aqui o tamanho é fornecido como largura e altura de 2 tuplas. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   width     height   =   img  .  size   img   =   img  .  resize  ((  width  /  2     height  /  2  ))   #Saved in the same relative location   img  .  save  (  'resized_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    redimensionando uma imagem em python
  • Colando uma imagem em outra imagem: O segundo argumento pode ser uma tupla de 2 (especificando o canto superior esquerdo) ou uma tupla de 4 (esquerda superior direita inferior) - neste caso o tamanho da imagem colada deve corresponder ao tamanho desta região da caixa ou Nenhum que é equivalente a (0 0). Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   #Image on which we want to paste   img   =   Image  .  open  (  'picture.webp'  )   #Relative Path   #Image which we want to paste   img2   =   Image  .  open  (  'picture2.webp'  )   img  .  paste  (  img2     (  50     50  ))   #Saved in the same relative location   img  .  save  (  'pasted_picture.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   ##An additional argument for an optional image mask image is also available.   
    colando uma imagem em outra em Python
  • Obtendo um histograma de uma imagem: Isso retornará um histograma da imagem como uma lista de contagens de pixels, uma para cada pixel da imagem. (Um histograma de uma imagem é uma representação gráfica da distribuição tonal em uma imagem digital. Ele contém todos os valores de brilho contidos em uma imagem. Ele traça o número de pixels para cada valor de brilho. Ajuda a fazer as configurações de exposição.) da imagem de importação PIL. Python
       def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #Getting histogram of image   print   img  .  histogram  ()   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    obtendo um histograma de imagem em cópia python


  • Transpondo uma imagem: Este recurso nos dá a imagem espelhada de uma imagem Python
        from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #transposing image    transposed_img   =   img  .  transpose  (  Image  .  FLIP_LEFT_RIGHT  )   #Save transposed image   transposed_img  .  save  (  'transposed.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    transpondo uma imagem em python
  • Divida uma imagem em bandas individuais: A divisão de uma imagem no modo RGB cria três novas imagens, cada uma contendo uma cópia das bandas individuais originais. Python
       from   PIL   import   Image   def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #splitting the image   print   img  .  split  ()   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    dividir uma imagem em python
  • tobitmap: Convertendo uma imagem em um bitmap X11 (um formato de imagem binária de texto simples). Ele retorna uma string contendo um bitmap X11 que só pode ser usado para imagens de modo 1, ou seja, imagens em preto e branco de 1 bit pixel. da imagem de importação PIL Python
       def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   print   img  .  mode   #converting image to bitmap   print   img  .  tobitmap  ()   print   type  (  img  .  tobitmap  ())   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    convertendo imagem em bitmap em python convertendo imagem para bitmao em python
  • Criando uma miniatura: Este método cria uma miniatura da imagem que é aberta. Ele não retorna um novo objeto de imagem, ele faz modificações no próprio objeto de imagem atualmente aberto. Se você não deseja alterar o objeto da imagem original, crie uma cópia e aplique este método. Este método também avalia o adequado para manter a proporção da imagem de acordo com o tamanho passado. da imagem de importação PIL Python
       def   main  ():   try  :   #Relative Path   img   =   Image  .  open  (  'picture.webp'  )   #In-place modification   img  .  thumbnail  ((  200     200  ))   img  .  save  (  'thumb.webp'  )   except   IOError  :   pass   if   __name__   ==   '__main__'  :   main  ()   
    criando miniatura de imagem em python
Criar questionário