Python-program til at finde størrelsen (opløsning) på et billede

Du lærer at finde opløsning af et jpeg.webp-billede i dette eksempel uden at bruge eksterne biblioteker

For at forstå dette eksempel skal du have kendskab til følgende Python-programmeringsemner:

  • Python-funktioner
  • Python brugerdefinerede funktioner
  • Python File I / O

JPEG.webp (udtales "jay-peg") står for Joint Photographic Experts Group. Det er en af ​​de mest anvendte kompressionsteknikker til billedkomprimering.

De fleste af filformaterne har overskrifter (indledende få byte), der indeholder nyttige oplysninger om filen.

For eksempel indeholder jpeg.webp-overskrifter information som højde, bredde, antal farver (gråtoner eller RGB) osv. I dette program finder vi opløsningen på et jpeg.webp-billede, der læser disse overskrifter uden brug af eksternt bibliotek.

Kildekode til find opløsning af JPEG.webp-billede

 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") 

Produktion

 Billedets opløsning er 280 x 280 

I dette program åbnede vi billedet i binær tilstand. Ikke-tekstfiler skal være åbne i denne tilstand. Billedets højde er på 164. position efterfulgt af billedets bredde. Begge er 2 byte lange.

Bemærk, at dette kun gælder for JPEG.webp File Interchange Format (JFIF) -standard. Hvis dit billede kodes ved hjælp af en anden standard (som EXIF), fungerer koden ikke.

Vi konverterer de 2 byte til et tal ved hjælp af bitvis skiftende operator <<. Endelig vises opløsningen.

Interessante artikler...