2013-04-02 6 views
5

सबसे पहले मुझे छवियों से निपटने के लिए उपयोग नहीं किया जाता है, इसलिए यदि मेरा शब्द बंद है तो कृपया मुझे क्षमा करें।एल्गोरिदम?

मैं एक ऐसी छवि लेना चाहता हूं जो एचटीएमएल 5 कैनवास पर गिरा दिया गया हो, नमूना करें, नमूना में कमी करें, फिर कुछ अन्य बहुभुजों के साथ ज्यादातर त्रिकोणों का उपयोग करके छवि का बहुभुज प्रतिनिधित्व बनाएं और उस छवि को आकर्षित करें कैनवास।

लेकिन मुझे नहीं पता कि ऐसा करने के लिए एल्गोरिदम के साथ कहां से प्रारंभ करना है। इस तरह के एल्गोरिदम के लिए मुझे किस प्रकार का छद्म कोड चाहिए?

इस छवि को अंतिम परिणाम का एक बेहतर समझ प्रदान कर सकता है:

http://oi49.tinypic.com/1hcj2d.jpg

+1

वहाँ एक पुस्तकालय होना चाहिए जो ऐसा करता है ... यह अक्सर एक आवश्यक कार्य है। तो ऐसा लगता है कि आप बिटमैप छवि के कुछ प्रकार के वेक्टर ट्रेसिंग करना चाहते हैं। –

+0

निकटता से संबंधित http://stackoverflow.com/questions/3038905/how-can-i-convert-simple-shape-bitmap-to-vector-geometry –

+0

मैं आपके प्रश्न को बेहतर ढंग से समझने की कोशिश कर रहा हूं। क्या आप एक "प्वाइंटिलिज्म" छवि उत्पन्न करने के लिए पूछ रहे हैं, लेकिन बिंदुओं के बजाय त्रिकोण के साथ? – markE

उत्तर

5

मैं निम्नलिखित करना होगा:

  1. बेतरतीब ढंग से रखा डॉट्स के एक क्षेत्र बनाएँ।
  2. बिंदुओं से Voronoi diagram बनाएं।
    • यहाँ एक अच्छा JavaScript लाइब्रेरी है कि मैं इस के लिए अतीत में प्रयोग किया गया है: https://github.com/gorhill/Javascript-Voronoi
  3. रंग प्रत्येक कोशिका रंग नमूने पर आधारित है।
    • क्या आप बस डॉट पर रंग चुनते हैं? सेल के भीतर सभी रंगों का नमूना लें और उन्हें औसत करें? सेल के केंद्र से औसत वजन? प्रत्येक अलग-अलग लेकिन संभवतः दिलचस्प परिणाम उत्पन्न करेगा।

परिणाम त्रिकोण और नहीं बहुभुज, तो बजाय एक Voronoi आरेख एक Delaunay triangulation बनाने की जरूरत है, तो। गिटहब में 15 JavaScript libraries for this है, लेकिन मैंने किसी को भी विशेष रूप से अनुशंसा करने में सक्षम होने की कोशिश नहीं की है।

+1

+1। यह एक आशाजनक दृष्टिकोण की तरह लगता है, हालांकि यादृच्छिक रूप से वितरित बिंदुओं का उपयोग करके आप यादृच्छिक रूप से आकार वाले बहुभुज के साथ समाप्त हो जाएंगे। परिणामी छवि मूल छवि को केवल रंग में ही प्रस्तुत कर सकती है, न कि फॉर्म में। –

+0

शैक्षणिक! उसके लिए धन्यवाद। –

+0

आपको बहुत धन्यवाद, जो मैं खोज रहा था वो वोरोनोई और डेलाउने त्रिकोण जानकारी थी, लेकिन मेरे पास अभी कोई प्रारंभिक बिंदु नहीं था। – ars265

4

ठीक है, यह थोड़ा अप्रत्यक्ष है, लेकिन यहाँ जाता है .....! https://github.com/gsmith85/SeuratJS/blob/master/seurat.js

यहाँ दिलचस्प हिस्सा है:

यह है कि pointilized कला में छवियों को बदल जाता है एसवीजी के लिए एक प्लगइन है। हुड के तहत, यह प्रसंस्करण करने के लिए कैनवास का उपयोग करता है!

उदाहरण "डॉट्स" और "वर्ग" से बना चित्र दिखाते हैं।

शायद आप अपने त्रिकोण बनाने के लिए कोड को संशोधित कर सकते हैं - यहां तक ​​कि त्रिकोण बनाने के लिए तिरछे वर्गों को भी काट लें।

+0

दिलचस्प लाइब्रेरी, मैं इसे और अधिक देख लूंगा और देख सकता हूं कि मैं जिस तरह से सोच रहा हूं, मैं छवियों में हेरफेर कर सकता हूं। धन्यवाद। – ars265