रेखापुंज से वेक्टर तक एक रेखा खींचना ** LINES **


16

यहाँ पहले से ही ऐसे प्रश्न हैं, जैसे:

... और दूसरे।

मेरे पास एक B & W png छवि है, जिसमें भूलभुलैया की तरह एक ड्राइंग है, जैसे इसमें केवल लाइनें हैं , कोई क्षेत्र नहीं है।

इसे (किसी भी) वेक्टर प्रारूप में परिवर्तित करने की आवश्यकता है, लेकिन LINES के रूप में । हर कार्यक्रम जो मैंने कोशिश की, जैसे कि वेक्टरमैजिक, पोट्रेस आदि लाइनों को बंद पथ क्षेत्रों में परिवर्तित करता है।

मूल PNG छवि का छोटा हिस्सा - ज़ूम किया गया: यहाँ छवि विवरण दर्ज करें

ट्रेस का परिणाम: यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, "लाइन" को इसके दोनों ओर से किसी अन्य क्षेत्र की तरह आकार का पता लगाया गया है।

एक तरीके की तलाश में, वास्तविक रेखाओं (PATHS) में रेखाओं का पता कैसे लगाया जाए , जो मिलान रेखा-चौड़ाई के साथ सबसे अच्छा हो। (लेकिन किसी भी लाइन के साथ पर्याप्त होगा)।

पीछे का कारण: ट्रेस लाइनों और नोड्स के साथ काम करने की आवश्यकता है, उदाहरण के लिए कुछ नोड्स को बीज़ियर और जैसे में परिवर्तित करें। आकृतियों के साथ संभव (आसानी से) नहीं।

कोई उपाय:

  • किसी अनुरेखण कार्यक्रम से वेक्टरित लाइनें कैसे प्राप्त करें ।
  • कौन सा उपकरण ऐसा कर सकता है? (कोई भी OS - Windows, OS X, Linux .. का उपयोग कर सकता है)

जवाबों:


15

सेंटरलाइन ट्रेसिंग

एक नि: शुल्क ओपन सोर्स उपकरण ऑटोट्रेस है जो लाइन-आर्ट बिटमैप के केंद्र रेखा ट्रेस करने में सक्षम है।

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

कम से कम निम्नलिखित विकल्पों के साथ ऑटोट्रेस चलाएँ :

autotrace -centerline -color-count 2 -output-file output.svg -output-format SVG input.png 

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

हम फिर स्ट्रोक को ठीक कर सकते हैं और वांछित स्ट्रोक शक्ति जोड़ सकते हैं।

हम कमांड लाइन से परिचित नहीं होने की स्थिति में ऑटोट्रेस के लिए ग्राफिकल फ्रंटेंड फ्रंटलाइन भी स्थापित कर सकते हैं ।

लिनक्स उपयोगकर्ता अधिकांश वितरणों में अपने डिफ़ॉल्ट रिपॉजिटरी से प्रदान किए गए ऑटोट्रेस को स्थापित करने में सक्षम हो सकते हैं। विंडोज के लिए प्रोजेक्ट के पेज को डाउनलोड करने के लिए पहले से तैयार पैकेज हैं।

ऑटोट्रेस के लिए कई अतिरिक्त पैरामीटर हैं जो एप्लिकेशन के मैन पेज में या इसके साथ कॉल करके पाया जा सकता है autotrace -help

बजाए सीधे लाइनों को प्राप्त करने के लिए हम निम्न मापदंडों का उपयोग कर सकते हैं:

  • -line-threshold [real]:
    यदि कोई स्प्लिन निर्दिष्ट छोरों से अधिक पिक्सेल द्वारा उसके समापन बिंदु द्वारा परिभाषित सीधी रेखा से विचलन नहीं करता है, तो उसे एक सीधी रेखा (डिफ़ॉल्ट: 1) के रूप में मानें।

  • - line-reversion-threshold [real]:
    यदि एक स्पाइन सीधी रेखा के करीब है, तो वक्र लंबाई के वर्ग द्वारा भारित है, तो इसे एक सीधी रेखा रखें भले ही यह वक्रों के साथ एक सूची हो; डिफ़ॉल्ट है ।01।


