Python 基礎(chǔ)教程

Python 流程控制

Python 函數(shù)

Python 數(shù)據(jù)類型

Python 文件操作

Python 對(duì)象和類

Python 日期和時(shí)間

Python 高級(jí)知識(shí)

Python 參考手冊(cè)

Python 程序查找圖像的大小(分辨率)

Python 實(shí)例大全

您將在此示例中學(xué)習(xí)如何找到j(luò)peg圖像的分辨率,而無(wú)需使用外部庫(kù)

要理解此示例,您應(yīng)該了解以下Python編程主題:

JPEG(發(fā)音為“ jay-peg”)表示聯(lián)合圖像專家組。它是用于圖像壓縮的最廣泛使用的壓縮技術(shù)之一。

大多數(shù)文件格式都有標(biāo)頭(頭幾個(gè)字節(jié)),這些標(biāo)頭包含有關(guān)文件的有用信息。

例如,jpeg標(biāo)頭包含高度、寬度、顏色數(shù)量(灰度或RGB)等信息。在這個(gè)程序中,我們找到了讀取這些標(biāo)頭的jpeg圖像的分辨率,而不使用任何外部庫(kù)。

JPEG圖像查找分辨率的源代碼

def jpeg_res(filename):
   """"此函數(shù)打印傳遞到其中的jpeg圖像文件的分辨率"""

   # 打開(kāi)圖像,以二進(jìn)制模式讀取
   with open(filename,'rb') as img_file:

       # 圖片高度(以2個(gè)字節(jié)為單位)在第164位
       img_file.seek(163)

       # 讀取2個(gè)字節(jié)
       a = img_file.read(2)

       # 計(jì)算高度
       height = (a[0] << 8) + a[1]

       # 接下來(lái)的兩個(gè)字節(jié)是寬度
       a = img_file.read(2)

       # 計(jì)算寬度
       width = (a[0] << 8) + a[1]

   print("圖像的分辨率為",width,"x",height)

jpeg_res("img1.jpg")

輸出結(jié)果

圖像的分辨率為 280 x 280

在此程序中,我們以二進(jìn)制模式打開(kāi)了圖像。 非文本文件必須在此模式下打開(kāi)。 圖像的高度在第164位,然后是圖像的寬度。 兩者均為2個(gè)字節(jié)長(zhǎng)。

注意,這只適用于JPEG文件交換格式(JFIF)標(biāo)準(zhǔn)。如果您的映像使用其他標(biāo)準(zhǔn)(如EXIF)進(jìn)行編碼,則代碼將無(wú)法工作。

我們使用按位移位運(yùn)算符<<將2個(gè)字節(jié)轉(zhuǎn)換為數(shù)字。最后,顯示分辨率。

Python 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清