atarionline.pl RastaConverter by Jakub Dębski - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorilmenit
    • CommentTime25 Oct 2021
     
    Mogę już źle pamiętać, ale chyba Allegro było używane jedynie do wyświetlania i podglądu. FreeImage był wykorzystywany w preprocesie (np. do zmiany jasności czy nasycenia obrazka).
    • 2:
       
      CommentAuthorgienekp
    • CommentTime25 Oct 2021
     
    Może ta wersja z githuba jest jakoś ulepszona? Też wstępnie zakładałem, że allegro to tylko malowanie. Ale jak podłożyłem puste funkcje to był czarny PNG oraz rezultat wynikowy.

    Natomiast to co w załączniku to jest minimum, gdzie wszystko działa perfekcyjnie.
    • 3:
       
      CommentAuthoramarok
    • CommentTime23 Dec 2021 zmieniony
     
    Moi drodzy!

    W związku z nadchodzącymi Świętami Bożego Narodzenia chciałbym życzyć Wam spełnienia marzeń oraz wielu okazji i inspiracji do rozwijania Waszych pasji także tych z logo Atari :).

    Dużo zdrowia i pomyślności w Nowym Roku, oby był lepszy dla nas wszystkich!
    • 4:
       
      CommentAuthorgienekp
    • CommentTime26 Dec 2021 zmieniony
     
    Przyłączam się do życzeń,

    Wszystkiego Dobrego!
    • 5:
       
      CommentAuthorKaz
    • CommentTime26 Dec 2021
     
    Dzięki za życzenia panowie - wzajemności!

    Amarok - rysunek sztosik wyszedł!

    gienekp - fajne, w czym to rysowałeś - G2F?

    Oba pliczki wrzucam do archiwum.
    • 6:
       
      CommentAuthorKaz
    • CommentTime26 Dec 2021
     
    Odpowiedź gienekp przerzuciłem do tego wątku: ->link<-
    bo dotyczy jego własnego programu "Line Converter", i tam będziemy o tym dyskutować. Tutaj zostawiamy wątek z tematem "Rasta Convertera".
    • 7:
       
      CommentAuthorgienekp
    • CommentTime6 Jan 2022 zmieniony
     
    Jeżeli komuś przy zabawie RC ucieka paleta kolorów to proponuję taki trik.
    Instalujemy sobie ImageMagick (obsługiwany z linii komend).

    Przygotowujemy sobie obrazek w jakimś programie graficznym, robimy co tam trzeba itp. Skalujemy do 320x240...

    Zamieniamy ImageMagick'iem obrazek np. test.png na RGB:RAW
    convert -depth 8 test.png test.rgb


    Do drugiego kroku opracowałem: ->link<-
    Wpisujemy:
    rgb2atari test.rgb test.atari 30

    programik zamieni nam RGB:RAW na obrazek w palecie ATARI. Przy czym opierał będzie się na modelu matematycznym sygnału obrazu PAL. Kolory dobierane są dużo trafniej. Wartość 30 (dowolna od 0 - 100) to procentowy poziom odcięcia dla szarości. Im mniejsza liczba tym bardziej algorytm sięga po kolor względem szarości. Domyślnie jest 50 (procent).

    W kolejnym kroku używamy drugiego programiku ->link<-
    atari2rgb pal.act test.atari out.rgb

    otrzymamy RAW:RGB ale kolory będą dokładnie spasowane z naszą paletą

    Ostatni krok:
    convert -size 320x240 -depth 8 rgb:out.rgb final.png


    Taką parę palety "pal.act" i obrazka "final.png" podajemy do RastaConvertera, ale już bez żadnych dodatkowych(!) opcji. RC nic już nie będzie kombinował, ponieważ kolory w obrazku dokładnie pokrywają się z paletą.
    Mało tego, taki "final.png" można znowu poedytować w programie graficznym, stosując kolory z palety. Efekt jest taki, że RC ma dużo łatwiej i efekt docelowy jest bardziej przewidywany.

    Na całość najlepiej zrobić sobie skrypt automatyzujący cały proces.

    Przykład jak kolory są dopasowane poniżej.

    Edit: Dodałem przestrzeń barw
    • 8:
       
      CommentAuthoramarok
    • CommentTime6 Jan 2022
     
    Bardzo podoba mi się Twoje podejście do przygotowywania obrazka wejściowego dla RastaConvertera.

    Ja przyznam szczerze też bardzo mocno ingeruję w obrazki i w zdecydowanej większości przypadków obraz wejściowy jest już w palecie Atari.

    W moim przypadku uruchamiam na chwilę RC, żeby wygenerować obrazek docelowy czyli np. output.png-dst.png, który po pewnych retuszach traktuję właśnie jako wejście dla RC do właściwej konwersji. Czyli ostatecznie "Source" i "Destination" są tym samym.

    Jestem ciekaw czy spróbujesz dokonać konwersji obrazka, który umieściłeś. Gdyby chociaż częściowo przypominał ten po prawej, to byłby naprawdę świetny rezultat.
    • 9:
       
      CommentAuthorgienekp
    • CommentTime6 Jan 2022
     
    @amarok

    Ten trik powstał, między innymi po oglądnięciu Twojego YT, o tym jak robisz obrazki :)

    Bo inne jest podejście, jak ma być konwersja "głupi Jaś", a inna jeżeli grafik chce coś poprawić artystycznie.

    Obrazek się liczy stan aktualny poniżej:
    • 10:
       
      CommentAuthorgienekp
    • CommentTime7 Jan 2022 zmieniony
     
    Wydaje mi się, że wyszło bardzo fajnie.
    • 11:
       
      CommentAuthoramarok
    • CommentTime9 Jan 2022
     
    Wyszło zacnie. Podoba mi się zestawienie kolorów. Myślę, że najlepiej wyszło niebo z chmurami. Lubię takie efekty.

    Gdybym pracował nad tą konwersją to starałbym się wyeliminować liniowe artefakty w drzewach po prawej stronie w cieniach oraz zretuszowałbym pomarańczowe przebarwienie na polu.
    • 12:
       
      CommentAuthorgienekp
    • CommentTime9 Jan 2022
     
    No to jest efekt "taśmy", z algorytmu do algorytmu bez ingerencji człowieka.

    Po zamianie na paletę atari można sobie Gimpem dopikselować kolory oraz dać odetchnąć RC, żeby wyrobił ze zmianami. No ale to już nie automat.
    • 13: CommentAuthorilmenit
    • CommentTime10 Jan 2022
     
    A można prosić o porównanie wyniku atari2rgb do tego co jako .dst wygeneruje RC dla tej pal.act?
    • 14:
       
      CommentAuthorgienekp
    • CommentTime10 Jan 2022
     
    @ilmenit

    atari2rgb zamienia tylko wprost kolor z tabeli palety na rgb. Nic przy tym nie liczy. Więc jaka paleta taki wynik. Krok ten jest tylko dlatego, że RC łyka obrazy RGB. Coś trzeba mu dać, żeby przy liczeniu "dystansu" koloru RGB do palety uzyskać wynik minimalny.

    Jakby RC łykał wprost RAWy w 8-bitowej notacji ATARI to ten krok można by pominąć i przygotowanie obrazka, można by przerzucić na inne programy np. ImageMagic, Gimp, Photoshop itp., które mają dość ciekawe algorytmy dla obróbki obrazu.

    Natomiast rgb2atari to zamienia po YUV więc tak jak pokazuje YUVthreshold.png . Np. nie ma efektu, że niebieski ucieknie na fiolet.

    Kłopotem wszędzie jest brak kontroli nasycenia w ATARI. Jeżeli UV potraktować jako liczbę zespoloną, no to co zrobić jak moduł jest 0.1 a co jak 0.5. W dokumentacji ATARI jest, że producent w XE ustawił nasycenie na 0.23 (czyli 23%). No więc jak np. jakiś piksel ma |UV| równe 0.05 to czy potraktować jako szary czy jednak barwny? Ja dałem zwykły regulowany próg.
    • 15:
       
      CommentAuthorGravityWorm
    • CommentTime11 Jun 2022 zmieniony
     
    • 16:
       
      CommentAuthorGravityWorm
    • CommentTime11 Jun 2022 zmieniony
     
    • 17:
       
      CommentAuthorGravityWorm
    • CommentTime14 Jun 2022 zmieniony
     
    32 colors
    That artifact is visible only on the Atari800 emulator... Does not appear on Altirra... Can someone run it on real hardware?
    • 18: CommentAuthormkolodziejski
    • CommentTime14 Jun 2022 zmieniony
     
    • 19:
       
      CommentAuthorGravityWorm
    • CommentTime14 Jun 2022
     
    @mkolodziejski
    <3 Thank You! <3
    So Altirra works like real hardware. :) Nice. So sad I use emulator Atari800...
    • 20:
       
      CommentAuthorGravityWorm
    • CommentTime17 Jun 2022 zmieniony
     
    35 colors

    My first image with s = 100 000
    • 21:
       
      CommentAuthorKaz
    • CommentTime17 Jun 2022
     
    Piękne cosiki!
    • 22:
       
      CommentAuthorGravityWorm
    • CommentTime17 Jun 2022 zmieniony
     
    54 colors
    first image from Atari800 emulator
    second image from RastaConverter
    • 23:
       
      CommentAuthorGravityWorm
    • CommentTime1 Jul 2022 zmieniony
     
    11 colors
    486958 Arrokoth dwarf planet
    first image from Atari800 emulator
    second image from RastaConverter
    • 24: CommentAuthortebe
    • CommentTime1 Jul 2022
     
    ja poproszę w 100 milionach iteracji czarny ekran ;)
    • 25:
       
      CommentAuthorGravityWorm
    • CommentTime1 Aug 2022 zmieniony
     
    39 colors
    first image from Atari800 emulator
    second image from RastaConverter
    • 26:
       
      CommentAuthoramarok
    • CommentTime1 Aug 2022 zmieniony
     
    Skoro wątek żyje, z czego bardzo się cieszę :), to pozwolę sobie dorzucić moją dzisiejszą konwersję - Lorysy niebieskobrzuche.
    • 27:
       
      CommentAuthorsun
    • CommentTime2 Aug 2022
     
    czad.
    • 28: CommentAuthorgorgh
    • CommentTime2 Aug 2022
     
    świetne
    • 29:
       
      CommentAuthoramarok
    • CommentTime21 Dec 2022 zmieniony
     
    Moi drodzy,

    Pragnę złożyć Wam najserdeczniejsze życzenia z okazji zbliżających się Świąt Bożego Narodzenia. Niech będzie to niezapomniany czas spędzony w ciepłej, rodzinnej atmosferze. Życzę Wam również samych szczęśliwych dni w nadchodzącym roku oraz oczywiście szampańskiej zabawy sylwestrowej.
    • 30:
       
      CommentAuthorKaz
    • CommentTime24 Dec 2022
     
    Piękne życzenia i obrazek - ten drugi dorzucam do archiwum.
    • 31:
       
      CommentAuthoramarok
    • CommentTime21 Dec 2023 zmieniony
     
    Widzę, że wątek troszkę "przezimował" i przez ostatni rok nic się nie działo. Na szczęście magia świąt może sprawić, że i obrazki na Atari będą mówić ludzkim głosem ;)

    Tradycyjnie z okazji Świąt Bożego Narodzenia chciałbym życzym Wam niezapomnianych chwil w gronie najbliższych. A nadchodzący rok 2024 pełen wrażeń z najwspanialszym mikrokomputerem jaki kiedykolwiek powstał :D
    • 32:
       
      CommentAuthorpirx
    • CommentTime21 Dec 2023
     
    najssss
    • 33:
       
      CommentAuthorKaz
    • CommentTime21 Dec 2023
     
    Niesamowicie piękne.
    • 34: CommentAuthortebe
    • CommentTime21 Dec 2023
     
    tutaj może mało popularny wątek forum, ale na AAge jest stale aktualizowany

    ->link<-
    • 35:
       
      CommentAuthorKaz
    • CommentTime21 Dec 2023
     
    Tebe, ale to jest nasz wątek! Wiesz co robi ten wątek? On odpowiada żywotnym potrzebom całego społeczeństwa. To jest wątek na skalę naszych możliwości. Ty wiesz, co my robimy tym wątkiem? My otwieramy oczy niedowiarkom. Patrzcie - mówimy - to nasze, przez nas wykonane i to nie jest nasze ostatnie słowo i nikt nie ma prawa się przyczepić! :D
    • 36:
       
      CommentAuthorcrrn
    • CommentTime21 Dec 2023
     
    @Kaz
    ... i co się zrobi na wiosnę? ;)
    • 37:
       
      CommentAuthoramarok
    • CommentTime21 Dec 2023
     
    Ale że... oczko się odlepiło temu... wątku?
    • 38:
       
      CommentAuthorKaz
    • CommentTime21 Dec 2023
     
    Crrn - to na jesień! :) Na jesień, jak wątek zgnije, to się zrobi protokół zniszczenia, i każdy, kto wrzucał tu obrazki, dostanie swój procent od wartości wątku. Jako konsultant oczywiście! :)
    • 39: CommentAuthorilmenit
    • CommentTime3 dni temu
     
    Drodzy użytkownicy Rasta Converter,

    Po prawie 11 latach z radością ogłaszam nowe oficjalne wydanie Rasta Converter – Beta 9, dostępne na GitHubie.
    ->link<-
    Ta aktualizacja była możliwa dzięki niesamowitemu wkładowi naszej społeczności, w szczególności pomocy @Sheddy, który skutecznie przekonał mnie do wznowienia tego projektu.

    Nowa wersja zawiera wiele ulepszeń, w tym:
    - Naprawę błędu związanego ze zmianą położenia duszków, dzięki ciężkiej pracy Sheddy'ego i Phaerona.
    - Usunięcie zależności od biblioteki Allegro 4, zastąpionej przez nowocześniejszą wersję SDL2. Pozwoliło to na przygotowanie 64-bitowej wersji w celu poprawy wydajności i zwiększenia przestrzeni pamięci.
    - Zastosowanie kompilatora LLVM w celu zwiększenia szybkości i wydajności - dzięki Sheddy.
    - Usunięcie limitu wątków dla parametru /threads, umożliwiając bardziej równoległe przetwarzanie.
    - Dodanie domyślnej funkcji automatycznego zapisywania, która zapisuje wyniki co 100 000 iteracji.
    - Ulepszone procesy kompilacji dla Linuksa, dzięki dmsc i polluks.
    - Zaktualizowany plik pomocy, dzięki uprzejmości snicklin99.

    Należy pamiętać, że kod tej wersji został znacznie przepisany, więc możliwe jest, że zostały wprowadzone pewne błędy. Jeśli napotkasz jakiekolwiek problemy podczas korzystania z nowej wersji, daj znać, najlepiej zgłaszając błędy na GitHubie.
    • 40: CommentAuthortebe
    • CommentTime2 dni temu zmieniony
     
    GUI od Larka z tą wersją się nie dogaduje

    ale i tak dzięki za program :)
    • 41: CommentAuthorilmenit
    • CommentTime2 dni temu
     
    Niestety nie wiem co potrzebuje GUI od Larka i o ile wiem Larek już nie ma do niego źródła. Zakładam, że:
    - to 32bit proces i że potrzebuje nazwę RastaConverter.exe
    Możesz spróbować użyć wersji 32bit i zmienić nazwę na RastaConverter.exe ?
    • 42: CommentAuthortebe
    • CommentTime2 dni temu
     
    racja, wersja 32bit dogaduje się z GUI Larka
    • 43: CommentAuthorAmun-Ra
    • CommentTime1 dzień temu
     
    Na Debianie nie chce się skompilować. Podrzucę Ci w wolnej chwili na GH poprawki.
    • 44:
       
      CommentAuthorlaoo
    • CommentTime1 dzień temu
     
    Też jestem windowsiarzem i długo nie mogłem się przemóc, ale od kilku miesięcy robię sobie projekty w CMake. Też by warto było, bo ułatwiłoby kompilowanie na różnościach.
    • 45: CommentAuthorilmenit
    • CommentTime1 dzień temu
     
    Amun-Ra - dzięki, najlepiej jako pull request na Githuba. Zapomniałem, że jest tam też makefile.
    CMake nie znam. Laoo, byłbyś w stanie przerobić makefile na CMake?
    • 46:
       
      CommentAuthorlaoo
    • CommentTime19 godzin temu zmieniony
     
    Spróbowałem, ale poległem już na kompilacji - nie ogarniam nugeta. Pluje mi jakimiś niezrozumiałymi błędami, może mam jakiś syf na komputerze, nie wiem (w jednym miejscu pisze mi, że mam zainstalowane te pakiety, a przy kompilacji pisze, że nie mam).
    No ale tak to jest z tymi managerami pakietów do C++, wszystkie mają jedną wspólną cechę - nie działają :)

    Próbowałem jakoś to obejść bez nugeta, ale się poddaję, bo używasz dużo dziwnych zależność. pthreads trywialnie udało mi się zamienić na rzeczy z biblioteki standardowej, ale np FreeImage zakładasz że jest zbudowane obok na dysku, a sprawdziłem, że ta paczka jest wiekowa i nie ma nawet budowanie w CMake więc spiętrza trochę problemów. Chyba nie warto katować się z tym CMake jeżeli linuksowcy sobie jakoś radzą, a binarkę pod windowsa zawsze możesz wygenerować Ty
    • 47:
       
      CommentAuthorjhusak
    • CommentTime14 godzin temu zmieniony
     
    @ilmenit - warto poznać:

    wikipedia:

    CMake – wieloplatformowe narzędzie do automatycznego zarządzania procesem kompilacji programu. Jego główna cecha to niezależność od używanego kompilatora oraz platformy sprzętowej. CMake nie kompiluje programu samodzielnie, lecz tworzy pliki z regułami kompilacji dla konkretnego środowiska; przykładowo w systemie GNU/Linux będą to pliki Makefile, natomiast pod Windowsem – pliki projektu dla Microsoft Visual Studio.


    Więc wchodzisz po prostu na wyższy poziom abstrakcji :)

    ->link<-
    • 48: CommentAuthorilmenit
    • CommentTime6 godzin temu zmieniony
     
    odnośnie kompilacji dla linuxa to jest tam makefile ze starszej wersji. Zamiast -lalleg powinno byc teraz -lSDL2 i -lSDL2_ttf. Dodanych zostało też kilka plików do kompilacji. Na AtariAge ktoś pisał, że przerobi makefile do nowej wersji.
    FreeImage jest dostępny też w źródłach dla tych, co lubią pokombilować.
    Odnośnie CMake to widzę, że jest ->link<- ale nie wiem czy jest utrzymywany.
    Co do zmiany pthreads na natywne C++ to podeślij, byłbym ciekawy jak to zrobiłeś, bo to miałem i tak w planach.
    Co do Nuget packages takie coś znalazłem:

    Open the project in Visual Studio.
    Go to Project (right click) > Manage NuGet Packages.
    The NuGet Package Manager will open, and they should see the list of packages under the Installed tab if the packages are already referenced in the project file.
    If not, they can browse and install necessary packages via the Browse tab.