मेरे पास ऐसी छवियों से भरा एक निर्देशिका है जिसे मैं अपने मूल आकार के लगभग 60% का आकार बदलना चाहता हूं।निर्देशिका में छवियों का आकार बदलें
मैं यह करने के बारे में कैसे जाउंगा? या तो Python या perl
चीयर्स
EEF
मेरे पास ऐसी छवियों से भरा एक निर्देशिका है जिसे मैं अपने मूल आकार के लगभग 60% का आकार बदलना चाहता हूं।निर्देशिका में छवियों का आकार बदलें
मैं यह करने के बारे में कैसे जाउंगा? या तो Python या perl
चीयर्स
EEF
ImageMagick का हिस्सा, mogrify का उपयोग करने के बारे में कैसे? यदि आपको वास्तव में पर्ल से इसे नियंत्रित करने की आवश्यकता है, तो आप Image::Magick, Image::Resize या Imager का उपयोग कर सकते हैं।
मैं जनहित याचिका (अजगर छवि पुस्तकालय) के साथ अजगर का उपयोग में हो सकता है। बेशक ऐसा करने के लिए विशेष कार्यक्रम हैं।
कई लोग ऐसी चीजों को पीआईएल का उपयोग करते हैं। देखो पर: Quick image resizing with python
जनहित याचिका बहुत शक्तिशाली है और हाल ही में मैं यह नुस्खा मिल गया है: Putting watermark to images in batch
उपयोग PerlMagick, यह कमांड लाइन उपकरण के लोकप्रिय ImageMagick सूट के लिए एक इंटरफेस है सामान का सिर्फ इस तरह करते हैं। PythonMagic भी उपलब्ध है।
क्या आपको इसे आकार देने की आवश्यकता है या आप प्रोग्रामेटिक रूप से आकार बदलना चाहते हैं? यदि बस PixResizer का उपयोग आकार बदलें। http://bluefive.pair.com/pixresizer.htm
क्या यह खोल में हो सकता है?
mkdir resized
for a in *.jpg; do convert "$a" -resize 60% resized/"$a"; done
यदि आपके पास> 1 कोर, आप इसे इस प्रकार कर सकते हैं:
find . -maxdepth 1 -type f -name '*.jpg' -print0 | xargs -0 -P3 -I XXX convert XXX -resize 60% resized/XXX
-P3 मतलब यह है कि आप एक ही समय (बनता है) पर 3 छवियों के लिए ऊपर आकार बदलने के लिए चाहते हैं।
यदि आपको मूल रखने की आवश्यकता नहीं है तो आप mogrify का उपयोग कर सकते हैं, लेकिन मैं कन्वर्ट का उपयोग करना पसंद करता हूं, और फिर आरएम ...; एमवी ... - आकार बदलने पर सुरक्षित पक्ष पर होना (किसी भी कारण से) असफल हो जाता है।
इसके लिए धन्यवाद, यह वही था जो मैं खोज रहा था। –
यदि आप इसे प्रोग्रामिक रूप से करना चाहते हैं, जो मुझे लगता है कि मामला है, उदाहरण के लिए पीआईएल का उपयोग करें।
newIm = im.resize((newW, newH)
फिर इसे उसी फ़ाइल या एक नए स्थान पर सहेजें।
फ़ोल्डर के माध्यम से दोबारा जाएं और सभी छवियों में आकार बदलें आकार लागू करें।
मैं एक नमूना स्क्रिप्ट के साथ आया हूं जो मुझे लगता है कि आपके लिए काम करेगा। आप इसमें सुधार कर सकते हैं: शायद इसे ग्राफिकल बनाएं, अधिक विकल्प जोड़ें उदा। एक ही एक्सटेंशन या सभी पीएनजी हो सकता है, नमूना रैखिक/बिलीनेर आदि का आकार बदलें
import os
import sys
from PIL import Image
def resize(folder, fileName, factor):
filePath = os.path.join(folder, fileName)
im = Image.open(filePath)
w, h = im.size
newIm = im.resize((int(w*factor), int(h*factor)))
# i am saving a copy, you can overrider orginal, or save to other folder
newIm.save(filePath+"copy.png")
def bulkResize(imageFolder, factor):
imgExts = ["png", "bmp", "jpg"]
for path, dirs, files in os.walk(imageFolder):
for fileName in files:
ext = fileName[-3:].lower()
if ext not in imgExts:
continue
resize(path, fileName, factor)
if __name__ == "__main__":
imageFolder=sys.argv[1] # first arg is path to image folder
resizeFactor=float(sys.argv[2])/100.0# 2nd is resize in %
bulkResize(imageFolder, resizeFactor)
मुझे यकीन नहीं है। सबसे पहले - यह नहीं कहता कि यह एक बार नौकरी है। दूसरा - "इरफान व्यू" एक विकल्प नहीं हो सकता है - उदाहरण के लिए ऑपरेटिंग सिस्टम की बाधाओं के कारण। तीसरा - ImageMagick इतना जटिल है, कि इसे बैच टूल के रूप में भी उपयोग करना प्रोग्रामिंग की तरह है। –