Skocz do zawartości

SKALA SZAROSCI


Omega

Recommended Posts

Ogłaszam wszem i wobec: Konwersję obrazka do odcieni szarości robi pinolec.
Na GUI zgodził się Piasiu, więć Intolowi pozostało wymyślenie sobie jakiejś pracy :). Jeżeli nic nie uda Ci się wymyślić to dostaniesz wczytywanie pcxów i pngów, a może nawet i ikonek.
Mam nadzieję, że nie obrazicie się również, jak najpierw wszystko wymyślę i ustalę (zaprojektuję ;-) ), a dopiero potem zajmę się pisaniem mojego modułu (co wiąże się z tym, że powstanie on długo długo po skończeniu Waszych modułów), a nie będę robić, jak planowałem, wszystkiego na raz. Postaram się do niedzieli wieczór (ewnentualnie do poniedziałku) napisać wam wszystkim dokładne specyfikacje wszystkiego ;-) i w ogole skończyć projektować.
Ps. Cieszę się, że niektórzy z Was już zaczeli, a inni juz nawet skończyli pisać swoje moduły - to sie nazywa duch walki. :)

Link do komentarza
Udostępnij na innych stronach

Algorytm na zamienianie obrazków BMP (już po konwersjach z innych formatów) na ASCII to coś innego niż to?:
> Pocinamy obrazek na kwadraty wielkości literek czcionki
> Zamieniamy kwadraciki na monochromatyczne (czyli czarno-białe ;-))
> Każdy kwadrat analizujemy pod kątem ilości pixeli identycznych z jakąś literką ("mapki" literek już mamy w pamięci) i ta która jest najbardziej podobna [literka] zostaje wstawiona do textu wynikowego

Nie bardzo rozumiem po co tu obracanie itd. Można by to zrobić na kilku wątkach... Jak bym sobie nie znalazł fuchy ;-) to zawsze mogę spróbować napisać jakiś "konkurencyjny" algorytm (nie wiem jak by było z jego prędkością).

Co do algorytmu z konwersją gif'a, może być trochę dziwnie z gif'ami które mają kilka klatek (animowanymi). Może zrobić jakiś format "nasz", tak aby można było zapisywać sekwencje obrazków "ASCII" (widziałem kiedyś film Atak Klonów w ASCII - lepsze od oryginału ;-))?

Przeczytałem wasze wypociny na IRC'u, i widzę że się dopiero z nim oswajacie ;-). Nie wiem czy dobrze pamiętam: kolejne spotkanie w walentynkową sobotę o 23:00 na kanale #winapi ?

Link do komentarza
Udostępnij na innych stronach

Konwersja do skali szarosci przydsala by sie do mojego modulu (przy okazji juz oblicza rozmiar bufora). Albo przyjmijmy, ze jest juz szary, wtedy wystarczy przemielic tylko jeden kanal i wyjdzie to samo. Z tego co pamietam spodkanie mialo byc w niedziele, dzis o tej godzinie co niektorzy moga byc zbyt zajeci.

Link do komentarza
Udostępnij na innych stronach

Rozumiem ze w moim module nie interesuje mnie skad wezme uchwyt obrazka, ja go poprostu dostane od innych (to sie nazywa isc na latwizne ;-) ). Czy bitmapy beda zalezne czy niezalezne od urzadzen? Bo to sie troche rozni ich organizacja w pamieci i musze to wiedziec. Zeby udowodnic ze moj modulek jest potrzebny powiem tyle, ze ktos moze chciec zrobic arta z bitmapy przekreconej i wtedy musialby ja obracac np. w paincie, a tak bedzie mial wygode. ;)

Link do komentarza
Udostępnij na innych stronach

Ja myślałem, że już ustalone, że następne spotkanie jest w niedziele o 23:00. Jeżeli nie to niniejszym to ustalam.
Co do gifów animowanych, to myślę, że raczej nei będziemy się bawili w robienie potem animowanych ascii artów. Po prostu będziemy przerabiali tylko pierwszą klatkę (albo środkową - zobaczymy). Konwersją filmów do ASCII artów, jak jeszcze będzie nam się chciało rozbudowywać ten projekt, zajmiemy się później.

intol napisał:
Algorytm na zamienianie obrazków BMP (już po konwersjach z innych formatów) na ASCII to coś innego niż to?:
> Pocinamy obrazek na kwadraty wielkości literek czcionki
> Zamieniamy kwadraciki na monochromatyczne (czyli czarno-białe )
> Każdy kwadrat analizujemy pod kątem ilości pixeli identycznych z jakąś literką ("mapki" literek już mamy w pamięci) i ta która jest najbardziej podobna [literka] zostaje wstawiona do textu wynikowego

to jest jedna z możliwości konwersji. Zajmuję się nią ja właśnie. Tylko ten sposób jaki Ty napisałeś jest niesty bardzo wolny (brute force), dlatego ja chciałem to zrobić za pomocą sieci Kohonena (powinno być szybsze, ale teraz zaczynam mieć wątpliwości).
To co napisałeś podsunęło mi jednak pewien pomysł na "robotę" dla Ciebie. Mógłbyś się zająć, wczytywaniem dowolnej czcionki (o stałej szerokości znaków) do, powiedzmy, bitmapy w pamięci (wszystkie literki po kolei w bitmapie, mającej wysokość taką jak literka i szerokość jak łączna szerokość wszystkich literek). Napiszcie, czy sądzicie, że coś takiego się przyda.

I jeszcze odrobinke odnośnie interfejsu między modułami. Między modułami, głownie, będzie przesyłany uchwyt do bitmapy. Twórców modułów, które te uchwyty otrzymują, nie obchodzi skąd te uchwyty będą (w programie testującym mogą sobie wczytać bitampkę z pliku, z zasobów, stworzyć w pamięci własną i na niej narysować - jak sobie chcą - jak ktoś potrzebuje botmape monochromatyczną to niech sobie odpowiednią zrobi). Wstępny obraz tego jak będzie wyglądała "wędrówka" danych między modułami przedstawia się następująco:

  • moduły wczytujące wczytują plik graficzny, tworzą w pamięci bitmapę i przekazują uchwyt do niej dalej
  • moduły modyfikujące modyfikują bitmapę z otrzymanego uchwytu i przekazują uchwyt dalej (możan też przyjąć, że po prostu modyfikują tę bitmapę i nie przekazują uchwytu, bo ten uchwyt istneije sobie w programie)
  • moduły konwertujące konwertują bitmapkę z otrzymanego uchwytu do ciągu znaków

Coraz bardziej obawiam się, że nei zdąże tego wszystkiego zaprojektować do jutra wieczorem (zwłaszcza, że wychodzę jutro o 12:00 i wracam 22:30 :) ), więc może urządzimy jeszcze jedno spotkanko w poniedziałek o 23:00?

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...