Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में आकार विशेषताओं के आधार पर छवियों को फ़िल्टर करना?

पायथन इमेज प्रोसेसिंग के लिए कई लाइब्रेरी प्रदान करता है जिसमें पिलो, पायथन इमेजिंग लाइब्रेरी, स्किकिट-इमेज या ओपनसीवी शामिल हैं।

हम यहां इमेज प्रोसेसिंग के लिए पिलो लाइब्रेरी का उपयोग करने जा रहे हैं क्योंकि यह इमेज मैनिपुलेशन के लिए कई मानक प्रक्रियाएं प्रदान करता है और छवि फ़ाइल स्वरूपों की श्रेणी का समर्थन करता है जैसे कि jpeg, png, gif, tiff, bmp और अन्य।

पिलो लाइब्रेरी पायथन इमेजिंग लाइब्रेरी (पीआईएल) के शीर्ष पर बनाई गई है और इसकी मूल लाइब्रेरी (पीआईएल) की तुलना में अधिक सुविधाएं प्रदान करती है।

इंस्टॉलेशन

हम पिप का उपयोग करके तकिया स्थापित कर सकते हैं, इसलिए बस कमांड टर्मिनल में निम्नलिखित टाइप करें -

$ pip install pillow

तकिए पर बुनियादी संचालन

आइए पिलो लाइब्रेरी का उपयोग करके छवियों पर कुछ बुनियादी संचालन करें।

from PIL import Image
image = Image.open(r"C:\Users\rajesh\Desktop\imagefolder\beach-parga.jpg")
image.show()
# The file format of the source file.
# Output: JPEG
print(image.format)

# The pixel format used by the image. Typical values are “1”, “L”, “RGB”, or “CMYK.”
# Output: RGB
print(image.mode)

# Image size, in pixels. The size is given as a 2-tuple (width, height).
# Output: (2048, 1365)
print(image.size)


# Colour palette table, if any.
#Output: None
print(image.palette)

आउटपुट

पायथन में आकार विशेषताओं के आधार पर छवियों को फ़िल्टर करना?

JPEG
RGB
(2048, 1365)
None

आकार के आधार पर छवियों को फ़िल्टर करें

कार्यक्रम के नीचे एक विशेष पथ से सभी छवियों के आकार को कम कर देगा (डिफ़ॉल्ट पथ:वर्तमान कार्यशील निर्देशिका)। हम नीचे दिए गए कार्यक्रम में छवि की अधिकतम_ऊंचाई, अधिकतम_चौड़ाई या विस्तार बदल सकते हैं:

कोड

import os
from PIL import Image

max_height = 900
max_width = 900
extensions = ['JPG']

path = os.path.abspath(".")
def adjusted_size(width,height):
   if width > max_width or height>max_height:
      if width > height:
         return max_width, int (max_width * height/ width)
      else:
         return int (max_height*width/height), max_height
   else:
      return width,height

if __name__ == "__main__":
   for img in os.listdir(path):
      if os.path.isfile(os.path.join(path,img)):
         img_text, img_ext= os.path.splitext(img)
         img_ext= img_ext[1:].upper()
         if img_ext in extensions:
            print (img)
            image = Image.open(os.path.join(path,img))
            width, height= image.size
            image = image.resize(adjusted_size(width, height))
            image.save(os.path.join(path,img))

आउटपुट

another_Bike.jpg
clock.JPG
myBike.jpg
Top-bike-wallpaper.jpg

स्क्रिप्ट के ऊपर चलने पर, वर्तमान कार्यशील निर्देशिका (जो वर्तमान में पाइटन स्क्रिप्ट फ़ोल्डर है) में मौजूद छवियों का आकार अधिकतम 900 (चौड़ाई/ऊंचाई) होगा।


  1. पायथन का उपयोग कर छवियों को पढ़ना?

    OpenCV का उपयोग करके इमेज प्रोसेसिंग OpenCV (ओपन सोर्स कंप्यूटर विज़न) एक ओपन सोर्स प्रोग्रामिंग लाइब्रेरी है जिसे मूल रूप से मशीन लर्निंग और कंप्यूटर विज़न के लिए विकसित किया गया है। यह कंप्यूटर विज़न अनुप्रयोगों पर काम करने और व्यावसायिक उत्पादों में मशीन लर्निंग के उपयोग को तेज़ करने के लिए सामा

  1. पायथन में फोटोमोसाइक लागू करना

    photomosaic एक तकनीक है, जहां हम अपनी छवि को वर्गों के ग्रिड में विभाजित कर सकते हैं। प्रत्येक वर्ग को कुछ अन्य छवियों या रंगों से बदल दिया जाएगा। इसलिए जब हम वास्तविक छवि को एक निश्चित दूरी से देखना चाहते हैं, तो हम वास्तविक छवि देख सकते हैं, लेकिन अगर हम करीब आते हैं, तो हम विभिन्न रंगीन ब्लॉकों क

  1. पायथन में ओपनसीवी का उपयोग करके छवियों का क्षरण और फैलाव

    इस समस्या में, हम देखेंगे कि ओपनसीवी मॉड्यूल का उपयोग करके पायथन कुछ मॉर्फोलॉजिकल ऑपरेशन जैसे कि कटाव और फैलाव कैसे कर सकता है। OpenCV लाइब्रेरी मुख्य रूप से कंप्यूटर विज़न के लिए डिज़ाइन की गई है। यह खुला स्रोत है। मूल रूप से इसे इंटेल द्वारा डिजाइन किया गया था। यह ओपन-सोर्स बीएसडी लाइसेंस के तहत उ