Programme Python pour trouver la taille (résolution) d'une image

Vous apprendrez à trouver la résolution d'une image jpeg.webp dans cet exemple sans utiliser de bibliothèques externes

Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation Python suivants:

  • Fonctions Python
  • Fonctions définies par l'utilisateur Python
  • E / S de fichier Python

JPEG.webp (prononcé «jay-peg») signifie Joint Photographic Experts Group. C'est l'une des techniques de compression les plus utilisées pour la compression d'image.

La plupart des formats de fichiers ont des en-têtes (quelques octets au départ) qui contiennent des informations utiles sur le fichier.

Par exemple, les en-têtes jpeg.webp contiennent des informations comme la hauteur, la largeur, le nombre de couleurs (niveaux de gris ou RVB) etc. Dans ce programme, nous trouvons la résolution d'une image jpeg.webp lisant ces en-têtes, sans utiliser de bibliothèque externe.

Code source de la résolution de recherche de l'image JPEG.webp

 def jpeg.webp_res(filename): """"This function prints the resolution of the jpeg.webp image file passed into it""" # open image for reading in binary mode with open(filename,'rb') as img_file: # height of image (in 2 bytes) is at 164th position img_file.seek(163) # read the 2 bytes a = img_file.read(2) # calculate height height = (a(0) << 8) + a(1) # next 2 bytes is width a = img_file.read(2) # calculate width width = (a(0) << 8) + a(1) print("The resolution of the image is",width,"x",height) jpeg.webp_res("img1.jpg.webp") 

Production

 La résolution de l'image est de 280 x 280 

Dans ce programme, nous avons ouvert l'image en mode binaire. Les fichiers non texte doivent être ouverts dans ce mode. La hauteur de l'image est à la 164ème position suivie de la largeur de l'image. Les deux ont une longueur de 2 octets.

Notez que cela n'est vrai que pour la norme JPEG.webp File Interchange Format (JFIF). Si votre image est encodée en utilisant un autre standard (comme EXIF), le code ne fonctionnera pas.

Nous convertissons les 2 octets en un nombre en utilisant l'opérateur de décalage binaire <<. Enfin, la résolution s'affiche.

Articles intéressants...