Питхон програм за проналажење величине (резолуције) слике

У овом примеру ћете научити да пронађете резолуцију јпег слике без употребе спољних библиотека

Да бисте разумели овај пример, требало би да имате знање о следећим Питхон програмским темама:

  • Питхон функције
  • Питхон кориснички дефинисане функције
  • Улаз / излаз датотеке Питхон

ЈПЕГ (изговара се „јаи-пег“) означава заједничку групу фотографских стручњака. То је једна од најчешће коришћених техника компресије за компресију слике.

Већина формата датотека има заглавља (почетних неколико бајтова) која садрже корисне информације о датотеци.

На пример, јпег заглавља садрже информације попут висине, ширине, броја боја (сивих тонова или РГБ) итд. У овом програму проналазимо резолуцију јпег слике која чита ова заглавља, без употребе спољне библиотеке.

Изворни код за проналажење резолуције ЈПЕГ слике

 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 к 280 

У овом програму отворили смо слику у бинарном режиму. Нетекстуалне датотеке морају бити отворене у овом режиму. Висина слике је на 164. месту праћена ширином слике. Оба су дугачка 2 бајта.

Имајте на уму да ово важи само за стандард ЈПЕГ Филе Интерцханге Формат (ЈФИФ). Ако је ваша слика кодирана помоћу другог стандарда (попут ЕКСИФ), код неће радити.

2 бајта претварамо у број помоћу оператора померања у битовима <<. На крају се приказује резолуција.

Занимљиви Чланци...