बैच को SVG में बिटमैप कैसे बदलें?


13

मेरे पास कई ग्रे स्केल बिटमैप हैं जिन्हें मुझे एक वेक्टर प्रारूप में बदलने की आवश्यकता है, जैसे एसवीजी। मैं Inkscape का उपयोग कर रहा हूं, जो अच्छे परिणाम देता है, लेकिन किसी फ़ाइल को खोलने, कनवर्ट करने और सहेजने में लगभग 10-15 मिनट लगते हैं। क्या कोई बैच या कमांड लाइन उपकरण है जो इन्हें परिवर्तित कर सकता है?


आप के potraceरूप में अच्छी तरह से एक नज़र रखना चाहते हो सकता है ।
स्टीफन चेजलस

यह भी संभव है कि inkscape को बैचटूल लिंक के

जवाबों:


19

potrace

मुझे इसका उदाहरण SO इन ए क्यू एंड ए शीर्षक पर मिला: JPEG छवि को SVG प्रारूप में ImageMagick का उपयोग करके कैसे परिवर्तित किया जाए? । सुझाए गए उत्तरों में से एक potrace

$ convert input.jpg output.ppm
$ potrace -s output.ppm -o svgout.svg

परिणाम

           ss # १             ss # 2

potraceवेबसाइट को देखते हुए आप सीधे बीएमपी से एसवीजी तक जा सकते हैं।

$ potrace -s input.bmp -o output.svg

autotrace

एक अन्य विकल्प potraceहै autotrace

$ autotrace -output-file ouput.svg -output-format svg --color-count 4 input.bmp

आपको अपनी --color-countछवि को अपनी आवश्यकताओं के अनुरूप बनाने के लिए खेलना होगा ।

परिणाम

                                                 ss # ३

कौन सा उपयोग करें?

इन 2 में से यह वास्तव में स्रोत सामग्री पर निर्भर करता है। यदि आप छवियों को परिवर्तित कर रहे हैं तो potraceबेहतर विकल्प होने की संभावना है। फॉन्ट और निर्जीव वस्तुओं जैसे दृश्यों के लिए गैर-फोटो सामग्री जैसे कि सड़क जैसी चीजें शामिल हैं, फिर autotraceइसके --centerlineस्विच के साथ ।

तस्वीरों के लिए इष्टतम नहीं है, यह लाइन आर्ट और पोस्टर जैसी छवियों पर अच्छा काम करता है। रंग के साथ बहुत अच्छा नहीं करता है। ऑटोट्रेस में कुछ सुविधाएँ उपलब्ध नहीं हैं जो Inkscape में एम्बेडेड Potrace डायलॉग में उपलब्ध हैं। उदाहरण के लिए, एक सेंटरलाइन स्विच है जो विशेष रूप से सड़कों (नक्शे में) या फ़ॉन्ट वर्णों को ट्रेस करने के लिए उपयोगी है।

बैच रूपांतरण

आप बैश में लूप के लिए इनमें से किसी भी कमांड को लपेट सकते हैं, जिससे बल्क रूपांतरण कार्यों को करने में आसानी होगी।

$ for i in *.bmp; do <CONVERSION TOOL> ... "$i"; done

संदर्भ


JPEG से इंटरमीडिएट फ़ाइल संग्रहीत करने की कोई आवश्यकता नहीं है। एक-लाइनर के रूप में मैंने इस्तेमाल किया:convert -channel RGB -compress None input.jpg bmp:- | potrace -s - -o output.svg
लुई मैडॉक्स

9

Autotrace

आप ऑटोट्रेस की कोशिश कर सकते हैं ।

निम्नलिखित आदेश का उपयोग करके आपको निम्नलिखित परिणाम मिलते हैं:

autotrace --output-format svg --output-file output.svg --color-count 4 imgsrc.jpg

मुझे परिणामी एसवीजी का एक पेचकश लेना था और आउटपुट दिखाने के लिए पीएनजी के रूप में बचाना था।

