Czy istnieje program wiersza polecenia (dla systemu Linux), który może konwertować obraz do postaci ascii, a następnie zapisywać go jako obraz, np. Jpg lub png?
Aby zilustrować to, czego potrzebuję, chcę przekonwertować poniższy obraz na sztukę ascii
Dane wyjściowe, których oczekuję od programu, powinny być podobne do tego, który został utworzony przez zrzut ekranu z wyniku konwersji konwertera obrazu na ascii (wynik był czystym tekstem)
Wiem, że GIMP ma możliwość zapisania obrazu jako sztuki ascii, a aview może również przekonwertować obraz na ascii. Jednak tego pierwszego nie można wykonać za pomocą wiersza poleceń, a ten drugi pozwala tylko wyświetlić dane wyjściowe, a nie zapisać (nie chcę uciekać się do zrobienia zrzutu ekranu wyniku).
Wiem też, że libcaca może zapisać swoje wyjście na obrazie, ale wyświetla tylko kolorowe ascii, jak poniżej.
Wykonane przez konwersję obrazu źródłowego na skalę szarości, a następnie za pomocą następującego polecenia:
img2txt -W 70 -f tga input.jpg > output.tga
Powodem, dla którego potrzebny jest program wiersza polecenia, jest wsadowe przetworzenie folderu pełnego obrazów.
źródło
convert
(ImageMagick). Jeśli ustawisz wyjście -f img2txt na ansi (zamiast kolorowego ansi), możesz przesłać wynik do konwersji (lub innego odpowiedniego oprogramowania)Odpowiedzi:
Możesz użyć tego kodu Pythona, który stworzyłem, do tworzenia grafiki ascii ze zdjęć i filmów:
https://gist.github.com/lindylex/9374326
Przykładowe dane wyjściowe
Oryginalny
Wyjście sztuki ASCII (
python ascii_movie_image_ver_1.py cat.jpg 4 10
)źródło
Jeśli wydaje się, że używasz Linuksa, możesz łatwo połączyć aplikacje, aby uzyskać pożądany rezultat. Można to również włączyć do skryptu przetwarzania wsadowego.
Poniższy przykład wykorzystuje jp2a , potężny konwerter JPG na ASCII-art z wieloma opcjami osiągnięcia pożądanych rezultatów (patrz strona podręcznika). Następnie przetwarzamy wynikowy plik tekstowy ASCII do obrazu za pomocą konwersji z pakietu ImageMagick . Ponownie istnieje wiele opcji dostrajania wyniku. Obie aplikacje będą prawdopodobnie dostępne z repozytoriów Twojej dystrybucji.
Poniższy przykładowy skrypt wygeneruje obraz ASCII-art (format w zależności od rozszerzenia, które dajemy,
.jpg
to JPEG) z wejściowego obrazu JPEG. Źródło jest renderowane do szerokości 160 znaków przy 6 pkt. To po prostu zmieści się na domyślnym rozmiarze strony, który został wcześniej zdefiniowany podczas konwersji.źródło
835px
? Chcę przekonwertować grafikę ascii na1920x1080
tapetę, ale gdy przejdę tę-resize 1920x1080
opcję, szerokość pozostanie na835px
.brew install jp2a
.jp2a --html --width=160 --chars="\'\"love" input.jpg --output=output.htm
. Możesz określić preferowany zestaw znaków do renderowania (będziesz musiał unikać metaznaków, jeśli chcesz ich użyć). Dla jp2a patrz także AUR dla Arch .W Node.js Knockout 2012 pojawiła się zwycięska propozycja, która pobrała wideo z kamery internetowej i wypluła „kanał ascii”:
Asciigram
Nie jest to dokładnie wiersz poleceń, ale być może możesz go zmodyfikować do własnych potrzeb. Biblioteka, której używają do konwersji obrazu na ascii, nazywa się Jscii .
źródło
Używam jp2a do sztuki ascii. Łatwy w użyciu z wiersza poleceń:
I może testować wyniki online w asciiconvert.com .
źródło
Wygląda na to, że używasz Linuksa i już znasz libcaca. Istnieje inna biblioteka, która robi dokładnie to, co mówisz (zdjęcie do Ascii w wierszu poleceń): Aalib .
Jest wiele programów, które to robią. Ten działa zarówno w systemie Linux, jak i Windows . Nie korzysta z zewnętrznych bibliotek, pełnego kodu źródłowego itp.
źródło
Tak długo, jak wiem, że program nie ma interfejsu wiersza polecenia, ale konwertuje obrazy na tekst, a następnie na obrazy. Źródło jest dostępne, więc możesz użyć go do napisania własnego narzędzia.
Masz rację, aalib nie wysyła obrazów, ale wysyła tekst. Jak również wiele innych programów, które działają w wierszu poleceń.
Jeśli używasz Linuksa, istnieje program wiersza poleceń o nazwie asciitopgm, który konwertuje tekst ascii na mapę bitową. Jest to część pakietu netpbm.
Możesz więc użyć kombinacji narzędzi:
Myślę, że możesz zrobić to, co chciałeś w ten sposób.
źródło
Tak, istnieje narzędzie o nazwie
jp2a
które zasadniczo konwertuje obraz jpg do sztuki ascii.Na przykład:
Oryginalny Skull.jpg
Wyjście Ascii Art
Pamiętaj, aby użyć obrazu jpg. Jeśli twój obraz ma inny format, możesz go zmienić
źródło