1
+1 क्या आप जानते हैं कि यदि अनुरेखक के पास विकल्प है तो केवल ऑटोट्रेस के साथ सीधे सेगमेंट बनाएं।
पूजा

@joojaa: विकल्पों के लिए संपादन देखें।
ताकत

काश मैं निर्माण करने के लिए ऑटोट्रेस पा सकता ... मैं इस का उपयोग करना पसंद करूंगा
slashdottir

1
@slashdottir: आप किस सिस्टम का उपयोग कर रहे हैं? परियोजना की साइट के लिए ले जाया Github हाल deveIopment के लिए और बग रिपोर्ट के लिए। मैंने लिंक को शामिल करने के लिए उत्तर को संपादित किया।
ताकत

ओह शानदार! मैं OSX का उपयोग कर रहा हूं। लिंक के लिए बहुत बहुत धन्यवाद!
स्लैशडॉटिर

10

बहुत ईमानदारी से ... कलम उपकरण को पकड़ो और मैन्युअल रूप से पथ का पता लगाएं। यह सबसे अच्छा उत्पादन में परिणाम होगा ।

ऑटो-ट्रेसिंग अक्सर सबसे अच्छा विकल्प नहीं होता है। जब आप केवल पथ चाहते हैं तो आप स्ट्रोक कर सकते हैं, ऑटो-ट्रेस आमतौर पर बुरी तरह से विफल हो जाता है।


छवि वास्तव में कई-कई लाइनों के साथ कॉम्पलेक्स है। इसके अलावा अधिक छवियां हैं - बस बहुत अधिक काम - एक विकल्प की तलाश ...;)
jm666

मुझे भी उम्मीद है कि "टूल" कुछ अनुकूलन करेगा, जैसे कि हमेशा सबसे लंबे समय तक संभव रास्ते बनाएंगे और इसी तरह ... मैनुअल काम हमेशा सबसे अच्छा नहीं होता है;)
jm666

सौभाग्य! मैं वास्तव में सोचता हूं कि आप जो पूछ रहे हैं वह सिर्फ मैनुअल कौशल और धैर्य से लेता है। मैंने कभी भी एक स्वचालित समाधान नहीं देखा है जो एकल पथ बनाने में सार्थक था। मुझे लगता है कि आपका '' असंभव को ईमानदारी से चाह रहा हूं।
स्कॉट

2
@scott जबकि मैं सामान्य रूप से इस विशिष्ट मामले में आपकी भावना से सहमत हूं, यह सिर्फ काम कर सकता है।
पूजा

5

अपने ट्रेस के बाद इंटरपोल पथ का उपयोग करने की कोशिश करें, जैसा कि यहां दिखाया गया है:

एक भराव से औसत स्ट्रोक


वाह। यह बहुत अच्छा लग रहा है। धन्यवाद! +1।
jm666

@ jm666 टोकोर्स की तरह की विधि अभ्यस्त स्वचालित रूप से बहुत अच्छी तरह से स्वचालित है जब तक कि आपके निरंतर पथ के साथ काम नहीं करता है।
पूजा

5

इलस्ट्रेटर ऑटोट्रेस की तरह सेंटर लाइन ट्रेसिंग कर सकता है । यह अधिकांश चीजों के लिए सुपर उपयोगी नहीं है, लेकिन इस मामले में छवि अत्यधिक सिंथेटिक है और यह काम कर सकती है।

योर सोर्स की छवि बहुत खराब है, इसलिए गुणवत्ता खोने के बिना इसे आज़माने का कोई वास्तविक तरीका नहीं है, आपके मूल बेहतर होने चाहिए (इतना जूम करने की आवश्यकता नहीं)

यह करो:

  1. ट्रेस सेटिंग्स में, डिसेबल फिल करें और स्ट्रोक सक्षम करें।

  2. वस्तु → विस्तार

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

