क्या कोई कमांड-लाइन प्रोग्राम है जो किसी इमेज को ASCII आर्ट इमेज में बदल सकता है?


19

क्या कोई कमांड-लाइन प्रोग्राम (लिनक्स के लिए) है जो किसी इमेज को एससीआई आर्ट में बदल सकता है और फिर उस आउटपुट को इमेज के रूप में सेव कर सकता है जैसे कि jpg या पीएनजी?

यह बताने के लिए कि मुझे किस चीज़ की ज़रूरत है, मैं नीचे की छवि को एससीआई कला में बदलना चाहता हूं यहाँ छवि विवरण दर्ज करें

एक प्रोग्राम से जो आउटपुट की इच्छा है, वह इस के समान होना चाहिए, जो कि एक इमेज-टू-अस्की कनवर्टर के आउटपुट का स्क्रीनशॉट लेकर बनाया गया था (आउटपुट शुद्ध पाठ था)

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

मुझे पता है कि GIMP में एक छवि को ascii कला के रूप में सहेजने की क्षमता है और aviewi भी एक छवि को ascii में बदल सकती है। हालाँकि, पूर्व कमांड लाइन के माध्यम से नहीं किया जा सकता है और बाद वाला आपको केवल आउटपुट देखने देता है, इसे सेव नहीं करता (मैं आउटपुट का स्क्रीनशॉट लेने के लिए सहारा नहीं लेना चाहता)।

मुझे यह भी पता है कि लिबाकाका एक छवि के लिए अपना आउटपुट बचा सकता है, लेकिन यह केवल नीचे की तरह रंगीन अस्की का उत्पादन करता है।

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

स्रोत छवि को greyscale में परिवर्तित करके और फिर निम्न कमांड के साथ बनाया गया है:

img2txt -W 70 -f tga input.jpg > output.tga

कमांड-लाइन प्रोग्राम को चाहने का कारण छवियों से भरे एक फ़ोल्डर को प्रोसेस करना है।


1
मैंने कभी इसकी कोशिश नहीं की है, लेकिन मुझे पता है कि यह convert(ImageMagick) पाठ को पाइप करना संभव है । अगर आप img2txt का आउटपुट asi (रंगीन एएनआई के बजाय) में सेट करते हैं, तो आप परिणाम को बदलने के लिए पाइप कर सकते हैं (या अन्य उपयुक्त सॉफ्टवेयर)
horatio

@horatio: कन्वर्ट एक फ़ाइल इनपुट की उम्मीद करता है और पाइप से पढ़ने से इनकार करता है। हम इसे वैसे भी एक अस्थायी फ़ाइल के माध्यम से कर सकते हैं।
तक्षक

जवाबों:


7

आप इस अजगर कोड का उपयोग कर सकते हैं जो मैंने अभी भी छवियों और वीडियो से एससीआई कला बनाने के लिए बनाया है:

https://gist.github.com/lindylex/9374326

उदाहरण आउटपुट

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

ASCII कला उत्पादन ( python ascii_movie_image_ver_1.py cat.jpg 4 10) यहाँ छवि विवरण दर्ज करें


2
लिंक आते हैं और जाते हैं, भले ही यह आपकी अपनी साइट हो ... क्या आप अपने कोड का उपयोग करके "पहले" और "बाद" के दो स्क्रीनशॉट जोड़ सकते हैं?
इलन

4
@ इलन मैंने एक उदाहरण जोड़ा है और एक सार्वजनिक गिट रिपॉजिटरी की ओर इशारा किया है
हेलोकाटफूड

14

यदि आप लिनक्स चलाना चाहते हैं तो वांछित परिणाम प्राप्त करने के लिए आप एक साथ अनुप्रयोगों को आसानी से सिलाई कर सकते हैं। फिर इसे आपके बैच प्रोसेसिंग स्क्रिप्ट में भी शामिल किया जा सकता है।

नीचे दिया गया उदाहरण jp2a का उपयोग करता है , वांछित परिणामों को प्राप्त करने के लिए कई विकल्पों के साथ ASCII- कला कनवर्टर के लिए एक शक्तिशाली JPG (मैनपेज पर परामर्श करें)। हम फिर ImageMagick सूट से कन्वर्ट का उपयोग करके एक छवि के परिणामस्वरूप ASCII पाठ फ़ाइल को संसाधित करते हैं । फिर से परिणाम को ठीक करने के लिए कई विकल्प हैं। दोनों एप्लिकेशन आपके वितरण के रिपॉजिटरी से उपलब्ध होने की संभावना है।

नीचे नमूना स्क्रिप्ट .jpgएक इनपुट JPEG- छवि से ASCII- कला छवि (हम जो एक्सटेंशन देते हैं, JPEG के लिए है , उसके आधार पर ) का उत्पादन करेगा। स्रोत 6 पीटी पर 160 वर्ण चौड़ाई का है। यह तब डिफ़ॉल्ट पृष्ठ आकार में रूपांतरित से पूर्व-परिभाषित के रूप में फिट होगा।

#! /bin/bash
#Usage ./j2asc infile.jpg outfile.jpg

echo "converting $1 to $2"
jp2a --width=160 -i  $1 --output=tmp.txt
convert -font Courier -pointsize 6 tmp.txt $2

यह संभवतः मेरे इच्छित आउटपुट के सबसे करीब होगा। धन्यवाद!
हेलोकैटफूड

