English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Python

Controle de fluxo do Python

Funções do Python

Tipos de Dados do Python

Operações de arquivos do Python

Objetos e classes do Python

Data e hora do Python

Conhecimentos avançados do Python

Manual de referência do Python

Python programa busca o tamanho da imagem (resolução)

大全 de exemplos do Python

Você aprenderá, neste exemplo, como encontrar a resolução da imagem JPEG sem usar bibliotecas externas

Para entender esse exemplo, você deve entender o seguintePythonProgramação Python

O-JPEG(pronunciado “jay

A maioria dos formatos de arquivo tem cabeçalhos (os primeiros bytes), que contêm informações úteis sobre o arquivo.

Por exemplo, o cabeçalho JPEG contém altura, largura, número de cores (grayscale ou RGB) e outras informações. Neste programa, encontramos a resolução desses cabeçalhos de imagem JPEG sem usar nenhuma biblioteca externa.

Código-fonte de busca da resolução de imagem JPEG

def jpeg_res(filename):
   """Essa função imprime a resolução da imagem de arquivo JPEG passada como parâmetro"""
   # Abre a imagem, em modo de leitura binário
   with open(filename,'rb') as img_file:
       # Altura da imagem (em2bytes como unidade) no164bits
       img_file.seek(163)
       # Leitura2bytes
       a = img_file.read(2)
       # Cálculo da altura
       height = (a[0] << 8) + a[1]
       # Os próximos dois bytes são a largura
       a = img_file.read(2)
       # Cálculo da largura
       width = (a[0] << 8) + a[1]
   print("A resolução da imagem é", width, "x", height)
jpeg_res("img1.jpg")

Resultados de saída

A resolução da imagem é 280 x 280

Neste programa, abrimos a imagem em modo binário. Arquivos não-textuais devem ser abertos neste modo. A altura está na164bits, seguidos pela largura da imagem. Ambos são2bytes de comprimento.

Atenção, isso só é aplicável ao formato de troca de arquivos JPEG (JFIF) padrão. Se sua imagem usar outros padrões (como EXIF) para codificação, o código não funcionará.

Usamos o operador de deslocamento lógico << para2Conversão de bytes para número. Por fim, exibe a resolução.

大全 de exemplos do Python