लिनक्स के तहत विशाल चित्रों के लिए दर्शक (> 100 MP रंग चित्र)


7

मेरे पास बहुत से 50-100 MP रंग के चित्र हैं जिन्हें मैं linux पर देखना चाहूंगा।

उदाहरण के लिए, 10000x17000 का आकार विशिष्ट है, लेकिन अधिकांश छवि दर्शक आउट-ऑफ-मेमोरी के साथ विफल हो जाएंगे।

फ़ाइल प्रारूप png या jpg है।

मैं जो चाहता हूं, वह ऐसी छवि को आंशिक और संपूर्ण रूप से देखने की क्षमता है, जिसमें छवि को चारों ओर स्क्रॉल करने की क्षमता है। मेमोरी की कम खपत, इसलिए मेमोरी में बिटमैप में कोई पूर्ण छवि नहीं है।


काम जाहिरा तौर पर इस में जा रहा है - देखें लिनक्सजैनल आर्टिकल ऑन लिमप
new123456

क्या यह 64-बिट लिनक्स के साथ है?
Ken

नहीं, यह 32-बिट है। पीएनजी छवि बहुत भारी संकुचित है, कई एमबी तक। Jpgs 20-50 mb हैं।
osgx

जवाबों:


6

Gwenview

यह डिफ़ॉल्ट केडीई छवि दर्शक है। मैंने इसे केवल 128-मेगापिक्सेल रंग JPEG (मेरा OS 32-बिट) पर आज़माया है Gwenview ने छवि को लगभग 1 सेकंड में लोड किया।

  • यह शुरू में ज़ूम आउट की गई छवि को लोड करता है। प्रक्रिया केवल 55.8 एमबी मेमोरी का उपयोग कर रही है, इसलिए स्पष्ट रूप से यह पूर्ण असम्पीडित छवि डेटा को लोड नहीं किया है।

  • 100% ज़ूम करने पर, छवि को पैन करते समय यह काफी तेज़ है। यह प्रक्रिया अब 520 एमबी मेमोरी का उपयोग कर रही है, जो कि 489 एमबी की तुलना में थोड़ा अधिक है और असम्पीडित 32-बिट छवि को ले जाएगा।

हालांकि, आपके द्वारा वर्णित आकार की छवियों के साथ, पूरी चीज़ को मेमोरी में लोड करना है हाल ही में एक कंप्यूटर पर। (लिनक्स पर 32-बिट एड्रेसिंग सीमा 3 जीबी है।)

ImageMagick

ImageMagick विशाल छवियों के प्रसंस्करण का समर्थन करता है यह सब स्मृति में संग्रहीत किए बिना।

ऐसा करने के लिए, का उपयोग करें

display -limit memory 256mb huge_img.png

(बदलने के 256mb हालांकि बहुत अधिक मेमोरी के साथ आप उपयोग करना चाहते हैं)। ImageMagick शेष पिक्सेल डेटा को डिस्क पर संग्रहीत करेगा ( /tmp/magick-12345678 ), ताकि यह सब स्मृति में पकड़ नहीं है।

यह ग्वेनव्यू की तुलना में धीमा लगता है, लेकिन आप इसे पसंद कर सकते हैं यदि आप ग्वेनव्यू के केडीई निर्भरता को स्थापित नहीं करना चाहते हैं, या भारी संसाधन-विवश हैं।


1

संपीड़ित jpgs केवल 50 मेगा मीटर का हो सकता है लेकिन शुद्ध रेखापुंज लगभग 700 मेगावॉट का होगा। यह देखते हुए कि 32 बिट OS केवल एक प्रक्रिया में 2 या 3 गिग्स मेमोरी का उपयोग कर सकते हैं ... ओएस लोड और ग्राफिक्स प्रोग्राम के साथ कमरा नहीं हो सकता है।

सवाल यह है कि चित्र उपकरण आप एक आंतरिक रूप से रेखापुंज के साथ काम का उपयोग कर रहे हैं। विंडो को देखने के लिए टूल को बिटकॉइन के बिट डेटा तक पहुँच की आवश्यकता होगी। मुझे नहीं पता कि यह संभव है।

क्या आप 8 या 16 गिग मेमोरी के साथ 64 बिट ओएस पर यह कोशिश कर सकते हैं। अगर यह वहां काम करता है आप जानते हैं कि वे jpg का विस्तार कर रहे हैं।


सवाल उन कार्यक्रमों को खोजने का था, जिन्हें मेमोरी में पूर्ण (डीटेलिज्ड) रैस्टर को स्टोर करने की आवश्यकता नहीं है। जब मैं छवि का हिस्सा देख रहा हूं, तो केवल इस भाग (और कुछ रास्टर अर्नफ) को अनपैक किया जाना चाहिए; यदि दूसरे भाग में जाते हैं, तो मैं नए अनपैकिंग की प्रतीक्षा करूँगा। पूर्ण छवि को देखते समय, अनपैकिंग के तुरंत बाद रेखापुंज को कम किया जा सकता है। मुझे लगता है, OpenEV इस तरह के कार्यक्रम का एक उदाहरण है - और मेरी छवियां भू-स्थानिक डेटा हैं।
osgx
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.