छवि 1 : ट्रेस और विस्तार के बाद ऑब्जेक्ट।

  1. किसी भी अनुरेखण त्रुटियों से परिणामों को और बढ़ाने के लिए: ऑब्जेक्ट → पथ → सरल करें , सीधे किनारों की जांच करें।

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

चित्र 2 : सरलीकरण के बाद

  1. मुझे लगता है कि आपकी छवि कुछ हद तक लाइन दिशाओं और कोने के स्थानों में सीमित है, यदि सही है तो आप अब और भी बेहतर (यदि पूर्ण नहीं) परिणामों के लिए अंक निर्धारित करने की कोशिश कर सकते हैं।

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

चित्र 3 : परिमाणात्मक परिणाम क्या कर सकता है।

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

PPS: आपके कोने ओवरलैप हो रहे हैं, इससे ऑटो ट्रैसर को कुछ दुःख होता है आप इमेज मॉर्गिक के कुछ मॉर्फोलॉजी ऑपरेटर्स के साथ इनका पता लगा सकते हैं और ठीक कर सकते हैं, जिससे ट्रैक्टर्स को बहुत ज्यादा खुशी मिल सकती है।


अच्छा भी। अब ऑटोट्रेस का उपयोग करते हुए, क्योंकि सरल कमांड लाइन उपयोग - कई छवियों के लिए। ऊपर बिटमैप छवि एक बड़ी छवि (1300% ज़ूम) का एक छोटा हिस्सा है :) - इसलिए यह नीचा दिखता है। +1, शुक्रिया।
jm666

@ jm666 यकीन है, यदि आप चाहें तो cmd से इलस्ट्रेटर का उपयोग कर सकते हैं, लेकिन इसकी शुरुआत के लिए थोड़ा सा काम करना होगा।
पूजा

मैंने इलस्ट्रेटर की छवि ट्रेस और नमूना के साथ केवल स्ट्रोक का उपयोग करने की कोशिश की। मैं कोई भी उपयोगी परिणाम प्राप्त करने में असमर्थ था। निश्चित रूप से मैंने इसके लिए बहुत सारा समय निवेश नहीं किया, और नमूना अनुरेखण के लिए आदर्श नहीं है। लेकिन मुझे लगता है कि सामान्य सेटिंग में AI का पता लगाने के लिए केवल स्ट्रोक का मतलब है कि आपको वास्तविक कलाकृति का केवल 30-60% पता चलता है जब तक कि मूल अनुरेखण से पहले बहुत ठोस और तेज न हो।
स्कॉट

@Scott मैं छवि को मूल (ish) आकार और समायोजित लाइन चौड़ाई पैरामीटर पर वापस सिकोड़ देता है ताकि यह काम कर सके। जब आप विभिन्न चौड़ाई के स्ट्रोक का पता लगाते हैं, तो आपको इसे 2 या 3 अलग-अलग पास करने की आवश्यकता हो सकती है।
पूजा

4

: इंकस्केप के लिए, वहाँ भी एक centerline ट्रेस विस्तार उपलब्ध GitHub पर है https://github.com/Moini/inkscape-centerline-trace (का कांटा https://github.com/fablabnbg/inkscape-centerline-trace )


अपडेट: फोर्क के कोड को अब मूल में मिला दिया गया है, fablabnbg लिंक का उपयोग करें।
मौनी

2

मुझे WinTopo नाम का एक अच्छा फ्रीवेयर टूल मिला , जिसने मेरे लिए काम किया, यानी सेंटरलाइन ट्रैकिंग।

विधि को "एक स्पर्श सदिशीकरण" कहा जाता है और अच्छी तरह से काम करता है।

जैसा कि मैं एक जीआईएस संदर्भ से आता हूं - प्रो संस्करण में पहले रेखापुंज डेटा को गोरोफर करने का विकल्प है - उपयोगी हो सकता है, अभी तक परीक्षण नहीं किया गया है।

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