वहाँ एक रास्ता निर्दिष्ट करने के लिए कुछ और होने का तरीका है 835px? मैं आस्की कला को 1920x1080वॉलपेपर छवि में बदलना चाहता हूं लेकिन जब मैं -resize 1920x1080विकल्प पास करता हूं तो चौड़ाई बनी रहती है 835px

@ वॉशबर्न: छवि का आकार वर्ण संख्या (चौड़ाई) द्वारा निर्धारित किया जाता है और इंगित करता है। एक बड़े आउटपुट के लिए बड़ा करें या परिणामी छवि को दूसरे रन में स्केल करें।
तक्षक

1
MacOS उपयोगकर्ताओं के लिए: jp2a होमब्रे और रनिंग के माध्यम से भी उपलब्ध है brew install jp2a:।
k0pernikus

1
कुछ मामलों में HTML के प्रत्यक्ष उत्पादन पर भी विचार करें jp2a --html --width=160 --chars="\'\"love" input.jpg --output=output.htm:। आप रेंडरिंग के लिए अपने पसंदीदा सेट को निर्दिष्ट कर सकते हैं (यदि आप उनका उपयोग करना चाहते हैं तो आपको मेटाचैकर्स से बचना होगा)। Jp2a के लिए आर्क के लिए AUR भी देखें ।

2

Node.js नॉकआउट 2012 में, एक विजयी सबमिशन था जिसने एक वेब कैमरा वीडियो फीड लिया और "एएससीआई फीड" को थूक दिया:

Asciigram

असीसीग्राम पृष्ठ

Asciigram एक "उत्पादकता उपकरण" है जो आपको अपने वेबकैम का उपयोग करके ASCII वीडियो और चित्र बनाने की अनुमति देता है। आप पृष्ठ पर छवियों को खींचते हुए ASCII चित्र भी बना सकते हैं। [संपर्क]

यह वास्तव में कमांड लाइन नहीं है, लेकिन हो सकता है कि आप इसे अपनी आवश्यकताओं के लिए वापस ले सकें। जिस पुस्तकालय का उपयोग वे छवि को एससीआई में बदलने के लिए करते हैं, उसे जस्सी कहा जाता है ।


1
यह केवल टेक्स्ट आउटपुट करता है न कि इमेज। इसके अलावा, यह एक कमांड लाइन कार्यक्रम नहीं है
हेलोकाटफूड

2

मैं ascii कला के लिए jp2a का उपयोग करता हूं । कमांड लाइन से उपयोग करने के लिए सीधा:

jp2a --width=76 file.jpg

और asciiconvert.com पर ऑनलाइन परीक्षा परिणाम देख सकते हैं ।


jp2a पहले से ही सूचीबद्ध है , और आपका लिंक कुछ भी नहीं जोड़ता है (यह खोलने में विफल रहता है)।
usr2564301

1

आप लिनक्स का उपयोग कर रहे हैं, और पहले से ही libcaca पता है। वहाँ एक और काम है कि आप क्या कहते हैं (कमांड लाइन पर Ascii के लिए छवि): Aalib

कई कार्यक्रम ऐसा करते हैं। यह एक लिनक्स और विंडोज़ दोनों पर काम करता है । बाहरी पुस्तकालयों, पूर्ण स्रोत उपलब्ध कोड आदि का उपयोग नहीं करता है ...


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

1

जब तक मुझे पता है कि कार्यक्रम में कमांड लाइन इंटरफ़ेस नहीं है, लेकिन छवियों को पाठ और फिर छवियों में परिवर्तित करता है। स्रोत उपलब्ध है, इसलिए आप इसे अपने उपकरण लिखने के लिए उपयोग कर सकते हैं।

आप सही हैं, ऐलिब छवियों का उत्पादन नहीं करता है, लेकिन यह आउटपुट टेक्स्ट करता है। साथ ही कई अन्य प्रोग्राम जो कमांड लाइन पर काम करते हैं।

यदि आप लिनक्स का उपयोग कर रहे हैं, तो asciitopgm नामक एक कमांड लाइन प्रोग्राम है जो ascii टेक्स्ट को बिटमैप में बदल देगा। यह netpbm पैकेज का हिस्सा है।

तो आप उपकरणों के संयोजन का उपयोग कर सकते हैं:

  1. पाठ का उपयोग करके एक छवि बनाने के लिए aalib
  2. पाठ फ़ाइल के साथ एक pgm बिटमैप बनाने के लिए asciitopgm।
  3. (ऑप्शनल) कन्वर्ट का उपयोग करें (इमेजमेगिक पैकेज से) pgm को किसी अन्य रेखापुंज प्रारूप में बदलने के लिए जिसे आप चाहते हैं।

मुझे लगता है कि आप इस तरह से कर सकते हैं जो आप चाहते थे।


0

हां, एक उपकरण है जिसे jp2aमूल रूप से एक jpg चित्र को एससीआई कला में परिवर्तित किया जाता है ।

उदाहरण के लिए:

$ jp2a skull.jpg

मूल Skull.jpg

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

आउटपुट आस्की कला

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

Jpg इमेज का इस्तेमाल ज़रूर करें। यदि आपकी छवि किसी अन्य प्रारूप में है तो आप इसे बदल सकते हैं

$ convert skull.png skull.jpg

1
नमस्कार और GDSE में आपका स्वागत है! यह एक डुप्लिकेट उत्तर की तरह लगता है। आप इसे संपादित करके इसमें सुधार कर सकते हैं या अंततः इसे हटा सकते हैं।
जिज्ञासु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.