यहाँ एक स्रोत छवि है jpg:

खोपड़ी का स्रोत

यहाँ परिणामी छवि है:

खोपड़ी कन्वर्ट


7

आम तौर पर, मैं convertImageMagic से अपने सभी छवि हेरफेर कार्यों को करता हूं, लेकिन मैं इसे svg फ़ाइलों के साथ अच्छा खेलने के लिए नहीं प्राप्त कर सकता हूं। हालाँकि, inkscapeआप कमांड लाइन से स्वयं का उपयोग कर सकते हैं :

for i in *bmp; do inkscape -f "$i" -l "$i.svg"; done

कि नामक फाइल बनाएगा foo.bmp.svg। नामों को सही पाने के लिए, यह प्रयास करें:

for i in *bmp; do inkscape -f "$i" -l "${i%.bmp}.svg"; done

इस दृष्टिकोण के साथ समस्या यह है कि, कम से कम मेरे सिस्टम पर, यह एक कष्टप्रद चित्रमय संवाद को पॉप अप करता है, अगर मैं छवि को लिंक या एम्बेड करना चाहता हूं:

                                 यहाँ छवि विवरण दर्ज करें

तो, आपको अभी भी मैन्युअल रूप से ओके पर क्लिक करने की आवश्यकता है, लेकिन यह अभी भी फ़ाइल द्वारा फाइल करने की तुलना में बहुत तेज है।

आउटपुट चित्र समान हैं जहाँ तक मैं बता सकता हूँ:

   यहाँ छवि विवरण दर्ज करें


सैद्धांतिक रूप से, दोनों convertऔर rsvg-convertऐसा करने में समर्थ होना चाहिए, लेकिन मैं इसे कुछ मिनट मैं कोशिश कर रहा खर्च में अपनी छवियों पर अच्छी तरह से काम करने के लिए नहीं मिल सका। वे दोनों फिर भी देखने लायक हैं।


मैं सकारात्मक नहीं हूं, लेकिन इनक्सस्केप वेबसाइट पर यह कहा गया है कि यह अब potraceएम्बेडेड है, इसलिए मुझे आश्चर्य है कि क्या यह वैसे भी उस टूल का उपयोग कर रहा है? उद्धरण: "पॉट्रेस अब इंक्सस्केप में एम्बेडेड है। आपको इसे अलग से चलाने की आवश्यकता नहीं है।" - wiki.inkscape.org/wiki/index.php/Tools
SLM

5
मुझे लगता है कि Inkscape बस SVG के अंदर बिटमैप छवि को एम्बेड करेगा, इसलिए उनका समान रूप।
user2428118

@ user2428118 मुझे संदेह है कि आप सही हैं। हो सकता है कि आप इन छवियों के साथ क्या करना चाहते हैं, इस पर निर्भर करते हुए एक समस्या हो।
terdon

1

potraceउस के लिए उपकरण है। आप उन्हें थोक में संसाधित कर सकते हैं, लेकिन पहले आपको छवियों को मोनोक्रोम में बदलना होगा:

ls ./*.jpg | xargs -L1 -I {}  convert -monochrome {} {}.ppm
ls -1 ./*.ppm | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg

उबंटू पर स्थापित करें:

sudo apt install potrace

यदि आप ऐसी छवियों को परिवर्तित करना चाहते हैं जो मोनोक्रोम नहीं हैं, तो Inkscapeपॉट्रेस पर एक अनुरेखक टूल बेस है जो कई रंगों का समर्थन करता है, यह पहले छवि को रंग परतों में परिवर्तित करता है और फिर यह उन लोगों का पता लगाता है और परिणाम को जोड़ती है।

ट्रेसर, लोड का उपयोग करें या एक छवि आयात करने के लिए, उसका चयन करें, और चुनें पथ > ट्रेस बिटमैप आइटम, या Shift+ Alt+B.

देख

यहाँ ट्यूटोरियल!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.