Πρόγραμμα Python για εύρεση του μεγέθους (ανάλυση) μιας εικόνας

Θα μάθετε να βρίσκετε ανάλυση μιας εικόνας jpeg.webp σε αυτό το παράδειγμα χωρίς να χρησιμοποιείτε εξωτερικές βιβλιοθήκες

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Python:

  • Λειτουργίες Python
  • Λειτουργίες καθορισμένες από τον χρήστη Python
  • Αρχείο Python I / O

Το JPEG.webp (προφέρεται "jay-peg") σημαίνει κοινή ομάδα εμπειρογνωμόνων φωτογραφίας. Είναι μια από τις πιο ευρέως χρησιμοποιούμενες τεχνικές συμπίεσης για συμπίεση εικόνας.

Οι περισσότερες από τις μορφές αρχείων έχουν κεφαλίδες (αρχικά λίγα byte) που περιέχουν χρήσιμες πληροφορίες σχετικά με το αρχείο.

Για παράδειγμα, οι κεφαλίδες 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 byte.

Σημειώστε ότι αυτό ισχύει μόνο για το πρότυπο JPEG.webp File Interchange Format (JFIF). Εάν η εικόνα σας κωδικοποιείται χρησιμοποιώντας άλλο πρότυπο (όπως EXIF), ο κωδικός δεν θα λειτουργήσει.

Μετατρέπουμε τα 2 byte σε έναν αριθμό χρησιμοποιώντας τον τελεστή μετατόπισης bitwise <<. Τέλος, εμφανίζεται η ανάλυση.

ενδιαφέροντα άρθρα...