एक छवि के आकार (संकल्प) को खोजने के लिए पायथन कार्यक्रम

आप बाहरी पुस्तकालयों का उपयोग किए बिना इस उदाहरण में एक jpeg.webp छवि का रिज़ॉल्यूशन ढूंढना सीखेंगे

इस उदाहरण को समझने के लिए, आपको निम्नलिखित पायथन प्रोग्रामिंग विषयों का ज्ञान होना चाहिए:

  • पायथन कार्य
  • पायथन उपयोगकर्ता-परिभाषित कार्य
  • पायथन फाइल I / O

JPEG.webp (उच्चारण "jay-peg") संयुक्त फोटोग्राफिक विशेषज्ञ समूह के लिए है। यह छवि संपीड़न के लिए सबसे व्यापक रूप से इस्तेमाल की जाने वाली संपीड़न तकनीकों में से एक है।

अधिकांश फ़ाइल स्वरूपों में हेडर (आरंभिक कुछ बाइट्स) होते हैं जिनमें फ़ाइल के बारे में उपयोगी जानकारी होती है।

उदाहरण के लिए, jpeg.webp हेडर में ऊँचाई, चौड़ाई, रंग की संख्या (ग्रेस्केल या RGB) आदि जैसी जानकारी होती है। इस प्रोग्राम में, हम इन हेडर को पढ़ने के लिए एक 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 फ़ाइल इंटरचेंज फॉर्मेट (JFIF) मानक के लिए सही है। यदि आपकी छवि अन्य मानक (जैसे EXIF) का उपयोग कर सांकेतिक शब्दों में बदलना है, तो कोड काम नहीं करेगा।

हम 2 बाइट्स को बिटवाइज शिफ्टिंग ऑपरेटर << का उपयोग करके संख्या में परिवर्तित करते हैं। अंत में, संकल्प प्रदर्शित किया जाता है।

दिलचस्प लेख...