Program Python untuk Mencari Ukuran (Resolusi) Imej

Anda akan belajar mencari resolusi gambar jpeg.webp dalam contoh ini tanpa menggunakan perpustakaan luaran

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan Python berikut:

  • Fungsi Python
  • Fungsi yang ditentukan pengguna Python
  • Fail Python I / O

JPEG.webp (diucapkan "jay-pas") adalah singkatan dari Kumpulan Pakar Fotografi Bersama. Ini adalah salah satu teknik pemampatan yang paling banyak digunakan untuk pemampatan gambar.

Sebilangan besar format fail mempunyai tajuk (awal beberapa bait) yang mengandungi maklumat berguna mengenai fail.

Sebagai contoh, tajuk jpeg.webp mengandungi maklumat seperti ketinggian, lebar, jumlah warna (skala kelabu atau RGB) dan lain-lain. Dalam program ini, kita dapati resolusi gambar jpeg.webp membaca tajuk ini, tanpa menggunakan perpustakaan luaran.

Kod Sumber Carian Resolusi Gambar 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") 

Pengeluaran

 Resolusi gambar adalah 280 x 280 

Dalam program ini, kami membuka gambar dalam mod binari. Fail bukan teks mesti dibuka dalam mod ini. Ketinggian gambar berada pada kedudukan ke-164 diikuti dengan lebar gambar. Kedua-duanya panjang 2 bait.

Perhatikan bahawa ini berlaku hanya untuk standard JPEG.webp File Interchange Format (JFIF). Sekiranya gambar anda dikodkan menggunakan standard lain (seperti EXIF), kodnya tidak akan berfungsi.

Kami menukar 2 bait menjadi nombor menggunakan operator pergeseran bitwise <<. Akhirnya, resolusi dipaparkan.

Artikel menarik...