Програма Python за намиране на размера (резолюцията) на изображението

Ще се научите да намирате резолюция на jpeg.webp изображение в този пример, без да използвате външни библиотеки

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Python:

  • Функции на Python
  • Функции, дефинирани от потребителя на Python
  • Входно / изходни файлове на Python

JPEG.webp (произнася се „jay-peg“) означава Съвместна фотографска експертна група. Това е една от най-широко използваните техники за компресиране за компресиране на изображения.

Повечето файлови формати имат заглавки (първоначални няколко байта), които съдържат полезна информация за файла.

Например, jpeg.webp заглавията съдържат информация като височина, ширина, брой цветове (сива скала или RGB) и т.н. В тази програма намираме резолюцията на jpeg.webp изображение, четящо тези заглавки, без да използваме външна библиотека.

Изходен код за намиране на резолюция на 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") 

Изход

 Разделителната способност на изображението е 280 x 280 

В тази програма отворихме изображението в двоичен режим. Нетекстовите файлове трябва да бъдат отворени в този режим. Височината на изображението е на 164-та позиция, последвана от ширината на изображението. И двата са по 2 байта.

Имайте предвид, че това важи само за стандарта JPEG.webp File Interchange Format (JFIF). Ако вашето изображение е кодирано с помощта на друг стандарт (като EXIF), кодът няма да работи.

Преобразуваме 2-те байта в число, използвайки оператор за битово преместване <<. Накрая се показва резолюцията.

Интересни статии...