← Všechny projekty
Ostatní

Převodník obrázků na ASCII art

Nástroj pro převod obrázků na ASCII art reprezentace.

KategorieOstatní
Aktualizováno17. 10. 2025
Repozitářhttps://github.com/martinledl/ascii-art-cpp.git
Technologie
C++ASCII ArtImage ProcessingConsole Application

Přehled

ASCII Art Saturn

Jako semestrální projekt do kurzu programování v C++ na vysoké škole jsem vytvořil konzolovou aplikaci, která převádí obrázky na ASCII art. Cílem bylo prohloubit znalosti programování v C++, včetně práce se soubory, zpracování obrázků, dědičnosti tříd, polymorfismu a tvorby konzolového rozhraní.

Aplikace načte vstupní obrázky, zpracuje je tak, aby mapovala jas pixelů na odpovídající ASCII znaky, a výsledný ASCII art zobrazí v konzoli nebo uloží do textového souboru. Součástí je kompletní konzolové uživatelské rozhraní s možností výběru obrázků, použití filtrů a přehrávání slideshow.

ASCII Art Car

Technické detaily

Aplikace je napsána v C++. NCurses vytváří konzolové rozhraní, zatímco LibPNG a LibJpeg načítají obrazové soubory. Samostatné třídy obsluhují načítání obrázků, filtry a prvky rozhraní.

Zpracování obrazu jsem implementoval ručně. Musel jsem pochopit formáty BMP, PNG a JPEG, abych správně detekoval typ souboru. Poté se obrazová data přečtou a převedou na stupně šedi. Jas každého pixelu se nakonec namapuje na konkrétní ASCII znak podle předdefinované sady znaků, kterou může uživatel změnit v konfiguračním souboru.

Použité technologie

  • C++
  • NCurses (konzolové rozhraní)
  • LibPNG (práce s PNG obrázky)
  • LibJpeg (práce s JPEG obrázky)
  • Make (automatizace buildu)