आवेदन में, लगभग 1 बिलियन पीएनजी छवियां (आकार 1024 * 1024 और लगभग 1 एमबी प्रत्येक) हैं, इसे 1 अरब छवियों को एक विशाल छवि में संयोजित करने की आवश्यकता है, फिर आकार 1024 * 1024 एकता थंबनेल बनाता है । या शायद हमें छवियों को एक बड़े पैमाने पर गठबंधन करने की आवश्यकता नहीं है, लेकिन कंप्यूटर मेमोरी में एकता थंबनेल का उत्पादन करने के लिए बस कुछ जादू एल्गोरिदम करें? इस बीच इस प्रक्रिया को यथासंभव तेज़ी से, सेकंड में बेहतर, या कम से कम कुछ मिनटों में किया जाना चाहिए। क्या किसी के पास विचार है?एक अरब पीएनजी छवियों के लिए एकतापूर्ण थंबनेल कैसे तैयार करें?
उत्तर
ImageMagick कि कर सकते हैं:
montage -tile *.png tiled.png
आप जो भी कारण के लिए एक बाहरी सहायक का उपयोग नहीं करना चाहते हैं, तो आप अभी भी स्रोतों का उपयोग कर सकते हैं।
यह मेरे परीक्षण में बड़ी मात्रा में छवियों के लिए बहुत धीमा है, कोई सुझाव? – Suge
तो मशीनों के समूह पर, मोंटेज (साथ-साथ) का उपयोग करके छवियों को एक साथ समूहीकृत करने की अनुमति होगी। तो अपने लक्ष्यों को प्राप्त करने के लिए, आप सबसे पहले एनएक्सएन नौकरियों का एक सेट बनायेंगे, और उनको चलाएंगे, फिर जेनरेट किए गए मोंटेज पर, दोबारा जब तक आप एक मोंटेज के साथ नहीं छोड़े जाते हैं तब तक दोहराएं। – mksteve
एक अरब छवियों को एक montage
प्रक्रिया में लोड करने का विचार हास्यास्पद है। आपका प्रश्न अस्पष्ट है, लेकिन आपका दृष्टिकोण यह निर्धारित करना चाहिए कि आपकी मूल छवि में प्रत्येक मूल छवि कितनी पिक्सल होगी, फिर प्रत्येक छवि से समानांतर में आवश्यक पिक्सल निकालें। फिर उन पिक्सल को अंतिम छवि में इकट्ठा करें।
convert image1.png image2.png ... -format "%[fx:mean.r],%[fx:mean.g],%[fx:mean.b]:%f\n" info:
नमूना आउटपुट
:तो, अगर प्रत्येक छवि अपने अंतिम छवि में एक पिक्सेल द्वारा प्रतिनिधित्व किया जाएगा, तो आप प्रत्येक छवि के मतलब जो आप इस तरह कर सकते हैं प्राप्त करने की आवश्यकता
0.423529,0.996078,0:image1.png
0.0262457,0,0:image2.png
आप जीएनयू के साथ समानांतर में बहुत तेजी से तो ऐसा कर सकते हैं समानांतर,
की तरह कुछ का उपयोग कर 0find . -name \*.png -print0 | parallel -0 convert {} -format "%[fx:mean.r],%[fx:mean.g],%[fx:mean.b]:%f\n" info:
तो फिर तुम एक अंतिम छवि बना सकते हैं और में अलग-अलग पिक्सेल डाल दिया।
स्कैनिंग भी 1,000,000 PNG फ़ाइलें कई घंटे लग जाने की संभावना है ...
आप नहीं है का कहना है कि कितना बड़ा आपकी छवियों हैं, लेकिन यदि वे प्रत्येक 1 एमबी के आदेश के हैं, और आपके पास 1,000,000,000 हैं तो आपको उन्हें पढ़ने के लिए I/O की पेटबाइट करने की आवश्यकता है, इसलिए 500 एमबी/एस अल्ट्रा-फास्ट एसएसडी के साथ भी, आप 23 दिन होंगे ।
यदि टाइल छवियों को विभिन्न क्लाइंट से अपलोड किया जाएगा, तो अपलोड करने से पहले क्लाइंट पर प्रतिनिधित्व पिक्सेल का उत्पादन करना एक अच्छा विचार है, फिर सर्वर पर पिक्सल को छवि पर मिश्रित करें? क्या इस तरह से बहुत तेज होगा? – Suge
उत्तर आपके पर्यावरण पर निर्भर करता है, दुर्भाग्यवश, मैं वर्तमान विवरण से समझ नहीं पा रहा हूं। यदि 1,000,000,000 ग्राहक प्रत्येक आपको एक छवि भेज रहे हैं, तो यह आपको प्रत्येक के लिए न्यूनतम आवश्यक भेजने के लिए समझ में आता है। यदि 1,000,000 छवियां प्रदान करने वाले प्रत्येक 1024 क्लाइंट हैं, तो प्रत्येक ग्राहक के लिए आपके लिए एक संपूर्ण ब्लॉक तैयार करने के लिए यह समझदारी होगी लेकिन यदि आप प्रत्येक ग्राहक केवल एक तस्वीर भेजता है तो आप ऐसा नहीं कर सकते हैं। आम तौर पर, आप जितनी अधिक मशीनें व्यक्तिगत भागों पर काम कर सकते हैं, बेहतर। –
क्या मैं सम्मानपूर्वक सुझाव देता हूं कि आप अपना प्रश्न संपादित करें और इसे सुधारें ताकि लोक को उन मामलों को कवर करने और अपने समय बर्बाद करने की आवश्यकता न हो जो खराब वर्णन से उत्पन्न झूठी धारणाओं के आधार पर प्रासंगिक या उत्तर देने वाले उत्तर न हो ... –
यादृच्छिक-नमूनाकरण जैसे यादृच्छिक एल्गोरिदम संभव हो सकता है।
संयुक्त छवि को ध्यान में रखना इतना बड़ा है, किसी भी रैखिक एल्गोरिदम विफल हो सकता है, उच्च जटिलता विधि का उल्लेख नहीं करना।
गणना के अनुसार, हम प्रत्येक थंबनेल पिक्सेल 1000 छवि पर निर्भर कर सकते हैं। तो एक नमूना अवशिष्ट परिणाम परिणाम को प्रभावित नहीं करता है।
एल्गोरिथ्म वर्णन इस प्रकार हो सकता है:
प्रत्येक झलक पिक्सेल के लिए समन्वय, बेतरतीब ढंग से एन छवियों जो अनुरूप स्थान, और प्रत्येक छवि के नमूने एम पिक्सल और फिर उनकी औसत मूल्य की गणना करें चुनें। अन्य थंबनेल पिक्सल के लिए एक ही काम करें।
हालांकि, अगर आपकी छवियां यादृच्छिक रूप से संयुक्त हैं, तो परिणाम 0.5 मूल्यवान ग्रेस्केल छवि हो जाता है।क्योंकि केंद्रीय सीमा प्रमेय द्वारा, थंबनेल छवि पिक्सेल का अंतर शून्य होता है। तो आपने सुनिश्चित किया है कि संयुक्त थंबनेल स्वयं संरचित है।
पुनश्च: का उपयोग कर OpenCV एक अच्छा विकल्प होगा
- 1. Django sorl-थंबनेल छवियों
- 2. सभी पीएनजी छवियों का चयन करें
- 3. छवियों के थंबनेल बनाएं और उन्हें कैश
- 4. पीएनजी 8 बिट पारदर्शी छवियों के निर्माण के लिए सॉफ्टवेयर?
- 5. गिटहब भंडार में पीएनजी जैसी छवियों को कैसे अपलोड करें?
- 6. अन्य पीएनजी से एक पीएनजी कैसे कॉपी करें?
- 7. छवियों के कारण बड़े ऐप आकार। पीएनजी छवियों को कैसे संपीड़ित करें?
- 8. मैं PyQT4 के साथ 300 छवियों को थंबनेल कैसे करूं?
- 9. छवियों और थंबनेल स्टोर करने के लिए फ़ाइलस्ट्रीम का उपयोग करना एक अच्छा विचार है?
- 10. एचटीएमएल ईमेल में पीएनजी छवियों के लिए ईमेल क्लाइंट समर्थन
- 11. पीएनजी छवियों के लिए पिक्सेल आकार में फ़ाइल प्रारूप सीमाएं?
- 12. पायथन: पीएनजी छवियों को पढ़ने के लिए डिफ़ॉल्ट/सामान्य तरीका
- 13. एक साथ दो पीएनजी छवियों को एक साथ pylab
- 14. सेंसर डेटा की एक अरब पंक्तियों को कुशलतापूर्वक स्टोर और क्वेरी करने के लिए कैसे करें
- 15. जावा: फ़ाइल से थंबनेल कैसे प्राप्त करें
- 16. एक पीडीएफ फ़ाइल में पीएनजी छवियों को विलय करना
- 17. अनुक्रमित-पीएनजी छवियों में अल्फा पारदर्शिता
- 18. मुख्यालय यूट्यूब थंबनेल कैसे प्राप्त करें?
- 19. Django-imagekit में छवियों के ऑटो-रोटेशन को रोकना थंबनेल
- 20. एक परियोजना "रिपोजिटरी/टीम" तैयार करने के लिए कैसे तैयार करें
- 21. एक "छवि/पीएनजी" सामग्री प्रकार के साथ स्टेटिक पीएनजी फाइलों की सेवा करें, न कि "छवि/एक्स-पीएनजी"
- 22. प्रतिक्रिया मूल - पूर्ण आकार की छवियों के बजाय कैमरा रोल थंबनेल कैसे प्राप्त करें
- 23. आईफोन: एक पूर्ण छवि को अनुकूलित करने के लिए आवश्यक थंबनेल छवियों को
- 24. वीडियो थंबनेल छवि पर एक प्ले बटन ओवरले कैसे करें?
- 25. एक पीएनजी फ़ाइल
- 26. एक पीएनजी फ़ाइल को सी #
- 27. तैयार करने के लिए सत्र अक्षम करें
- 28. प्रदर्शन-वार: बहुत सारे छोटे पीएनजी या एक बड़े पीएनजी?
- 29. अरब वस्तुओं पर डायनेमोड पर विकृत गणना कैसे प्राप्त करें?
- 30. उत्पादन के लिए 3.0 तैयार तैयार है
अमेरिका अरब ('10 ** 9') या यूरोपीय संघ अरब (' 10 ** 12')? – alk
एक अरब का मतलब है, एक बड़ी मात्रा। – Suge
* एकता थंबनेल * और किस उद्देश्य के लिए आपका क्या मतलब है? – user694733