Program v Pythonu k nalezení velikosti (rozlišení) obrázku

Naučíte se najít rozlišení obrázku jpeg.webp v tomto příkladu bez použití externích knihoven

Abychom porozuměli tomuto příkladu, měli byste znát následující témata programování v Pythonu:

  • Funkce Pythonu
  • Uživatelem definované funkce Pythonu
  • V / V souboru Python

JPEG.webp (vyslovuje se „jay-peg“) znamená Joint Photographic Experts Group. Je to jedna z nejpoužívanějších kompresních technik pro kompresi obrazu.

Většina formátů souborů má záhlaví (počáteční několik bajtů), které obsahují užitečné informace o souboru.

Například záhlaví jpeg.webp obsahují informace, jako je výška, šířka, počet barev (ve stupních šedi nebo RGB) atd. V tomto programu najdeme rozlišení obrázku jpeg.webp, který čte tyto záhlaví bez použití jakékoli externí knihovny.

Zdrojový kód nálezového rozlišení obrázku 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") 

Výstup

 Rozlišení obrázku je 280 x 280 

V tomto programu jsme otevřeli obraz v binárním režimu. V tomto režimu musí být otevřeny netextové soubory. Výška obrázku je na 164. pozici, následovaná šířkou obrázku. Oba jsou 2 bajty dlouhé.

To platí pouze pro standard JPF File Interchange Format (JFIF). Pokud je váš obrázek kódován pomocí jiného standardu (například EXIF), kód nebude fungovat.

2 bajty převedeme na číslo pomocí operátoru bitového posunu <<. Nakonec se zobrazí rozlišení.

Zajímavé články...